Re: [Bug ada/61201] New: Cross compile fails with SPARK_05 undefined

2014-10-31 Thread John zheng
rth at gcc dot gnu.org gcc-bugzilla at gcc.gnu.org writes:

 
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61201
 
 Bug ID: 61201
Summary: Cross compile fails with SPARK_05 undefined
Product: gcc
Version: unknown
 Status: UNCONFIRMED
   Severity: normal
   Priority: P3
  Component: ada
   Assignee: unassigned at gcc dot gnu.org
   Reporter: rth at gcc dot gnu.org
 
 restrict.ads:145:07: SPARK_05 is undefined (more references follow)
 gnatmake: /home/rth/work/gcc/git-4.9/gcc/ada/ali-util.adb compilation error
 make[3]: *** [gnatmake-re] Error 4
 make[3]: Leaving directory `/home/rth/work/gcc/bld-arm/gcc/ada/tools'
 make[2]: *** [gnattools-cross] Error 2
 make[2]: Leaving directory `/home/rth/work/gcc/bld-arm/gnattools'
 make[1]: *** [all-gnattools] Error 2
 make[1]: Leaving directory `/home/rth/work/gcc/bld-arm'
 make: *** [all] Error 2
 
 While this specific case is x86_64 cross arm, it happens with several
 other cross-compilation targets as well.
 
 

In template file gcc-x.x.x/gcc/gnattools\Makefile.in, there are some
variables showing:
# Variables for gnattools, native
TOOLS_FLAGS_TO_PASS_NATIVE= \
CC=../../xgcc -B../../ \
CXX=../../xg++ -B../../ $(CXX_LFLAGS) \
CFLAGS=$(CFLAGS) $(WARN_CFLAGS) \
LDFLAGS=$(LDFLAGS) \
ADAFLAGS=$(ADAFLAGS) \
ADA_CFLAGS=$(ADA_CFLAGS) \
INCLUDES=$(INCLUDES_FOR_SUBDIR) \
ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)\
exeext=$(exeext) \
fsrcdir=$(fsrcdir) \
srcdir=$(fsrcdir) \
GNATMAKE=../../gnatmake \
GNATLINK=../../gnatlink \
GNATBIND=../../gnatbind \
TOOLSCASE=native

# Variables for regnattools
TOOLS_FLAGS_TO_PASS_RE= \
CC=../../xgcc -B../../ \
CXX=../../xg++ -B../../ $(CXX_LFLAGS) \
CFLAGS=$(CFLAGS) \
LDFLAGS=$(LDFLAGS) \
ADAFLAGS=$(ADAFLAGS) \
ADA_CFLAGS=$(ADA_CFLAGS) \
INCLUDES=$(INCLUDES_FOR_SUBDIR) \
ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)\
exeext=$(exeext) \
fsrcdir=$(fsrcdir) \
srcdir=$(fsrcdir) \
GNATMAKE=../../gnatmake \
GNATLINK=../../gnatlink \
GNATBIND=../../gnatbind \
TOOLSCASE=cross
..
TOOLS_FLAGS_TO_PASS_CROSS= \
CC=$(CC) \
CXX=$(CXX) \
CFLAGS=$(CFLAGS) $(WARN_CFLAGS) \
LDFLAGS=$(LDFLAGS) \
ADAFLAGS=$(ADAFLAGS)  \
ADA_CFLAGS=$(ADA_CFLAGS) \
INCLUDES=$(INCLUDES_FOR_SUBDIR) \
ADA_INCLUDES=-I$(RTS_DIR)/../adainclude -I$(RTS_DIR)
$(ADA_INCLUDES_FOR_SUBDIR) \
exeext=$(exeext) \
fsrcdir=$(fsrcdir) \
srcdir=$(fsrcdir) \
GNATMAKE=$(GNATMAKE_FOR_HOST) \
GNATLINK=$(GNATLINK_FOR_HOST) \
GNATBIND=$(GNATBIND_FOR_HOST) \
TOOLSCASE=cross \
LIBGNAT=
. Notice environment variable ADA_INCLUDES sent to Makfile in
subdirectory, for native building, it is assigned to the ada include
directory of source files, but for cross building it is assigned to the ada
include directory of build toolchain. So for cross building, if the version
of the source is different from the version of the toolchain, there may be
some conflicts, such as constants declaration changes like
SPARK--SPARK_05. Therefore, for cross building new toolchain, it is
better to build a piece of native toolchain of the target version(upgrade or
download) first, then using the new native toolchain of the same version to
build the target cross toolchain. This will avoid the potential conflicts.







[Bug bootstrap/63695] New: [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

Bug ID: 63695
   Summary: [5 Regression] Bootstrapping with Ada is broken at
r216942
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dominiq at lps dot ens.fr

On x86_64-apple-darwin14 bootstrapping with Ada is broken at r216942 (r216914
is OK):

g++ -c  -DIN_GCC_FRONTEND -g  -DIN_GCC-fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wno-format  -Wmissing-format-attribute -Woverloaded-virtual
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common 
-DHAVE_CONFIG_H -I. -Iada -I../../work/gcc -I../../work/gcc/ada
-I../../work/gcc/../include -I./../intl -I../../work/gcc/../libcpp/include
-I/opt/mp/include  -I../../work/gcc/../libdecnumber
-I../../work/gcc/../libdecnumber/dpd -I../libdecnumber
-I../../work/gcc/../libbacktrace -DCLOOG_INT_GMP  -DCLOOG_INT_GMP
-I/opt/mp/include  -o ada/targtyps.o -MT ada/targtyps.o -MMD -MP -MF
ada/.deps/targtyps.TPo ../../work/gcc/ada/gcc-interface/targtyps.c
gcc -c -g   -gnatpg -gnatwns -gnata -W -Wall -nostdinc -I- -I. -Iada/generated
-Iada -I../../work/gcc/ada -I../../work/gcc/ada/gcc-interface
../../work/gcc/ada/a-ioexce.ads -o ada/a-ioexce.o
a-ioexce.ads:21:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:22:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:23:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:24:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:25:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:26:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:27:19: violation of restriction No_Elaboration_Code at
system.ads:53
a-ioexce.ads:28:19: violation of restriction No_Elaboration_Code at
system.ads:53
make[3]: *** [ada/a-ioexce.o] Error 1
make[3]: Leaving directory `/opt/gcc/build_w/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/opt/gcc/build_w'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/opt/gcc/build_w'
make: *** [all] Error 2

Note reaching this point requires the patches for pr63534 and pr63622.


[Bug ipa/63696] New: Alloc-dealloc-mismatch in ipa-icf.c

2014-10-31 Thread chefmax at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63696

Bug ID: 63696
   Summary: Alloc-dealloc-mismatch in ipa-icf.c
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chefmax at gcc dot gnu.org
CC: ygribov at gcc dot gnu.org
  Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
 Build: x86_64-pc-linux-gnu

Created attachment 33850
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33850action=edit
Trivial fix

Running ASan-boostrap on GCC 5, I ran into the problem:

$ cat /home/max/build/bootstrap-asan/x86_64-unknown-linux-gnu/libgcc/config.log



=
==22376==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new vs free)
on 0x60202430
#0 0x6b0cc9 in __interceptor_free
/home/max/workspace/downloads/gcc/libsanitizer/asan/asan_malloc_linux.cc:28
#1 0x250a6c3 in ipa_icf::sem_function::~sem_function()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:219
#2 0x250a988 in ipa_icf::sem_function::~sem_function()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:224
#3 0x250aaa2 in ipa_icf::sem_item_optimizer::~sem_item_optimizer()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:1286
#4 0x2516271 in ipa_icf_driver
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:2346
#5 0x2516271 in ipa_icf::pass_ipa_icf::execute(function*)
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:2391
#6 0x121ebfb in execute_one_pass(opt_pass*)
/home/max/workspace/downloads/gcc/gcc/passes.c:2159
#7 0x1220f46 in execute_ipa_pass_list(opt_pass*)
/home/max/workspace/downloads/gcc/gcc/passes.c:2553
#8 0xab3316 in ipa_passes
/home/max/workspace/downloads/gcc/gcc/cgraphunit.c:2065
#9 0xab3316 in symbol_table::compile()
/home/max/workspace/downloads/gcc/gcc/cgraphunit.c:2145
#10 0xab80d7 in symbol_table::finalize_compilation_unit()
/home/max/workspace/downloads/gcc/gcc/cgraphunit.c:2298
#11 0x72cad1 in c_write_global_declarations()
/home/max/workspace/downloads/gcc/gcc/c/c-decl.c:10779
#12 0x142ab81 in compile_file
/home/max/workspace/downloads/gcc/gcc/toplev.c:581
#13 0x636e4d in do_compile
/home/max/workspace/downloads/gcc/gcc/toplev.c:1988
#14 0x636e4d in toplev::main(int, char**)
/home/max/workspace/downloads/gcc/gcc/toplev.c:2085
#15 0x63a732 in main /home/max/workspace/downloads/gcc/gcc/main.c:38
#16 0x2b44e29db76c in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
#17 0x63b140 (/home/max/build/bootstrap-asan/gcc/cc1+0x63b140)

0x60202430 is located 0 bytes inside of 16-byte region
[0x60202430,0x60202440)
allocated by thread T0 here:
#0 0x6b1cc9 in operator new(unsigned long)
/home/max/workspace/downloads/gcc/libsanitizer/asan/asan_new_delete.cc:60
#1 0x24fd320 in ipa_icf::sem_function::init()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:736

SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
/home/max/workspace/downloads/gcc/libsanitizer/asan/asan_malloc_linux.cc:28
__interceptor_free
==22376==HINT: if you don't care about these warnings you may set
ASAN_OPTIONS=alloc_dealloc_mismatch=0
==22376==ABORTING
configure:3398: $? = 1
configure:3586: checking for suffix of object files
configure:3608: /home/max/build/bootstrap-asan/./gcc/xgcc
-B/home/max/build/bootstrap-asan/./gcc/
-B/home/max/install/bootstrap-asan/x86_64-unknown-linux-gnu/bin/
-B/home/max/install/bootstrap-asan/x86_64-unknown-linux-gnu/lib/ -isystem
/home/max/install/bootstrap-asan/x86_64-unknown-linux-gnu/include -isystem
/home/max/install/bootstrap-asan/x86_64-unknown-linux-gnu/sys-include-c -g
-O2  conftest.c 5
=
==22386==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new vs free)
on 0x60202430
#0 0x6b0cc9 in __interceptor_free
/home/max/workspace/downloads/gcc/libsanitizer/asan/asan_malloc_linux.cc:28
#1 0x250a6c3 in ipa_icf::sem_function::~sem_function()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:219
#2 0x250a988 in ipa_icf::sem_function::~sem_function()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:224
#3 0x250aaa2 in ipa_icf::sem_item_optimizer::~sem_item_optimizer()
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:1286
#4 0x2516271 in ipa_icf_driver
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:2346
#5 0x2516271 in ipa_icf::pass_ipa_icf::execute(function*)
/home/max/workspace/downloads/gcc/gcc/ipa-icf.c:2391
#6 0x121ebfb in execute_one_pass(opt_pass*)
/home/max/workspace/downloads/gcc/gcc/passes.c:2159
#7 0x1220f46 in execute_ipa_pass_list(opt_pass*)
/home/max/workspace/downloads/gcc/gcc/passes.c:2553
#8 0xab3316 in ipa_passes

[Bug sanitizer/63697] New: -fsanitize=undefined doesn't detect some subtraction overflows

2014-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63697

Bug ID: 63697
   Summary: -fsanitize=undefined doesn't detect some subtraction
overflows
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: sanitizer
  Assignee: jakub at gcc dot gnu.org
  Reporter: jakub at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org

__attribute__((noinline, noclone)) int
foo1 (int x, int y)
{
  return x - y;
}

__attribute__((noinline, noclone)) int
foo2 (int x, int y)
{
  unsigned int xa = (unsigned int) x - (__INT_MAX__ - 3);
  xa = 3;
  x = __INT_MAX__ - 3 + xa;
  unsigned int ya = y + 1U;
  ya = 1;
  y = ya - 1;
  return x - y;
}

int
main ()
{
  int xm1, y;
  for (xm1 = __INT_MAX__ - 4; xm1  __INT_MAX__; xm1++)
for (y = -1; y = 0; y++)
  if (foo1 (xm1 + 1, y) != (int) (xm1 + 1U - y)
  || foo2 (xm1 + 1, y) != (int) (xm1 + 1U - y))
__builtin_abort ();
  return 0;
}

detects, due to bug in VRP, at -O2 -fsanitize=undefined just the overflow in
foo1, but not the one in foo2.


[Bug libstdc++/63698] New: std::set leaks nodes on assignement

2014-10-31 Thread adl at lrde dot epita.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

Bug ID: 63698
   Summary: std::set leaks nodes on assignement
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: adl at lrde dot epita.fr

Compiling a project of mine with the latest gcc-snapshot distributed by Debian
(g++ (Debian 20141016-1) 5.0.0 20141016 (experimental) [trunk revision
216349]), I started to get memory leaks.

I reduced the problem to this small scenario:

% cat foo.cc
#include set

int main()
{
  std::setint v{2,1};   // The order of 2 and 1 is important.
  std::setint w{6,5,4};
  v = w;
  return v.size();
}
% g++ -std=c++11 foo.cc -g -Wall
% valgrind --leak-check=yes -q ./a.out
==30757== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1
==30757==at 0x4C29180: operator new(unsigned long)
(vg_replace_malloc.c:324)
==30757==by 0x40277D: __gnu_cxx::new_allocatorstd::_Rb_tree_nodeint
::allocate(unsigned long, void const*) (new_allocator.h:104)
==30757==by 0x4026F8:
std::allocator_traitsstd::allocatorstd::_Rb_tree_nodeint 
::allocate(std::allocatorstd::_Rb_tree_nodeint , unsigned long)
(alloc_traits.h:360)
==30757==by 0x402668: std::_Rb_treeint, int, std::_Identityint,
std::lessint, std::allocatorint ::_M_get_node() (stl_tree.h:485)
==30757==by 0x40238D: std::_Rb_tree_nodeint* std::_Rb_treeint, int,
std::_Identityint, std::lessint, std::allocatorint ::_M_create_nodeint
const(int const) (stl_tree.h:539)
==30757==by 0x4021BE: std::_Rb_tree_nodeint* std::_Rb_treeint, int,
std::_Identityint, std::lessint, std::allocatorint
::_Alloc_node::operator()int const(int const) const (stl_tree.h:453)
==30757==by 0x401D82: std::_Rb_tree_iteratorint std::_Rb_treeint, int,
std::_Identityint, std::lessint, std::allocatorint ::_M_insert_int
const, std::_Rb_treeint, int, std::_Identityint, std::lessint,
std::allocatorint ::_Alloc_node(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, int const, std::_Rb_treeint, int,
std::_Identityint, std::lessint, std::allocatorint ::_Alloc_node)
(stl_tree.h:1381)
==30757==by 0x401324: std::_Rb_tree_iteratorint std::_Rb_treeint, int,
std::_Identityint, std::lessint, std::allocatorint
::_M_insert_unique_int const, std::_Rb_treeint, int, std::_Identityint,
std::lessint, std::allocatorint
::_Alloc_node(std::_Rb_tree_const_iteratorint, int const,
std::_Rb_treeint, int, std::_Identityint, std::lessint,
std::allocatorint ::_Alloc_node) (stl_tree.h:1850)
==30757==by 0x400EF3: void std::_Rb_treeint, int, std::_Identityint,
std::lessint, std::allocatorint ::_M_insert_uniqueint const*(int const*,
int const*) (stl_tree.h:2096)
==30757==by 0x400D0B: std::setint, std::lessint, std::allocatorint
::set(std::initializer_listint, std::lessint const, std::allocatorint
const) (stl_set.h:225)
==30757==by 0x400A6A: main (foo.cc:5)


I suspect this is related to what was implemented for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29988


[Bug ipa/63696] Alloc-dealloc-mismatch in ipa-icf.c

2014-10-31 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63696

--- Comment #1 from Martin Liška marxin at gcc dot gnu.org ---
Thank you Maxim for the fix, please send it to patches mailing list.

Martin

[Bug sanitizer/63697] -fsanitize=undefined doesn't detect some subtraction overflows

2014-10-31 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63697

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-10-31
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.


[Bug sanitizer/63697] -fsanitize=undefined doesn't detect some subtraction overflows

2014-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63697

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 33851
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33851action=edit
gcc5-pr63697.patch

Untested fix.  This has been actually found by code inspection when working on
a different patch.


[Bug middle-end/63311] [4.9/5 Regression] -O1 optimization introduces valgrind warning

2014-10-31 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63311

Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed:

   What|Removed |Added

 CC||Joost.VandeVondele at mat dot 
ethz
   ||.ch

--- Comment #5 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
(In reply to Jakub Jelinek from comment #3)
 Started with r208687 , so possibly a latent bug is no longer latent after
 the FE changes.

It also reproduces with a C instead of with a Fortran testcase (as derived from
the .original dump). To be attached in a second:

 gcc -O1 -std=c11 -g PR63311.c -lm  valgrind ./a.out
==36918== Conditional jump or move depends on uninitialised value(s)
==36918==at 0x40056C: test (PR63311.c:41)
==36918==by 0x40061F: main (PR63311.c:130)
==36918== ERROR SUMMARY: 4 errors from 1 contexts (suppressed: 6 from 6)

 gcc -O0 -std=c11 -g PR63311.c -lm  valgrind ./a.out
==36936== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 6 from 6)


[Bug middle-end/63311] [4.9/5 Regression] -O1 optimization introduces valgrind warning

2014-10-31 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63311

--- Comment #6 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
Created attachment 33852
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33852action=edit
C testcase

warning with : gcc -O1 -std=c11 -g PR63311.c -lm  valgrind ./a.out


[Bug bootstrap/63624] [5.0 regression] internal compiler error: in unify_one_argument, at cp/pt.c:16638 breaks m68k-linux bootstrap

2014-10-31 Thread mikpelinux at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63624

Mikael Pettersson mikpelinux at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Mikael Pettersson mikpelinux at gmail dot com ---
Fixed in gcc-5-20141026.


[Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-10-31
  Known to work||4.8.2, 4.9.2
Summary|std::set leaks nodes on |[5 Regression] std::set
   |assignment  |leaks nodes on assignment
 Ever confirmed|0   |1
  Known to fail||5.0

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
(In reply to Alexandre Duret-Lutz from comment #0)
 I suspect this is related to what was implemented for
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29988

Probably that, thanks for the minimal testcase.


[Bug bootstrap/63695] [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||charlet at gcc dot gnu.org
   Target Milestone|--- |5.0


[Bug other/63694] [5.0 Regression] Build error compiling asan.c: strtoull undeclared

2014-10-31 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63694

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to John David Anglin from comment #1)
 It looks like libiberty.h is included but the generated libiberty/config.h
 seems incorrect:
 
 /* Define to 1 if you have the declaration of `strtoull', and to 0 if you
don't. */
 /* #undef HAVE_DECL_STRTOULL */
 
 /* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
don't. */
 #define HAVE_DECL_STRVERSCMP 0
 
 It seems like we should have
 
 #define HAVE_DECL_STRTOULL 0

That's equivalent unless somebody else defines HAVE_DECL_STRTOULL to 1.

-E -dD output of asan.c?

 2014-10-28  Yury Gribov  y.gri...@samsung.com
 
 * strtoll.c: New file.
 * strtoull.c: New file.
 * configure.ac: Add long long checks.  Add harness for strtoll and
 strtoull.  Check decls for strtol, strtoul, strtoll, strtoull.
 * Makefile.in (CFILES, CONFIGURED_OFILES): Add strtoll and strtoull.
 * config.in: Regenerate.
 * configure: Regenerate.
 * functions.texi: Regenerate.
 * testsuite/Makefile.in (check-strtol): New rule.
 (test-strtol): Likewise.
 (mostlyclean): Clean up strtol test.
 * testsuite/test-strtol.c: New test.


[Bug bootstrap/63695] [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread charlet at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

Arnaud Charlet charlet at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2014-10-31
 Ever confirmed|0   |1

--- Comment #1 from Arnaud Charlet charlet at gcc dot gnu.org ---
Can you clarify the exact version of your bootstrap Ada compiler?
I suspect this is the issue here. Your bootstrap compiler is likely faulty
here (likely an old 4.10 snapshot?), and e.g. reverting to 4.9.x as your
bootstrap compiler should address this issue.

Arno


[Bug c++/63692] Temporary object stack space is not re-used

2014-10-31 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63692

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
for compile-time speed.


[Bug lto/63688] all_symbols_read_handler: Assertion `lto_wrapper_argv' failed.

2014-10-31 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63688

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-10-31
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug ipa/63696] Alloc-dealloc-mismatch in ipa-icf.c

2014-10-31 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63696

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-10-31
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed - valgrind also complains about this.


[Bug target/63661] [4.9/5 Regression] -O2 miscompiles on OSX 10.10 Yosemite

2014-10-31 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63661

--- Comment #18 from Martin Jambor jamborm at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #14)
 Started with r204698 , you can use -O2 -fpic -mtune=corei7 in compilers that
 don't grok -mtune=nehalem.

So it's probably mine.  I will take a look but please be patient, it
may take a week or probably two.


[Bug other/63694] [5.0 Regression] Build error compiling asan.c: strtoull undeclared

2014-10-31 Thread y.gribov at samsung dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63694

Yury Gribov y.gribov at samsung dot com changed:

   What|Removed |Added

 CC||y.gribov at samsung dot com

--- Comment #3 from Yury Gribov y.gribov at samsung dot com ---
(In reply to John David Anglin from comment #0)
 Maybe asan.c should include libiberty.h

Yeah and probably also s/HAVE_LONG_LONG/HAVE_DECL_STRTOULL/ (or maybe
HAVE_STRTOULL?).


[Bug ipa/63696] Alloc-dealloc-mismatch in ipa-icf.c

2014-10-31 Thread chefmax at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63696

--- Comment #3 from Maxim Ostapenko chefmax at gcc dot gnu.org ---
Author: chefmax
Date: Fri Oct 31 10:53:36 2014
New Revision: 216954

URL: https://gcc.gnu.org/viewcvs?rev=216954root=gccview=rev
Log:
gcc/

2014-10-31  Max Ostapenko  m.ostape...@partner.samsung.com

PR ipa/63696
* ipa-icf.c (sem_function::~sem_function): Change free to delete to
avoid
alloc-dealloc mismatch with new, called in ipa_icf::sem_function::init.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf.c


[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

--- Comment #19 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Vladimir Makarov from comment #18)
 (In reply to Jeffrey A. Law from comment #17)
  So would it work (and I realize this is a horrid hack) to have a way for the
  backend to set the pic-pseudo as live at the key points during IRA?  It'll
  be overly conservative, but it may still be better than going back to a
  fixed PIC register.  If we had the conservative live information during IRA,
  presumably it would flow through to LRA and avoid this problem?
 
 I believe it will disable the optimization completely too.  It is up to
 Intel guys to decide how to disable the optimization *temporarily* with
 minimal efforts most probably only for 2 weeks.

Following patch mitigates bootstrap problems:

--cut here--
Index: config/i386/i386.md
===
--- config/i386/i386.md (revision 216952)
+++ config/i386/i386.md (working copy)
@@ -2736,7 +2736,10 @@
 (define_insn *pushtf
   [(set (match_operand:TF 0 push_operand =,)
(match_operand:TF 1 general_no_elim_operand x,*roF))]
-  TARGET_64BIT || TARGET_SSE
+  (TARGET_64BIT || TARGET_SSE)
+(!can_create_pseudo_p ()
+   || GET_CODE (operands[1]) != CONST_DOUBLE
+   || standard_sse_constant_p (operands[1]))
 {
   /* This insn should be already split before reg-stack.  */
   gcc_unreachable ();
@@ -2761,7 +2764,9 @@
 (define_insn *pushxf
   [(set (match_operand:XF 0 push_operand =,)
(match_operand:XF 1 general_no_elim_operand f,Yx*roF))]
-  
+  !can_create_pseudo_p ()
+   || GET_CODE (operands[1]) != CONST_DOUBLE
+   || standard_80387_constant_p (operands[1])  0
 {
   /* This insn should be already split before reg-stack.  */
   gcc_unreachable ();
@@ -2792,7 +2797,12 @@
 (define_insn *pushdf
   [(set (match_operand:DF 0 push_operand =,,,)
(match_operand:DF 1 general_no_elim_operand f,Yd*roF,rmF,x))]
-  
+  !can_create_pseudo_p ()
+   || GET_CODE (operands[1]) != CONST_DOUBLE
+   || (!(TARGET_SSE2  TARGET_SSE_MATH)
+standard_80387_constant_p (operands[1])  0)
+   || (TARGET_SSE2  TARGET_SSE_MATH
+standard_sse_constant_p (operands[1]))
 {
   /* This insn should be already split before reg-stack.  */
   gcc_unreachable ();
--cut here--

The above patch solves all but corner problems, but generates non-optimal push
sequences for constants when general registers are available.

So, we can refer to the above hacky patch to fix current bootstrap problems.
This way it is possible to survive a couple of weeks, until the real fix is
available.

[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||dominiq at lps dot ens.fr,
   ||fxcoudert at gcc dot gnu.org,
   ||mikestump at comcast dot net

--- Comment #20 from Uroš Bizjak ubizjak at gmail dot com ---
Adding Darwin people to CC.

[Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 CC||fdumont at gcc dot gnu.org
   Severity|normal  |major

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Francois, the bug is in _Reuse_or_alloc_node::_M_extract which returns a node
that has a child. When we reuse the node the child is lost.

The LHS of the assignment looks like this:

(gdb) p this-_M_impl._M_header
$1 = {_M_color = std::_S_red, _M_parent = 0x605010, _M_left = 0x605040,
_M_right = 0x605010}
(gdb) p *$1._M_left
$2 = {_M_color = std::_S_red, _M_parent = 0x605010, _M_left = 0x0, _M_right =
0x0}
(gdb) p *$1._M_right
$3 = {_M_color = std::_S_black, _M_parent = 0x7fffd668, _M_left = 0x605040,
_M_right = 0x0}

When that gets handed to the _Reuse_or_alloc_node
this-_M_impl._M_header._M_right-_M_parent gets set to null, so when
_M_extract returns 0x605010 it thinks it has no more nodes to reuse.


[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu

2014-10-31 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573

--- Comment #6 from Jan Hubicka hubicka at gcc dot gnu.org ---
OK, so the problem is the following. There is a parameter that is passed by
reference. Because it is a single scalar (packed in structure) it gets promoted
to register by function.c as an optimization. This however is not welcome by
the tail call expansion code that needs to use original memory location to pass
the parameter further.

The original memory location is still linked by DECL_INCOMING_RTL that is
readily available:
Index: expr.c
===
--- expr.c  (revision 216942)
+++ expr.c  (working copy)
@@ -7660,6 +7660,13 @@ expand_expr_addr_expr_1 (tree exp, rtx t
modifier == EXPAND_INITIALIZER
? EXPAND_INITIALIZER : EXPAND_CONST_ADDRESS);

+  if (!MEM_P (result)
+   TREE_ADDRESSABLE (exp)
+   TREE_CODE (exp) == PARM_DECL
+   DECL_INCOMING_RTL (exp)
+   MEM_P (DECL_INCOMING_RTL (exp)))
+result = DECL_INCOMING_RTL (exp);
+
  /* If the DECL isn't in memory, then the DECL wasn't properly
 marked TREE_ADDRESSABLE, which will be either a front-end
 or a tree optimizer bug.  */

this patch lets me to continue in bootstrap.  I am bit concerned about its
safety however: DECL_RTL and DECL_INCOMING_RTL may not be kept in sync in real
function (not thunk) and at this point we do not have any way to assert that we
are not expanding thunk. However I think this is only place I can think of
where TREE_ADDRESSABLE flag is validly set on value that is not in memory.

Perhaps we could replace DECL_RTL by DECL_INCOMMING_RTL instead in calls.c at
the place we mark it addressable to make IL more consistent?


[Bug sanitizer/63697] -fsanitize=undefined doesn't detect some subtraction overflows

2014-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63697

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Oct 31 11:18:13 2014
New Revision: 216962

URL: https://gcc.gnu.org/viewcvs?rev=216962root=gccview=rev
Log:
PR sanitizer/63697
* tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
instead of vr0.min - vr1.min and vr0.max - vr1.max.

* c-c++-common/ubsan/overflow-sub-3.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/ubsan/overflow-sub-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vrp.c


[Bug bootstrap/63695] [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 Can you clarify the exact version of your bootstrap Ada compiler?
 I suspect this is the issue here. Your bootstrap compiler is likely faulty
 here (likely an old 4.10 snapshot?), and e.g. reverting to 4.9.x as your 
 bootstrap
 compiler should address this issue.

I have bootstrapped gcc5 from r216098 up to r216914 with

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc/gcc4.10a/libexec/gcc/x86_64-apple-darwin13.4.0/5.0.0/lto-wrapper
Target: x86_64-apple-darwin13.4.0--- maverick
Configured with: ../_clean/configure --prefix=/opt/gcc/gcc4.10a
--enable-languages=c,c++,fortran,ada,lto --with-gmp=/opt/mp --with-system-zlib
--enable-checking=release --with-isl=/opt/mp --enable-lto --enable-plugin
Thread model: posix
gcc version 5.0.0 20141010 (experimental) [trunk revision 216098] (GCC) 

I have successfully bootstrapped r216952 with

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc/gcc4.9wr/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/lto-wrapper
Target: x86_64-apple-darwin14.0.0--- yosemite
Configured with: ../4.9_work/configure --prefix=/opt/gcc/gcc4.9wr
--enable-languages=c,c++,fortran,objc,obj-c++,ada,java,lto --with-gmp=/opt/mp
--with-system-zlib --with-isl=/opt/mp --enable-lto --enable-plugin
Thread model: posix
gcc version 4.9.2 20141019 (prerelease) [4.9 branch revision 216436p1] (GCC)


[Bug bootstrap/63695] [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread charlet at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

Arnaud Charlet charlet at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Arnaud Charlet charlet at gcc dot gnu.org ---
OK, so this confirms my suspicion: you had an unsuitable snapshot as your
Ada bootstrap compiler.

Arno


[Bug testsuite/63211] gcc.target/i386/avx2-*.c tests use broken type-punning

2014-10-31 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63211

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||kyukhin at gcc dot gnu.org

--- Comment #1 from Uroš Bizjak ubizjak at gmail dot com ---
Adding CC.

[Bug bootstrap/63695] [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

--- Comment #4 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 OK, so this confirms my suspicion: you had an unsuitable snapshot as your
 Ada bootstrap compiler.

 Arno

Well, this does not answer my underlying question: what made my bootstrap
compiler unsuitable after the batch of commits circa 216930?


[Bug sanitizer/63697] -fsanitize=undefined doesn't detect some subtraction overflows

2014-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63697

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Oct 31 11:33:13 2014
New Revision: 216966

URL: https://gcc.gnu.org/viewcvs?rev=216966root=gccview=rev
Log:
PR sanitizer/63697
* tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
instead of vr0.min - vr1.min and vr0.max - vr1.max.

* c-c++-common/ubsan/overflow-sub-3.c: New test.

Added:
branches/gcc-4_9-branch/gcc/testsuite/c-c++-common/ubsan/overflow-sub-3.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-vrp.c


[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu

2014-10-31 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573

--- Comment #7 from Jan Hubicka hubicka at gcc dot gnu.org ---
This is the alternative patch resetting DECL_RTL in calls.c
Index: calls.c
===
--- calls.c (revision 216942)
+++ calls.c (working copy)
@@ -1210,6 +1210,15 @@ initialize_argument_information (int num
   TREE_CODE (base) != SSA_NAME
   (!DECL_P (base) || MEM_P (DECL_RTL (base)
{
+ /* Argument setup code may have copied the value to register.  We
+that optimization now because the tail call code must use
+the original location.  */
+ if (TREE_CODE (args[i].tree_value) == PARM_DECL
+  !MEM_P (DECL_RTL (args[i].tree_value))
+  DECL_INCOMING_RTL (args[i].tree_value)
+  MEM_P (DECL_RTL (args[i].tree_value)))
+   set_decl_rtl (args[i].tree_value, DECL_INCOMING_RTL
(args[i].tree_value));
+
  mark_addressable (args[i].tree_value);

  /* We can't use sibcalls if a callee-copied argument is


[Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org ---
Created attachment 33853
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33853action=edit
try to fix leak

The rightmost node is not necessarily a leaf, so set _M_nodes to
_M_rightmost()-_M_left if that exists.

Also simplify the constructor as it only needs one argument.


[Bug bootstrap/63695] [5 Regression] Bootstrapping with Ada is broken at r216942

2014-10-31 Thread charlet at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63695

--- Comment #5 from Arnaud Charlet charlet at gcc dot gnu.org ---
The addition of pragma No_Elaboration_Code_All in system.ads, which wasn't
properly supported by your bootstrap compiler.

In order to bootstrap with this change you either need an older compiler which
doesn't know (and will ignore) about pragma No_Elaboration_Code_All, or knows
about it and handles it properly (case for very recent compilers, but not
yours).

Note that strictly speaking you should always use a stable release as your
bootstrap compiler, and not a snapshot, precisely to avoid this kind of
subtle temporary issues (which are very rare, but may occur).

Hope everything is now clear!


[Bug ada/63656] a-tags.adb:82:04: warning: types for unchecked conversion have different sizes

2014-10-31 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63656

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-10-31
 CC||ebotcazou at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 Found similar bug #56030. It wasn't fixed because X32 isn't usable for
 Ada. but regular x86 32bit are usable (I assume).

Bold assumption... you need do something along the lines of PR ada/56030, i.e.
modify ada/gcc-interface/Makefile.in

# Make arch match the current multilib so that the RTS selection code
# picks up the right files. For a given target this must be coherent
# with MULTILIB_DIRNAMES defined in gcc/config/target/t-*.

ifeq ($(strip $(filter-out %x86_64, $(target_cpu))),)
  ifeq ($(strip $(MULTISUBDIR)),/32)
target_cpu:=i686
  else
ifeq ($(strip $(MULTISUBDIR)),/x32)
  target_cpu:=x32
endif
  endif
endif

so that target_cpu:=i686 is selected, see $(builddir)/gcc/multilib.h.


[Bug rtl-optimization/63259] Detecting byteswap sequence

2014-10-31 Thread thopre01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63259

--- Comment #5 from thopre01 at gcc dot gnu.org ---
Author: thopre01
Date: Fri Oct 31 11:55:07 2014
New Revision: 216971

URL: https://gcc.gnu.org/viewcvs?rev=216971root=gccview=rev
Log:
2014-10-31  Thomas Preud'homme  thomas.preudho...@arm.com

gcc/
PR tree-optimization/63259
* tree-ssa-math-opts.c (bswap_replace): Replace expression by a
rotation left if it is a 16 bit byte swap.
(pass_optimize_bswap::execute): Also consider bswap in LROTATE_EXPR
and RROTATE_EXPR statements if it is a byte rotation.

gcc/testsuite/
PR tree-optimization/63259
* optimize-bswapsi-1.c (swap32_f): New bswap pass test.
* optimize-bswaphi-1.c: Drop useless SIType definition and fix typo in
following comment.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/optimize-bswaphi-1.c
trunk/gcc/testsuite/gcc.dg/optimize-bswapsi-1.c
trunk/gcc/tree-ssa-math-opts.c


[Bug other/63694] [5.0 Regression] Build error compiling asan.c: strtoull undeclared

2014-10-31 Thread dave.anglin at bell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63694

--- Comment #4 from dave.anglin at bell dot net ---
On 31-Oct-14, at 6:28 AM, y.gribov at samsung dot com wrote:

 Yeah and probably also s/HAVE_LONG_LONG/HAVE_DECL_STRTOULL/ (or maybe
 HAVE_STRTOULL?).

Yes.

--
John David Anglindave.ang...@bell.net


[Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org ---
Does the same problem still exist in _M_extract?

This loop moves _M_nodes to the rightmost node again:

  while (_M_nodes-_M_right)
_M_nodes = _M_nodes-_M_right;

Can that node have an _M_left child?


[Bug other/63699] New: bootstrap fails with Apple clang 6.0

2014-10-31 Thread howarth at bromo dot med.uc.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63699

Bug ID: 63699
   Summary: bootstrap fails with Apple clang 6.0
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: howarth at bromo dot med.uc.edu

Current gcc trunk fails to bootstrap on x86_64-apple-darwin14 (using the other
current proposed bootstrap patches for darwin) due to the following compiler
error against the clang 6.0 compilers...

make[4]: Entering directory
`/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/libcc1'
/bin/sh ./libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
-I../../gcc-5.0-20141029/libcc1  -I ../../gcc-5.0-20141029/libcc1/../include -I
../../gcc-5.0-20141029/libcc1/../libgcc -I .././gcc
-I../../gcc-5.0-20141029/libcc1/../gcc -I
../../gcc-5.0-20141029/libcc1/../gcc/c -I
../../gcc-5.0-20141029/libcc1/../gcc/c-family -I
../../gcc-5.0-20141029/libcc1/../libcpp/include -I/sw/include -I/sw/include  
-W -Wall  -fvisibility=hidden -g -MT plugin.lo -MD -MP -MF .deps/plugin.Tpo -c
-o plugin.lo ../../gcc-5.0-20141029/libcc1/plugin.cc
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../gcc-5.0-20141029/libcc1 -I
../../gcc-5.0-20141029/libcc1/../include -I
../../gcc-5.0-20141029/libcc1/../libgcc -I .././gcc
-I../../gcc-5.0-20141029/libcc1/../gcc -I
../../gcc-5.0-20141029/libcc1/../gcc/c -I
../../gcc-5.0-20141029/libcc1/../gcc/c-family -I
../../gcc-5.0-20141029/libcc1/../libcpp/include -I/sw/include -I/sw/include -W
-Wall -fvisibility=hidden -g -MT plugin.lo -MD -MP -MF .deps/plugin.Tpo -c
../../gcc-5.0-20141029/libcc1/plugin.cc  -fno-common -DPIC -o .libs/plugin.o
In file included from ../../gcc-5.0-20141029/libcc1/plugin.cc:34:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/gcc-plugin.h:29:
../../gcc-5.0-20141029/libcc1/../gcc/coretypes.h:62:1: warning: class 'rtx_def'
was previously declared as a struct [-Wmismatched-tags]
class rtx_def;
^
../../gcc-5.0-20141029/libcc1/../gcc/coretypes.h:55:8: note: previous use is
here
struct rtx_def;
   ^
In file included from ../../gcc-5.0-20141029/libcc1/plugin.cc:34:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/gcc-plugin.h:33:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/hash-set.h:24:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/hash-table.h:200:
../../gcc-5.0-20141029/libcc1/../gcc/ggc.h:315:15: warning: struct 'rtx_def'
was previously declared as a class [-Wmismatched-tags]
static inline struct rtx_def *
  ^
../../gcc-5.0-20141029/libcc1/../gcc/coretypes.h:62:7: note: previous use is
here
class rtx_def;
  ^
In file included from ../../gcc-5.0-20141029/libcc1/plugin.cc:34:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/gcc-plugin.h:33:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/hash-set.h:24:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/hash-table.h:200:
../../gcc-5.0-20141029/libcc1/../gcc/ggc.h:318:11: warning: struct 'rtx_def'
was previously declared as a class [-Wmismatched-tags]
  return (struct rtx_def *) ggc_internal_alloc (s PASS_MEM_STAT);
  ^
../../gcc-5.0-20141029/libcc1/../gcc/coretypes.h:62:7: note: previous use is
here
class rtx_def;
  ^
In file included from ../../gcc-5.0-20141029/libcc1/plugin.cc:40:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/tree-core.h:29:
In file included from ../../gcc-5.0-20141029/libcc1/../gcc/double-int.h:23:
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:370:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:377:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:384:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:394:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:401:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:411:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:422:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:886:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:965:3: warning: extraneous
template parameter list in template specialization
  template 
  ^~~
../../gcc-5.0-20141029/libcc1/../gcc/wide-int.h:1127:1: 

[Bug other/63699] bootstrap fails with Apple clang 6.0

2014-10-31 Thread howarth at bromo dot med.uc.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63699

--- Comment #1 from howarth at bromo dot med.uc.edu ---
Created attachment 33854
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33854action=edit
proposed fix for compilation error against clang 6.0 compilers

The attached patch resolves the bootstrap compilation error on
x86_64-apple-darwin14 against the clang 6.0 (3.5svn) compilers.


[Bug target/63534] [5 Regression] Bootstrap failure on x86_64/i686-linux

2014-10-31 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534

--- Comment #53 from ienkovich at gcc dot gnu.org ---
Author: ienkovich
Date: Fri Oct 31 13:30:06 2014
New Revision: 216975

URL: https://gcc.gnu.org/viewcvs?rev=216975root=gccview=rev
Log:
gcc/

PR target/63534
* config/i386/i386.c (ix86_init_pic_reg): Emit SET_GOT to
REAL_PIC_OFFSET_TABLE_REGNUM for mcount profiling.
(ix86_save_reg): Save REAL_PIC_OFFSET_TABLE_REGNUM when profiling
using mcount in 32bit PIC mode.
(ix86_elim_entry_set_got): New.
(ix86_expand_prologue): For the mcount profiling emit new SET_GOT
in PROLOGUE, delete initial if possible.

gcc/testsuite/

PR target/63534
* gcc.target/i386/mcount_pic.c: New.


Added:
trunk/gcc/testsuite/gcc.target/i386/mcount_pic.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog


[Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org ---
Yes, it looks like we also need:

--- a/libstdc++-v3/include/bits/stl_tree.h
+++ b/libstdc++-v3/include/bits/stl_tree.h
@@ -423,6 +423,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION

  while (_M_nodes-_M_right)
_M_nodes = _M_nodes-_M_right;
+ if (_M_nodes-_M_left)
+   _M_nodes = _M_nodes-_M_left;
}
}
  else // __node is on the left.


[Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org ---
This still leaks like a sieve without the second patch:

#include set
#include random

int main()
{
  std::mt19937 rng;
  std::uniform_int_distributionint d;
  std::uniform_int_distributionint::param_type p{0, 100};
  std::uniform_int_distributionint::param_type x{0, 1000};

  for (int i = 0; i  10; ++i)
  {
std::setint l, r;
for (int n = d(rng, p); n  0; --n)
{
  int i = d(rng, x);
  l.insert(i);
  r.insert(i);
  l = r;
}
  }
}


[Bug c++/63692] Temporary object stack space is not re-used

2014-10-31 Thread gonzalez.rulez at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63692

--- Comment #3 from Gonzalez Pedro gonzalez.rulez at gmail dot com ---
Ok. We are affected by this in the debug builds which are built without any
optimizations. Reviewing -O2 options I didn't find an option, which enables or
disables reuse of temp object space. Is there one?

P.S.
On the other hand this is not an issue with POD types.


[Bug libgomp/63700] New: Is is impossible to set the OpenMP stack size from inside a program

2014-10-31 Thread walter.zimmer at dlr dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63700

Bug ID: 63700
   Summary: Is is impossible to set the OpenMP stack size from
inside a program
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: walter.zimmer at dlr dot de
CC: jakub at gcc dot gnu.org

We have a binary which uses a lot of stack due to external libray we have no
control over. Single threaded, this is no problem, setrlimit() works fine. But
for OpenMP, setting OMP_STACKSIZE seems to be the only option so set the stack
size for OpenMP threads.

Unfortunately, it can't be set from within the program, as the libgomp code is
always executed before the main program code. We also tried __attribute__
((constructor)) and section(.init), but for shared links, the libgomp code is
always called before we can set rlimit or OMP_STACKSIZE (nice to see with
OMP_DISPLAY_ENV).

We really want to avoid having external dependencies, so we try to avoid having
to set external environment variables.

Having a small routine which sets the OpenMP internal stack size before the
first threads are created would solve this problem. Such a routine is not
specified in the standard, but it might be implemented as a gomp routine to
account for that.

Or did I miss something? Is this behaviour maybe intentional? What would be the
best solution to set the OpenMP stack size inside a program?


[Bug libgomp/63700] It is impossible to set the OpenMP stack size from inside a program

2014-10-31 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63700

Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed:

   What|Removed |Added

 CC||Joost.VandeVondele at mat dot 
ethz
   ||.ch

--- Comment #1 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
This would indeed be useful, or as an alternative, something that sets the
default stacksize of threads at compile time.


[Bug target/61915] [AArch64] High amounts of GP to FP register moves using LRA on AArch64 - Improve Generic register_move_cost and memory_move_cost

2014-10-31 Thread e.menezes at samsung dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61915

--- Comment #20 from Evandro e.menezes at samsung dot com ---
(In reply to Ramana Radhakrishnan from comment #19)
 To my mind it seems like 407 fmoves is just a bit too berserk and regardless
 of how efficient your core is, there is no point in having so many moves
 back and forth.

It seems that the only LRA parameter exposed is
lra-max-considered-reload-pseudos. It defaults to 500 and decreasing it,
results in more FMOVs; increasing it, in less. It doesn't have any effect over
1000. At 1000, the number of FMOVs decreases by 5% in some cases.


[Bug fortran/63701] New: trans-expr.c:1424: missing init for local variable found

2014-10-31 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63701

Bug ID: 63701
   Summary: trans-expr.c:1424: missing init for local variable
found
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com

../../src/trunk/gcc/fortran/trans-expr.c:1424:25: warning: variable 'found' is
used uninitialized whenever 'for' loop exits because its condition is false
[-Wsometimes-uninitialized]

$ fgrep -n found gcc/fortran/trans-expr.c
1409:  bool found;
1438:found = true;
1442:  gcc_assert (found  caf_decl);

Missing init of found to false at line 1409.


[Bug target/63702] New: i386.c:36276: possible missing break ?

2014-10-31 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63702

Bug ID: 63702
   Summary: i386.c:36276: possible missing break ?
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com

[gcc/config/i386/i386.c:36276] - [gcc/config/i386/i386.c:36338]: (warning)
Vari
able 'nargs' is reassigned a value before the old one has been used. 'break;'
mi
ssing?

case QI_FTYPE_V4DI_V4DI_QI:
case V4SF_FTYPE_V2DF_V4SF_QI:
case V4SF_FTYPE_V4DF_V4SF_QI:
   nargs = 3;
case V16SI_FTYPE_V16SI_V16SI_HI:
case V16SI_FTYPE_V16SI_V16SI_V16SI:
case V16SI_FTYPE_V4SI_V16SI_HI:


[Bug fortran/63701] trans-expr.c:1424: missing init for local variable found

2014-10-31 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63701

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-10-31
 CC||ktkachov at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from ktkachov at gcc dot gnu.org ---
found is expected to be always set to true at line 1438, that's what the
gcc_assert is for. But I agree that it should be initialised to false.


[Bug c/59708] clang-compatible checked arithmetic builtins

2014-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59708

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 33855
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33855action=edit
gcc5-pr59708-wip1.patch

WIP untested patch, which implements so far the clang compatible builtins (with
the exception of __builtin_umul*_overflow, that needs extra work) and has a
start of implementation for the Joseph's idea of type-generic builtins
(__builtin_{add,sub,mul}_overflow), which perform infinite precision signed
+/-/*, store some low bits into the memory pointed by the third argument and
return true iff the infinite precision signed result is equal to the stored
value.

Internally, where needed this is implemented as internal calls returning two
values as a _Complex int, which turned out to be easiest and generates very
good code during expansion.

I'll work on BUILTIN_UMUL*_OVERFLOW next and when that is done, continue
hacking on the type-generic stuff (so far it handles just the case where it is
easy to prove the operation never overflows, or where it can be handled like
the clang-compatible builtins (extended for other integral types like
char/short/__int128).


[Bug rtl-optimization/63340] [5.0 regression] FAIL: gcc.dg/atomic/c11-atomic-exec-2.c -O2 execution test

2014-10-31 Thread krebbel at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63340

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

 CC||krebbel at gcc dot gnu.org

--- Comment #7 from Andreas Krebbel krebbel at gcc dot gnu.org ---
Just FYI. This also fixed 32 bit --with-mode=zarch --with-arch=z10 bootstrap on
S/390. It started failing with r215449 and appears to work fine again since
r216829.

Thanks!


[Bug tree-optimization/58530] [4.9 Regression] crash in get_combined_adhoc_loc

2014-10-31 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58530

David Binderman dcb314 at hotmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #5 from David Binderman dcb314 at hotmail dot com ---
(In reply to David Binderman from comment #4)
 Seems to be fixed by 20131009, revision 203302

And it's come back again recently. Only -O2, not -O3, required this time.

bug120.cc
activemq/commands/ActiveMQBytesMessage.cpp: In member function ‘bool
activemq::commands::ActiveMQMessageTemplateT::propertyExists(const string)
const [with T = cms::BytesMessage; std::string = std::basic_stringchar]’:
activemq/commands/ActiveMQBytesMessage.cpp:668:1: internal compiler error:
Segmentation fault
0xc00a5c crash_signal(int)
../../src/trunk/gcc/toplev.c:356
0xce3aaa bb_seq_addr(basic_block_def*)
../../src/trunk/gcc/gimple.h:1393
0xce3aaa gsi_start_bb(basic_block_def*)
../../src/trunk/gcc/gimple-iterator.h:118
0xce3aaa fold_all_stmts(function*)
../../src/trunk/gcc/tree-ssa-forwprop.c:3570
0xce3aaa (anonymous namespace)::pass_forwprop::execute(function*)
../../src/trunk/gcc/tree-ssa-forwprop.c:3903
Please submit a full bug report,

I think there may be some value in making sure that the source code
of all new bug reports, before reduction, compiles ok at -O2 or maybe -O3.

[Bug other/63694] [5.0 Regression] Build error compiling asan.c: strtoull undeclared

2014-10-31 Thread y.gribov at samsung dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63694

--- Comment #5 from Yury Gribov y.gribov at samsung dot com ---
John, would you mind sending a (tested) patch to gcc-patches? I only have
access to Linux systems which are irrelevant.


[Bug bootstrap/63703] New: [4.9.2 Regression] cc1: internal compiler error: in init_reg_sets, at reginfo.c:178

2014-10-31 Thread dougmencken at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63703

Bug ID: 63703
   Summary: [4.9.2 Regression] cc1: internal compiler error: in
init_reg_sets, at reginfo.c:178
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dougmencken at gmail dot com

At stage1 of bootstrapping 4.9.2, I got libgcc configure error (from
powerpc-unknown-darwin/libgcc/config.log):

configure:3389: /_gcc_build/./gcc/xgcc -B/_gcc_build/./gcc/
-B/usr/powerpc-unknown-darwin/bin/ -B/usr/powerpc-u$
cc1: internal compiler error: in init_reg_sets, at reginfo.c:178
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
configure:3392: $? = 1
configure:3580: checking for suffix of object files
configure:3602: /_gcc_build/./gcc/xgcc -B/_gcc_build/./gcc/
-B/usr/powerpc-unknown-darwin/bin/ -B/usr/powerpc-u$
cc1: internal compiler error: in init_reg_sets, at reginfo.c:178
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
configure:3606: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| #define PACKAGE_URL http://www.gnu.org/software/libgcc/;
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:3620: error: in `/_gcc_build/powerpc-unknown-darwin/libgcc':
configure:3623: error: cannot compute suffix of object files: cannot compile


[Bug bootstrap/63703] [4.9.2 Regression] cc1: internal compiler error: in init_reg_sets, at reginfo.c:178

2014-10-31 Thread dougmencken at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63703

--- Comment #1 from Douglas Mencken dougmencken at gmail dot com ---
$ gcc/xgcc -v
Using built-in specs.
COLLECT_GCC=gcc/xgcc
Target: powerpc-unknown-darwin
Configured with: ../gcc-4.9.2/configure --build=powerpc-unknown-darwin
--host=powerpc-unknown-darwin --target=powerpc-unknown-darwin --prefix=/usr
--sysconfdir=/etc --mandir=/usr/share/man --with-slibdir=/usr/lib
--program-prefix= --enable-languages=c,c++,objc,obj-c++ --disable-checking
--enable-shared --enable-static --enable-threads=posix --with-__thread
--disable-nls
Thread model: posix
gcc version 4.9.2 (GCC)


[Bug target/63691] GCC 4.9.x fails to build GLIBC 2.20 on HPPA

2014-10-31 Thread aaro.koskinen at iki dot fi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63691

--- Comment #6 from Aaro Koskinen aaro.koskinen at iki dot fi ---
(In reply to Andrew Pinski from comment #5)
 See https://sourceware.org/ml/libc-alpha/2013-11/msg00291.html .

This patch is already included in GLIBC 2.20...


[Bug bootstrap/63703] [4.9.2 Regression] cc1: internal compiler error: in init_reg_sets, at reginfo.c:178

2014-10-31 Thread dougmencken at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63703

--- Comment #2 from Douglas Mencken dougmencken at gmail dot com ---
stage0 (host) compiler:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/powerpc-unknown-darwin/4.9.1/lto-wrapper
Target: powerpc-unknown-darwin
Configured with: ../gcc-4.9.1/configure --build=powerpc-unknown-darwin
--host=powerpc-unknown-darwin --target=powerpc-unknown-darwin --prefix=/usr
--sysconfdir=/etc --mandir=/usr/share/man --with-slibdir=/usr/lib
--program-prefix= --enable-languages=c,c++,objc,obj-c++
--enable-checking=release --enable-stage1-checking --enable-shared
--enable-static --enable-threads=posix --with-__thread --with-system-zlib
--disable-nls --disable-werror : (reconfigured) ../gcc-4.9.1/configure
--build=powerpc-unknown-darwin --host=powerpc-unknown-darwin
--target=powerpc-unknown-darwin --prefix=/usr --sysconfdir=/etc
--mandir=/usr/share/man --with-slibdir=/usr/lib --program-prefix=
--enable-languages=c,c++,objc,obj-c++ --disable-checking --enable-shared
--enable-static --enable-threads=posix --with-__thread --with-system-zlib
--disable-nls --disable-werror
Thread model: posix
gcc version 4.9.1 (GCC)


[Bug target/63702] i386.c:36276: possible missing break ?

2014-10-31 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63702

--- Comment #1 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to David Binderman from comment #0)
 [gcc/config/i386/i386.c:36276] - [gcc/config/i386/i386.c:36338]: (warning)
 Vari
 able 'nargs' is reassigned a value before the old one has been used.
 'break;' mi
 ssing?
 
 case QI_FTYPE_V4DI_V4DI_QI:
 case V4SF_FTYPE_V2DF_V4SF_QI:
 case V4SF_FTYPE_V4DF_V4SF_QI:
nargs = 3;
 case V16SI_FTYPE_V16SI_V16SI_HI:
 case V16SI_FTYPE_V16SI_V16SI_V16SI:
 case V16SI_FTYPE_V4SI_V16SI_HI:

No, this assignment should just be removed. I'll take care for this.

[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

--- Comment #21 from Jeffrey A. Law law at redhat dot com ---
Uros,

Any objection to installing that patch to work around these problems while Vlad
works on things from the rematerialization side?

Perhaps put that condition in a function which makes it clear that this is just
a workaround to give Vlad time to build out the real solution?


[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

--- Comment #22 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Jeffrey A. Law from comment #21)

 Any objection to installing that patch to work around these problems while
 Vlad works on things from the rematerialization side?

No, I was in fact tempted to commit this patch as a temporary workaround.
 
 Perhaps put that condition in a function which makes it clear that this is
 just a workaround to give Vlad time to build out the real solution?

Every condition is slightly different, I think that marking the patterns with a
XXX comment, referring to this PR, should be enough.

[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

--- Comment #23 from Jeffrey A. Law law at redhat dot com ---
The inline XXX comment approach is fine with me, let's go with that.

I'll let you do the honors ;-)


[Bug lto/63704] New: -flto internal compiler error: in mems_in_disjoint_alias_sets_p, at alias.c:398

2014-10-31 Thread jtaylor.debian at googlemail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63704

Bug ID: 63704
   Summary: -flto internal compiler error: in
mems_in_disjoint_alias_sets_p, at alias.c:398
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jtaylor.debian at googlemail dot com

Created attachment 33856
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33856action=edit
creduced testcase files

attached reduced testcase run with the run.sh file produces an ice with current
trunk (20141026).
The issue can also be preproduced with 4.9.2 and 4.8.2

tar xf testcase.tar.gz
cd testcase
#adapt path to gcc and lto1 in the run.sh script
./run.sh
...

/tmp/creduce-gzds4W/lowlevel_strided_loops.i: In function ‘fn1’:
/tmp/creduce-gzds4W/lowlevel_strided_loops.i:10:1: internal compiler error: in
mems_in_disjoint_alias_sets_p, at alias.c:398

gcc -v
Using built-in specs.
COLLECT_GCC=/scratch/jtaylor/gcc/local-trunk/bin//gcc
COLLECT_LTO_WRAPPER=/scratch/jtaylor/gcc/local-trunk/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /media/jtaylor/external1/buildacc/gcc-trunk/configure
--disable-werror --enable-languages=c,c++,fortran --enable-tls
--prefix=/scratch/jtaylor/gcc/local-trunk --with-gmp=/usr --with-mpfr=/usr
--with-mpc=/usr --with-cloog=/usr --with-ppl=/usr --with-isl=/usr
--disable-bootstrap --enable-checking=release
Thread model: posix
gcc version 5.0.0 20141026 (experimental) (GCC) 

to reproduce using the full source (requires python development headers):
git clone git://github.com/numpy/numpy
cd numpy
CC='gcc -fno-fat-lto-objects -flto=4 -fuse-linker-plugin -O3' LDSHARED='gcc
-fno-fat-lto-objects -flto=4 -fuse-linker-plugin -shared -O3' AR=gcc-ar python
setup.py build_ext

[Bug bootstrap/63703] [4.9.2 Regression] cc1: internal compiler error: in init_reg_sets, at reginfo.c:178

2014-10-31 Thread dougmencken at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63703

--- Comment #3 from Douglas Mencken dougmencken at gmail dot com ---
Same error when configuring 4.9.2 exactly as host compiler:

../gcc-4.9.2/configure \
--build=powerpc-unknown-darwin --host=powerpc-unknown-darwin
--target=powerpc-unknown-darwin \
--prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --with-slibdir=/usr/lib
\
--program-prefix= --enable-languages=c,c++,objc,obj-c++ \
--disable-checking \
--enable-shared --enable-static \
--enable-threads=posix --with-__thread --with-system-zlib \
--disable-nls --disable-werror

checking whether ln -s works... yes
checking for powerpc-unknown-darwin-gcc... /_gcc_build/./gcc/xgcc
-B/_gcc_build/./gcc/ -B/usr/powerpc-unknown-darwin/bin/
-B/usr/powerpc-unknown-darwin/lib/ -isystem /usr/powerpc-unknown-darwin/include
-isystem /usr/powerpc-unknown-darwin/sys-include
checking for suffix of object files... configure: error: in
`/_gcc_build/powerpc-unknown-darwin/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.


[Bug target/63691] GCC 4.9.x fails to build GLIBC 2.20 on HPPA

2014-10-31 Thread dave.anglin at bell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63691

--- Comment #7 from dave.anglin at bell dot net ---
On 10/31/2014 2:39 PM, aaro.koskinen at iki dot fi wrote:
 This patch is already included in GLIBC 2.20...
I can add support for __builtin_trap() but we need preprocessed source
and full compile command.  You can add -save-temps -v to glibc command
to generate these files.


[Bug rtl-optimization/63659] [4.8/4.9/5 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2014-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63659

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Oct 31 19:42:39 2014
New Revision: 216985

URL: https://gcc.gnu.org/viewcvs?rev=216985root=gccview=rev
Log:
PR rtl-optimization/63659
* ree.c (update_reg_equal_equiv_notes): New function.
(combine_set_extension, transform_ifelse): Use it.

* gcc.c-torture/execute/pr63659.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr63659.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ree.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

--- Comment #24 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri Oct 31 19:47:36 2014
New Revision: 216987

URL: https://gcc.gnu.org/viewcvs?rev=216987root=gccview=rev
Log:
PR target/63620
* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLES that won't
be reloaded through memory.
(*pushxf): Ditto.
(*pushdf): Ditto.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md


[Bug other/63694] [5.0 Regression] Build error compiling asan.c: strtoull undeclared

2014-10-31 Thread dave.anglin at bell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63694

--- Comment #6 from dave.anglin at bell dot net ---
On 10/31/2014 2:05 PM, y.gribov at samsung dot com wrote:
 John, would you mind sending a (tested) patch to gcc-patches? I only have
 access to Linux systems which are irrelevant.
I believe the attached untested patch fixes the problem on hpux.  However,
I suspect more is needed for mingw, msdosdjgpp, etc.  Can't test these.

Dave


[Bug libstdc++/58938] [4.7/4.8/4.9 Regression] std::exception_ptr is missing on architectures with incomplete atomic int support

2014-10-31 Thread frankhb1989 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938

frankhb1989 at gmail dot com changed:

   What|Removed |Added

 CC||frankhb1989 at gmail dot com

--- Comment #11 from frankhb1989 at gmail dot com ---
I'd like to say it should be a bug, if I did not get it wrong.
Even for a freestanding implementation, ISO C++11 explicitly specified
exception as one of required header in table 16, and it should meet the same
requirements as for a hosted implementation. Missing exception propagation is
definitely not conforming, whether it can actually be implemented or not.
Moreover, the standard doesn't specify anything about atomic operations on
exception propagation, though it does requires that there should be no data
race during some operations. Atomic operations here seem to be purely
implementation details. Can it be implemented with something like
__shared_ptr's lock policy?
This issue also has effect on nested exceptions. Anyway, I feel something
indeed wrong when I have to miss std::nested_exception for this reason on a
platform which has even no multithreading support at all (as allowed by C++11).
Sigh.
BTW, libstdc++ manual Table 1.2 just tell me 'Y' for 18.8.5 and 18.8.6. Found
no other notes about this issue. So at least it can be a defect of
documentation.


[Bug libstdc++/58938] std::exception_ptr is missing on architectures with incomplete atomic int support

2014-10-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Last reconfirmed||2014-10-31
 Resolution|INVALID |---
   Target Milestone|4.7.4   |---
Summary|[4.7/4.8/4.9 Regression]|std::exception_ptr is
   |std::exception_ptr is   |missing on architectures
   |missing on architectures|with incomplete atomic int
   |with incomplete atomic int  |support
   |support |
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org ---
Someone just needs to do the work to support it on other targets.

One option would be to require libatomic, another would be to not use atomics
at all if e.g. !defined(__GTHREADS)


[Bug ipa/63649] [5 Regression] ICE: Segmentation fault in gcc/ipa-comdats.c:332

2014-10-31 Thread adam at os dot inf.tu-dresden.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63649

--- Comment #3 from Adam Lackorzynski adam at os dot inf.tu-dresden.de ---
Thanks, seems to fix the issue for me.


[Bug target/63691] GCC 4.9.x fails to build GLIBC 2.20 on HPPA

2014-10-31 Thread aaro.koskinen at iki dot fi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63691

--- Comment #8 from Aaro Koskinen aaro.koskinen at iki dot fi ---
(In reply to dave.anglin from comment #7)
 On 10/31/2014 2:39 PM, aaro.koskinen at iki dot fi wrote:
  This patch is already included in GLIBC 2.20...
 I can add support for __builtin_trap() but we need preprocessed source
 and full compile command.  You can add -save-temps -v to glibc command
 to generate these files.

I was able to isolate the problem to GLIBC elf/dl-conflict.c and specifically
hppa specific elf_machine_rela function called from there. The problem occurs
at link time, so crafting a standalone preprocessed source file triggering the
error might be difficult, but I'll see what can I do.


[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-31 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620

--- Comment #25 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri Oct 31 21:52:22 2014
New Revision: 216990

URL: https://gcc.gnu.org/viewcvs?rev=216990root=gccview=rev
Log:
PR target/63620
* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare.
* config/i386/i386.c (ix86_use_pseudo_pic_reg): Export.
* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't
be reloaded through memory.
(*pushxf): Ditto.
(*pushdf): Ditto.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386-protos.h
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md


[Bug target/63702] i386.c:36276: possible missing break ?

2014-10-31 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63702

--- Comment #2 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri Oct 31 21:56:05 2014
New Revision: 216991

URL: https://gcc.gnu.org/viewcvs?rev=216991root=gccview=rev
Log:
PR target/63702
* config/i386/i386.c (ix86_expand_args_builtin): Remove extra
assignment to 'nargs' variable.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c


[Bug target/63702] i386.c:36276: possible missing break ?

2014-10-31 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63702

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Target||x86
 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |5.0

--- Comment #3 from Uroš Bizjak ubizjak at gmail dot com ---
Fixed.

[Bug fortran/61847] bug in gfortran runtime: digits cut off when reading floating point number

2014-10-31 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61847

Jerry DeLisle jvdelisle at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #33227|0   |1
is obsolete||

--- Comment #20 from Jerry DeLisle jvdelisle at gcc dot gnu.org ---
Created attachment 33858
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33858action=edit
Proposed patch

This attached patch enhances gfortran to check the locale and get the currently
active decimal character at the time a unit is connected and saves it.  During
formatted input the decimal type is checked and if necessary changed internally
so that the calls to the system provided string to decimal functions convert
the value properly.

Some configuration checks for locale.h are needed to make sure getting the
decimal character will work.  If not, the code reverts to the current behavior.

Need testing on various platforms for all who can do so.  I tested on linux
x86-64.


[Bug bootstrap/63703] [4.9.2 Regression] cc1: internal compiler error: in init_reg_sets, at reginfo.c:178

2014-10-31 Thread g...@denis-excoffier.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63703

Denis Excoffier g...@denis-excoffier.org changed:

   What|Removed |Added

 CC||g...@denis-excoffier.org

--- Comment #4 from Denis Excoffier g...@denis-excoffier.org ---
Me too.

Invocation command line is:

% /tmp/lcl/tmp/gcc/gcc-4.9.2/configure --prefix=/tmp/lcl/uxl/gcc-4.9.2
--disable-multilib --with-local-prefix=/usr/local/nonexistent
--enable-languages=c,c++

And compiler is:
% gcc --version
powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5493)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Near the beginning of config.log, something that could be important:

---
/usr/bin/hostinfo  = Mach kernel version:
   Darwin Kernel Version 9.8.0: Wed Jul 15 16:57:01 PDT 2009;
root:xnu-1228.15.4~1/RELEASE_PPC
Kernel configured for a single processor only.
1 processor is physically available.
1 processor is logically available.
Processor type: ppc7450 (PowerPC 7450)
Processor active: 0
Primary memory available: 1.00 gigabytes
Default processor set: 53 tasks, 178 threads, 1 processors
--

I commented out the gcc_assert at line 178. It then continues a little, until
in
powerpc-apple-darwin9.8.0/libstdc++-v3 (still stage 1), with an another ICE
(Bus error) in guard.cc:114:28.

I also confirm that 4.9.1 compiles (and runs) ok.