[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #15 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Mon Apr 20 21:46:59 2015
New Revision: 49

URL: https://gcc.gnu.org/viewcvs?rev=49root=gccview=rev
Log:
/cp
2015-04-20  Paolo Carlini  paolo.carl...@oracle.com

PR c++/65801
* typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
suppresses the diagnostic.

2015-04-20  Paolo Carlini  paolo.carl...@oracle.com

PR c++/65801
* doc/invoke.texi ([-Wnarrowing]): Update.

/testsuite
2015-04-20  Paolo Carlini  paolo.carl...@oracle.com

PR c++/65801
* g++.dg/cpp0x/Wnarrowing2.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/Wnarrowing2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck2.c
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog


[Bug go/65180] regression in gccgo testcase runtime/pprof on ppc64le, ppc64 following move to go 1.4 from 1.3

2015-04-20 Thread boger at us dot ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65180

--- Comment #6 from boger at us dot ibm.com ---
I have verified this testcase now passes on ppc64le with today's gcc-5-branch
and with gcc trunk.


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Paolo Carlini from comment #13)
 Ok, I'll commit it in an hour or so to trunk. Is it too late for 5.1?

It is IMHO too late for that, but not too late for 5.2.


[Bug other/65820] New: escape backslashes in .d file

2015-04-20 Thread paul_robinson at playstation dot sony.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65820

Bug ID: 65820
   Summary: escape backslashes in .d file
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: paul_robinson at playstation dot sony.com

gcc should escape backslashes when writing a .d file, because that's
what GNU make expects.

(Yes, I know special characters in filenames are a bad idea...)

There are various scenarios, this one seems to be the easiest to
demonstrate.

$ gcc --version
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 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.

$ make --version
GNU Make 3.81
Copyright (C) 2006  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.

This program built for x86_64-pc-linux-gnu
$ cat quote.c
#include a\\b.h
$ # BTW that's two backslashes, not one escaped backslash; C11 6.4.7.
$ touch ab.h
$ gcc -c -MMD quote.c
$ # But the .d file just copies the string literally.
$ cat quote.d
quote.o: quote.c a\\b.h

$ rm ab.h
$ # Make properly doesn't find the nonexistent file
$ make -f quote.d quote.o
make: *** No rule to make target `a\\b.h', needed by `quote.o'.  Stop.
$ # Accidentally create the wrong number of backslashes...
$ touch a\\b.h
$ # ...make will interpret a\\b.h as a\b.h, even though gcc doesn't.
$ make -f quote.d quote.o
cc-c -o quote.o quote.c
quote.c:1:18: fatal error: a\\b.h: No such file or directory
 #include a\\b.h
  ^
compilation terminated.
make: *** [quote.o] Error 1
$ 


If I modify the .d file to escape backslashes, it works properly.

$ cat quote.d
quote.o: quote.c ab.h
$ touch ab.h
$ ls
a\\b.h  quote.c  quote.d
$ make -f quote.d quote.o
cc-c -o quote.o quote.c
$


[Bug debug/65821] New: [4.8.2 regression] incorrect debug line # info for main

2015-04-20 Thread chihin.ko at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65821

Bug ID: 65821
   Summary: [4.8.2 regression] incorrect debug line # info for
main
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chihin.ko at oracle dot com

this happen since 4.8.2, 4.9.0 also have same problem.

cat t.cc
==
  1 #include stdio.h
  2
  3 int b = 12;
  4
  5 inline void foo(const int x = (b+3))
  6 {
  7 printf(%d\n, x);
  8 }   9
 10 inline void baz(const int x = 200)
 11 {
 12 printf(%d\n, x);
 13 }
 14
 15 inline void bar(int x = b)
 16 {  17 printf(%d\n, x);
 18 x = 100;
 19 printf(%d\n, x);
 20 }
 21
 22
 23 void
 24 bob(char *s = hello)  25 {
 26 printf(%s\n, s);
 27 }  28
 29 int main()
 30 {
 31   foo();  32   baz();
 33   bar();
 34   bob();
 35   return 0;
 36 }

The line table for main is incorrect:

 10x067eDW_TAG_subprogram
  DW_AT_external  yes(1)
  DW_AT_name  main
  DW_AT_decl_file 0x0001 t.cc
  DW_AT_decl_line 0x001d
  DW_AT_type  0x0491
  DW_AT_low_pc0x0040129f
  DW_AT_high_pc   0x004012ff
.debug_line
---

0x0040129f  [  30, 0] NS
0x004012a7  [   5, 0] NS    extra line info
0x004012b0  [  31, 0] NS
0x004012bf  [  32, 0] NS DI=0x1
0x004012d2  [  33, 0] NS
0x004012dc  [  34, 0] NS

This cause follwing problem:
(gdb) b main
Breakpoint 1 at 0x4006ea: file c++defargs3.cc, line 5.  == should be line 31
(gdb) run
Starting program:
/workspace/chko/ws/dinstall/dbx_test/intel_S11_gcc482/c++defargs3.dbx,gcc/g47/a.out

Breakpoint 1, main () at c++defargs3.cc:5
5   inline void foo(const int x = (b+3))


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #13 from Paolo Carlini paolo.carlini at oracle dot com ---
Ok, I'll commit it in an hour or so to trunk. Is it too late for 5.1?


[Bug tree-optimization/65818] libiberty/vprintf-support.c:41:1: ICE: in expand_i fn_va_arg_1, at tree-stdarg.c:1095

2015-04-20 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65818

--- Comment #1 from John David Anglin danglin at gcc dot gnu.org ---
Created attachment 35371
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35371action=edit
Preprocessed source


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #12 from Jason Merrill jason at gcc dot gnu.org ---
(In reply to Paolo Carlini from comment #11)
 Draft patch 2

I think let's go with this.  It's odd, but not complex and does what we want.


[Bug fortran/65819] overzealous checking in gfc_check_dependency for identical=true

2015-04-20 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65819

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Blocks||37131
   Severity|normal  |enhancement


[Bug tree-optimization/65818] New: libiberty/vprintf-support.c:41:1: ICE: in expand_i fn_va_arg_1, at tree-stdarg.c:1095

2015-04-20 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65818

Bug ID: 65818
   Summary: libiberty/vprintf-support.c:41:1: ICE: in expand_i
fn_va_arg_1, at tree-stdarg.c:1095
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

if [ x-fPIC != x ]; then \
  /test/gnu/gcc/objdir/./prev-gcc/xgcc
-B/test/gnu/gcc/objdir/./prev-gcc
/ -B/opt/gnu/gcc/gcc-6.0/hppa2.0w-hp-hpux11.11/bin/
-B/opt/gnu/gcc/gcc-6.0/hppa2
.0w-hp-hpux11.11/bin/ -B/opt/gnu/gcc/gcc-6.0/hppa2.0w-hp-hpux11.11/lib/
-isystem
 /opt/gnu/gcc/gcc-6.0/hppa2.0w-hp-hpux11.11/include -isystem
/opt/gnu/gcc/gcc-6.
0/hppa2.0w-hp-hpux11.11/sys-include-c -DHAVE_CONFIG_H -g -O2  -I.
-I../../gc
c/libiberty/../include  -W -Wall -Wwrite-strings -Wc++-compat
-Wstrict-prototype
s -pedantic  -fPIC ../../gcc/libiberty/vprintf-support.c -o
pic/vprintf-support.
o; \
else true; fi
../../gcc/libiberty/vprintf-support.c: In function
'libiberty_vprintf_buffer_siz
e':
../../gcc/libiberty/vprintf-support.c:41:1: internal compiler error: in
expand_i
fn_va_arg_1, at tree-stdarg.c:1095
 libiberty_vprintf_buffer_size (const char *format, va_list args)
 ^


[Bug fortran/65819] New: overzealous checking in gfc_check_dependency for identical=true

2015-04-20 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65819

Bug ID: 65819
   Summary: overzealous checking in gfc_check_dependency for
identical=true
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tkoenig at gcc dot gnu.org

Just ran across this while trying to cook up a test case for matrix inlining.

In the patch proposed for PR 37131, I have

  if (gfc_check_dependency (expr1, matrix_a, true)
  || gfc_check_dependency (expr1, matrix_b, true))
return 0;

In the test case, I want to do

  f(3,1:eight:2,:) = matmul(f(1,1:3,2:3), f(2,2:3,:))

where clearly the lhs does not depend on the rhs.  However, specifying true to
gfc_dep_dependency leads to

  if (identical)
return 1;

before any checking is done.  I'm not sure if there is a real-world test
case yet, but there will be one soon, so I'll keep this PR as a reminder.


[Bug debug/65821] [4.8.2 regression] incorrect debug line # info for main

2015-04-20 Thread chihin.ko at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65821

--- Comment #2 from chihin ko chihin.ko at oracle dot com ---
(In reply to Andrew Pinski from comment #1)
 It is doing (b+3) first which is from :5 which seems correct to me.  Default
 arguments should have a line information right?

Then gdb should stop at line 30 first and when I step into foo(),
it stop at line 5. line 5 should belongs to foo().

Current behavior is confusing to user.


[Bug rtl-optimization/64916] ira.c update_equiv_regs patch causes gcc/testsuite/gcc.target/arm/pr43920-2.c regression

2015-04-20 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64916

--- Comment #5 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Tue Apr 21 05:23:08 2015
New Revision: 56

URL: https://gcc.gnu.org/viewcvs?rev=56root=gccview=rev
Log:
   PR rtl-optimization/64916
* cfgcleanup.c (values_equal_p): New function.
(can_replace_by): Use it.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgcleanup.c


[Bug debug/65822] New: [4.8.2 regression] Used variant fun names in dwarf info for CTORs

2015-04-20 Thread chihin.ko at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65822

Bug ID: 65822
   Summary: [4.8.2 regression] Used variant fun names in dwarf
info for CTORs
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chihin.ko at oracle dot com

Created attachment 35372
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35372action=edit
test case 1/1

for attached *.cc, there are 3 A CTORS and 3 variant A CTORS:

 nm a.out | grep _ZN1AC
00400a8c W _ZN1AC1Ei
00400ab2 W _ZN1AC1Eifci
00400a5a W _ZN1AC1Ev
00400a8c W _ZN1AC2Ei
00400ab2 W _ZN1AC2Eifci
00400a5a W _ZN1AC2Ev

In dwarf dump, _ZN1AC2... was used :

 grep _ZN1AC a.out.dw
  DW_AT_MIPS_linkage_name _ZN1AC2Ev
  DW_AT_MIPS_linkage_name _ZN1AC2Ei
  DW_AT_MIPS_linkage_name _ZN1AC2Eifci
name at offset 0x011a, length9 is '_ZN1AC2Ei'
name at offset 0x0143, length   12 is '_ZN1AC2Eifci'
name at offset 0x015a, length9 is '_ZN1AC2Ev'

I don't see _ZN1AC1... were used in a.out.dw


[Bug debug/65822] [4.8/4.9/5/6 Regression] Used variant fun names in dwarf info for CTORs

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65822

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
Summary|[4.8.2 regression] Used |[4.8/4.9/5/6 Regression]
   |variant fun names in dwarf  |Used variant fun names in
   |info for CTORs  |dwarf info for CTORs

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
The C1 and C2 don't stand for CTORs and variant CTORs, but for complete object
constructor and base object constructor.  If the compiler chooses them to emit
them as aliases (because they are the same), you only get one of them in the
debug info, emitting both the same way would just severely bloat the debug
info, unless there is a way to represent the aliases without duplication. 
Dunno if e.g. a DW_TAG_subprogram
with DW_AT_name/DW_AT_linkage_name and just DW_AT_abstract_origin on the alias
and nothing else would do the job.


[Bug testsuite/65767] Test pr65276 failed on arm-none-eabi

2015-04-20 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65767

--- Comment #3 from amker at gcc dot gnu.org ---
Author: amker
Date: Tue Apr 21 02:23:18 2015
New Revision: 55

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

PR testsuite/65767
* g++.dg/lto/pr65276_0.C: Change namespace std to std2.
* g++.dg/lto/pr65276_1.C: Change namespace std to std2.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/lto/pr65276_0.C
trunk/gcc/testsuite/g++.dg/lto/pr65276_1.C


[Bug debug/65821] [4.8.2 regression] incorrect debug line # info for main

2015-04-20 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65821

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
It is doing (b+3) first which is from :5 which seems correct to me.  Default
arguments should have a line information right?


[Bug rtl-optimization/64916] ira.c update_equiv_regs patch causes gcc/testsuite/gcc.target/arm/pr43920-2.c regression

2015-04-20 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64916

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Jeffrey A. Law law at redhat dot com ---
Fixed by Shiva's patch on the trunk.


[Bug libgomp/65814] [5/6 Regression] FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_host_nonshm=1 -DACC_MEM_SHARED=0 execution test

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65814

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Dup.

*** This bug has been marked as a duplicate of bug 65742 ***


[Bug c/65812] gcc 4.9.1 doesn't warn about uninitialized variable use declared in a switch/case statement when compiled with -O

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65812

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
So shouldn't this be INVALID rather than NEW?


[Bug c++/65811] [6 Regression] ice in vague_linkage_p

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65811

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Started with r222134.


[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

--- Comment #9 from Richard Biener rguenth at gcc dot gnu.org ---
Can you please try to reduce it to a testcase?


[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

--- Comment #8 from H.J. Lu hjl.tools at gmail dot com ---
I am using ld.bfd from binutils master branch.


[Bug testsuite/60806] libstdc++ abi check should ignore missing TLS symbols

2015-04-20 Thread mkuvyrkov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60806

Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mkuvyrkov at gcc dot gnu.org

--- Comment #1 from Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org ---
Subscribing.  Just spent half-a-day figuring out why I get more TLS symbols on
aarch64-linux-gnu, than baseline show.


[Bug debug/65807] [5/6 Regression] ICE () on powerpc64le-linux-gnu

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65807

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
Summary|[5 Regression] ICE () on|[5/6 Regression] ICE () on
   |powerpc64le-linux-gnu   |powerpc64le-linux-gnu

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed for 5.1+.


[Bug c++/65811] [6 Regression] ice in vague_linkage_p

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65811

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
struct foo { int i; };

static void fn1 ();
inline void
fn1 ()
{
  static struct foo a[1];
}


[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

--- Comment #7 from rguenther at suse dot de rguenther at suse dot de ---
On Mon, 20 Apr 2015, hjl.tools at gmail dot com wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788
 
 --- Comment #6 from H.J. Lu hjl.tools at gmail dot com ---
 r18 failed for me:
 
 https://gcc.gnu.org/ml/gcc-regression/2015-04/msg00231.html
 
 My GCC was configured with
 
 --prefix=/export/gnu/import/git/gcc-test-spec-lto/usr --enable-clocale=gnu
 --with-system-zlib --enable-shared --with-demangler-in-ld
 --with-multilib-list=m32,m64,mx32 --with-fpmath=sse
 --enable-languages=c,c++,fortran,lto

Do you use gold or GNU ld (and which version)?  I don't use any
extra configure args for GCC and I'm using GNU ld 2.25.0 (that is,
sth from the 2.25 branch)


[Bug debug/65807] [5 Regression] ICE () on powerpc64le-linux-gnu

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65807

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Apr 20 13:30:01 2015
New Revision: 32

URL: https://gcc.gnu.org/viewcvs?rev=32root=gccview=rev
Log:
PR debug/65807
* dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c


[Bug libgomp/65814] New: [5/6 Regression] FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_host_nonshm=1 -DACC_MEM_SHARED=0 execution test

2015-04-20 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65814

Bug ID: 65814
   Summary: [5/6 Regression] FAIL:
libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_dev
ice-1.c -DACC_DEVICE_TYPE_host_nonshm=1
-DACC_MEM_SHARED=0 execution test
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
  Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
 Build: hppa64-hp-hpux11.11


[Bug debug/65807] [5 Regression] ICE () on powerpc64le-linux-gnu

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65807

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Apr 20 13:31:02 2015
New Revision: 33

URL: https://gcc.gnu.org/viewcvs?rev=33root=gccview=rev
Log:
PR debug/65807
* dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/dwarf2out.c


[Bug go/65813] New: GO: bug347.go segment violation on S390x

2015-04-20 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65813

Bug ID: 65813
   Summary: GO: bug347.go segment violation on S390x
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: go
  Assignee: ian at airs dot com
  Reporter: vogt at linux dot vnet.ibm.com
CC: cmang at google dot com

With current code from gcc_5_branch, the Go test bug347.go crashes by
dereferencing a null pointer:

-- snip --
$ gdb ./bug347.x
(gdb) run
Starting program: /home/vogt/src/git/gcc/build-go/gcc/testsuite/go/bug347.x 
[Thread debugging using libthread_db enabled]
Using host libthread_db library /lib64/libthread_db.so.1.
[New Thread 0x3fffaaa5910 (LWP 47868)]
[New Thread 0x3fffbba5910 (LWP 47867)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fffaaa5910 (LWP 47868)]
0x800019b8 in main.f ()
at /home/vogt/src/git/gcc/gcc/testsuite/go.test/test/fixedbugs/bug347.go:22
22case -t.c:  // THIS IS LINE 22
(gdb) bt
#0  0x800019b8 in main.f ()
at /home/vogt/src/git/gcc/gcc/testsuite/go.test/test/fixedbugs/bug347.go:22
#1  0x80001a8c in main.main ()
at /home/vogt/src/git/gcc/gcc/testsuite/go.test/test/fixedbugs/bug347.go:48
(gdb) p main.t
$1 = (struct {...} *) 0x0
-- snip --

It just dumps a core file and never calls the defered function (GOTRACEBACK is
not set).


[Bug fortran/37131] inline matmul for small matrix sizes

2015-04-20 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37131

--- Comment #20 from Thomas Koenig tkoenig at gcc dot gnu.org ---
First submitted patch:

https://gcc.gnu.org/ml/gcc-patches/2015-04/msg00969.html


[Bug libgomp/65742] [5/6 Regression] Several libgomp.oacc-* failures after r221922.

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65742

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
*** Bug 65814 has been marked as a duplicate of this bug. ***


[Bug c/65808] -pedantic -std=gnu11 results in warning for transparent_union usage

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65808

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
I don't think it is a bug.  If you use -pedantic, it doesn't matter whether
-std=c11 or -std=gnu11 (the default) is in effect.
If you want to suppress the warning, use __extension__ as you did in the
test().


[Bug tree-optimization/65752] Too strong optimizations int - pointer casts

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65752

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
  Component|c   |tree-optimization

--- Comment #11 from Marek Polacek mpolacek at gcc dot gnu.org ---
Looks more like a tree-optimization problem rather than C FE one.


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #5 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #4)
 Created attachment 35362 [details]
 assembly created by r211698
 
 The difference between the assembly created by r211652 and r211698 is the
 single line
 
   .stabs  a:G(0,17)=ar(0,18)=r(0,18);0;0377;;0;9;(0,16),32,0,6,0

maybe that should have been transformed to :
.stabs   
__emutls_v.a:G(0,17)=ar(0,18)=r(0,18);0;0377;;0;9;(0,16),32,0,6,0

.. or sth similar, Im a bit rusty on STABs format.

[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
Couldn't you simply turn the error_at into pedwarn?


[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

2015-04-20 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

--- Comment #59 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to vries from comment #58)

 Given the fix of PR64950, we should be able to remove the workaround
 committed for this PR.

I have started bootstrap/regtest with the following revert:

--cut here--
Index: config/alpha/alpha.c
===
--- config/alpha/alpha.c (revision 28)
+++ config/alpha/alpha.c (working copy)
@@ -5957,10 +5957,6 @@ alpha_build_builtin_va_list (void)
integer_type_node);
   DECL_FIELD_CONTEXT (ofs) = record;
   DECL_CHAIN (ofs) = space;
-  /* ??? This is a hack, __offset is marked volatile to prevent
- DCE that confuses stdarg optimization and results in
- gcc.c-torture/execute/stdarg-1.c failure.  See PR 41089.  */
-  TREE_THIS_VOLATILE (ofs) = 1;

   base = build_decl (BUILTINS_LOCATION,
 FIELD_DECL, get_identifier (__base),
--cut here--

[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com ---
r18 failed for me:

https://gcc.gnu.org/ml/gcc-regression/2015-04/msg00231.html

My GCC was configured with

--prefix=/export/gnu/import/git/gcc-test-spec-lto/usr --enable-clocale=gnu
--with-system-zlib --enable-shared --with-demangler-in-ld
--with-multilib-list=m32,m64,mx32 --with-fpmath=sse
--enable-languages=c,c++,fortran,lto


[Bug target/65810] powerpc64 alignment of r2 insufficient for loading long-double constants

2015-04-20 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65810

--- Comment #6 from Alan Modra amodra at gmail dot com ---
It isn't seen most of the time because the failure happens only when r2 isn't
16-byte aligned (50% chance) and the r2 offset to a long double constant is
n*64k+32k-8 (0.012% chance per long double).  libgfortran stores paths for
error messages in .rodata, so source path can affect placement of those long
double constants.  I'm just lucky.


[Bug target/65697] __atomic memory barriers not strong enough for __sync builtins

2015-04-20 Thread mwahab at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65697

--- Comment #40 from mwahab at gcc dot gnu.org ---
(In reply to Andrew Macleod from comment #25)

 Documentation needs updating for sure... The rules have changed under us
 since originally SEQ_CST and sync were intended to be the same thing...
 Guess I shouldn't have tied our horse to the C++11 cart :-)

I've submitted a patch to try to update the __atomics documentation:
https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01025.html.


[Bug tree-optimization/65802] [6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2335

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65802

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to vries from comment #6)
 (In reply to vries from comment #5)
  So the question is: should ifn_va_arg have ECF_NOTHROW?
 
 Adding ECF_NOTHROW to ifn_va_arg also fixes the ICE.
 
 And at gimplify_va_arg_expr, the VA_ARG_EXPR tree is non-throwing:

Is that always the case (try -fnon-call-exceptions)?  Then doing that looks
obvious.

Richard.

 (gdb) call debug_generic_expr (*expr_p )
 VA_ARG_EXPR c
 (gdb) call debug_tree (*expr_p )
  va_arg_expr 0x7661e9a0
 type pointer_type 0x764c97e0
 type integer_type 0x764a7690 int public SI
 size integer_cst 0x764c50a8 constant 32
 unit size integer_cst 0x764c50c0 constant 4
 align 32 symtab 0 alias set -1 canonical type 0x764a7690
 precision 32 min integer_cst 0x764c5060 -2147483648 max integer_cst
 0x764c5078 2147483647
 pointer_to_this pointer_type 0x764c97e0
 sizes-gimplified unsigned DI
 size integer_cst 0x764a3e58 constant 64
 unit size integer_cst 0x764a3e70 constant 8
 align 64 symtab 0 alias set -1 canonical type 0x764c97e0
 pointer_to_this pointer_type 0x76622540
 side-effects
 arg 0 var_decl 0x764b0c60 c
 type array_type 0x764ccbd0 __builtin_va_list type record_type
 0x764cc738 __va_list_tag
 sizes-gimplified BLK
 size integer_cst 0x764c5318 constant 192
 unit size integer_cst 0x764c52e8 constant 24
 align 64 symtab 0 alias set -1 canonical type 0x764cc888
 domain integer_type 0x764cc7e0
 used tree_1 decl_5 BLK file test.cc line 13 col 25 size integer_cst
 0x764c5318 192 unit size integer_cst 0x764c52e8 24
 align 64 context function_decl 0x766240d8 fn1
 test.cc:15:32
 (gdb) call tree_could_throw_p (*expr_p )
 $1 = false
 ...
 
 I'll bootstrap and reg-test this fix.


[Bug tree-optimization/65802] [6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2335

2015-04-20 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65802

--- Comment #8 from vries at gcc dot gnu.org ---
(In reply to Richard Biener from comment #7)
 (In reply to vries from comment #6)
  (In reply to vries from comment #5)
   So the question is: should ifn_va_arg have ECF_NOTHROW?
  
  Adding ECF_NOTHROW to ifn_va_arg also fixes the ICE.
  
  And at gimplify_va_arg_expr, the VA_ARG_EXPR tree is non-throwing:
 
 Is that always the case (try -fnon-call-exceptions)?  Then doing that looks
 obvious.
 
 Richard.
 

Yep, that's also the case with -fnon-call-exceptions:
...
(gdb) call debug_generic_expr (*expr_p)
VA_ARG_EXPR c
(gdb) call tree_could_throw_p (*expr_p )
$1 = false
(gdb) p flag_non_call_exceptions
$2 = 1
...


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
So most likely r211689 ?  Can you attach assembly created by r211688 and
r211689 ?
Isn't this just a darwin linker bug?


[Bug debug/65807] [5 Regression] ICE () on powerpc64le-linux-gnu

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65807

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

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

Untested obvious fix.  I'd say this is safe even for 5.1 at this point. 
Keeping uninitialized garbage in val_entry pointer is undesirable for GC.


[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

2015-04-20 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

vries at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu.org,
   ||vries at gcc dot gnu.org

--- Comment #58 from vries at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #57)
 See also PR64950

[ Adding alpha maintainer to cc. ]

Given the fix of PR64950, we should be able to remove the workaround committed
for this PR.


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
No, __emutls_v.a certainly is not a user variable, that is an artificial
object, the thread local variable of course lives elsewhere.
You could just drop the stabs for TLS vars on the floor, stabs really doesn't
have extensions to describe the TLS vars.  Like:
--- gcc/dbxout.c 2015-02-04 23:36:33.875630546 +0100
+++ gcc/dbxout.c 2015-04-20 12:27:14.579948127 +0200
@@ -2999,6 +2999,8 @@ dbxout_symbol_location (tree decl, tree

   if (MEM_P (home)  GET_CODE (XEXP (home, 0)) == SYMBOL_REF)
 {
+  if (SYMBOL_REF_TLS_MODEL (XEXP (home, 0)) != TLS_MODEL_NONE)
+return 0;
   if (TREE_PUBLIC (decl))
 {
   int offs;

The disadvantage of doing that is that (at least on x86_64-linux with
-gstabs+), ptype a etc. will stop working, but one couldn't inspect the
variables there either, you really need DWARF for that.
p a
$3 = (struct S (*)[10]) 0x0
is of course wrong.  So, I'd classify this as a buggy Apple toolchain, but the
above patch might be just ok and not really break anything anyone cares about.


[Bug middle-end/65796] unnecessary stack spills during complex numbers function calls

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65796

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-04-20
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
There is some older bug where I noticed the same issue.  It's basically an
artifact of the x86 calling conventions and GCC going through generic
argument setup code (and RTL optimizers not being able to optimize
spill + load into unpcklps).

That said, somebody needs to find the duplicate bugreport.

PR48607 is also related.


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Ok, thus what shall we do? Shall we go back to my minimal patch which only
touched enums? https://gcc.gnu.org/ml/gcc-patches/2014-08/msg00880.html


[Bug c/65812] gcc 4.9.1 doesn't warn about uninitialized variable use declared in a switch/case statement when compiled with -O

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65812

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
This changed supposedly with r138933 and from that PR20644 I think it is quite
clear this is intentional.  The code in foo_2 is conditional (on a condition
later proved to be always true, though), so we really don't want to warn on it
early, because it might be in dead code, and we don't warn for it late because
it really is dead code, optimized away as nothing uses it.  If you add say a
global void *b; variable and change the a = a; statements to b = a;, then it
will warn even when optimizing, as the code won't be dead.


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #3 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Created attachment 35361
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35361action=edit
assembly created by r211652


[Bug target/65810] powerpc64 alignment of r2 insufficient for loading long-double constants

2015-04-20 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65810

--- Comment #5 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Why is this not seen on powerpc64-unknown-linux-gnu at
https://gcc.gnu.org/ml/gcc-testresults/2015-04/msg02317.html?


[Bug c++/65811] [6 Regression] ice in vague_linkage_p

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65811

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-04-20
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |6.0
Summary|ice in vague_linkage_p  |[6 Regression] ice in
   ||vague_linkage_p
 Ever confirmed|0   |1

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


[Bug c/65812] gcc 4.9.1 doesn't warn about uninitialized variable use declared in a switch/case statement when compiled with -O

2015-04-20 Thread joe at perches dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65812

--- Comment #3 from Joe Perches joe at perches dot com ---
Thank you both for your very prompt replies.

It might be useful to have a -Wunused-eliminated type extra warning
though that might be very noisy.


[Bug tree-optimization/65797] [5 regression] IPA ICF causes function to be emitted with no debug line info

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65797

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.2


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #4 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Created attachment 35362
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35362action=edit
assembly created by r211698

The difference between the assembly created by r211652 and r211698 is the
single line

 .stabsa:G(0,17)=ar(0,18)=r(0,18);0;0377;;0;9;(0,16),32,0,6,0


[Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g

2015-04-20 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65549

--- Comment #30 from rguenther at suse dot de rguenther at suse dot de ---
On Fri, 17 Apr 2015, jason at gcc dot gnu.org wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65549
 
 Jason Merrill jason at gcc dot gnu.org changed:
 
What|Removed |Added
 
  CC||jason at gcc dot gnu.org
 
 --- Comment #29 from Jason Merrill jason at gcc dot gnu.org ---
 (In reply to Jakub Jelinek from comment #17)
  Lambda functions aren't really nested functions in the tree-nested.c sense,
  but still are so closely related to the functions they are nested in that
  IMHO it would be desirable not to split them off into separate partitions,
  not just temporarily for GCC 5 for debug info reasons.
 
 Agreed.  decl_function_context of the lambda function should give you the
 containing function.

As far as I understood imposing constraints like this to the partitioner
is hard because either you implement the same constraints into the inliner
as well or you eventually blow up partition sizes.

I'm also not 100% sure the issue we hit in dwarf2out is specific
to lambdas or nested functions - it might very well trigger with
regular C++ classes as well, just harder to reproduce.

So at least for branches I think my patch is the way to go - eventually
guarded with in_lto_p (if you really insist on that...)


[Bug target/64134] (vector float){0, 0, b, a} Uses stores when it does not need to

2015-04-20 Thread alalaw01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64134

--- Comment #3 from alalaw01 at gcc dot gnu.org ---
Author: alalaw01
Date: Mon Apr 20 10:29:26 2015
New Revision: 29

URL: https://gcc.gnu.org/viewcvs?rev=29root=gccview=rev
Log:
[AArch64] PR/64134: Make aarch64_expand_vector_init use 'ins' more often

gcc/:

PR target/64134
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
and overwrite variable parts if = 1/2 the elements are variable.

gcc/testsuite/:

PR target/64134
* gcc.target/aarch64/vec_init_1.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/aarch64/vec_init_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.c
trunk/gcc/testsuite/ChangeLog


[Bug c/65812] New: gcc 4.9.1 doesn't warn about uninitialized variable use declared in a switch/case statement when compiled with -O

2015-04-20 Thread joe at perches dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65812

Bug ID: 65812
   Summary: gcc 4.9.1 doesn't warn about uninitialized variable
use declared in a switch/case statement when compiled
with -O
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: joe at perches dot com

Created attachment 35365
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35365action=edit
sample code

Here is a small example:

$ cat t.c
struct foo {
   int bar[100];
};

void foo_1(void)
{
unsigned int m;
extern struct foo *array[100];
struct foo *a = array[m];

a = a;
}

void foo_2(void)
{
int i = 1;

switch (i) {
case 1: {
unsigned int m;
extern struct foo *array[100];
struct foo *a = array[m];

a = a;
break;
}
}
}

$

gcc warns properly about both foo_1 and foo_2 without -O

$ gcc -c -Wall t.c
t.c: In function ‘foo_1’:
t.c:9:14: warning: ‘m’ is used uninitialized in this function [-Wuninitialized]
  struct foo *a = array[m];
  ^
t.c: In function ‘foo_2’:
t.c:21:15: warning: ‘m’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
   struct foo *a = array[m];
   ^
$

but gcc warns about foo_1 but not foo_2 with -O

$ gcc -c -Wall -O t.c
t.c: In function ‘foo_1’:
t.c:9:14: warning: ‘m’ is used uninitialized in this function [-Wuninitialized]
  struct foo *a = array[m];
  ^

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.1-16ubuntu6'
--with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.9 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.1 (Ubuntu 4.9.1-16ubuntu6)

[Bug c/65673] Compound literal with initializer for zero-sized array drops other initializers

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65673

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
The following seems to work and regtests cleanly.  But I have to say I'm
somewhat dubious now about changing this at all.  I suppose I should try to
compile e.g. the Linux kernel with this patch and see if anything breaks.

diff --git gcc/c/c-typeck.c gcc/c/c-typeck.c
index ebe4c73..590e235 100644
--- gcc/c/c-typeck.c
+++ gcc/c/c-typeck.c
@@ -7565,7 +7565,7 @@ pop_init_level (location_t loc, int implicit,
   /* Silently discard empty initializations.  The parser will
  already have pedwarned for empty brackets.  */
   if (integer_zerop (constructor_unfilled_index))
-constructor_type = NULL_TREE;
+/* Do nothing.  */;
   else
 {
   gcc_assert (!TYPE_SIZE (constructor_type));


[Bug tree-optimization/65802] [6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2335

2015-04-20 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65802

--- Comment #6 from vries at gcc dot gnu.org ---
(In reply to vries from comment #5)
 So the question is: should ifn_va_arg have ECF_NOTHROW?

Adding ECF_NOTHROW to ifn_va_arg also fixes the ICE.

And at gimplify_va_arg_expr, the VA_ARG_EXPR tree is non-throwing:
...
(gdb) call debug_generic_expr (*expr_p )
VA_ARG_EXPR c
(gdb) call debug_tree (*expr_p )
 va_arg_expr 0x7661e9a0
type pointer_type 0x764c97e0
type integer_type 0x764a7690 int public SI
size integer_cst 0x764c50a8 constant 32
unit size integer_cst 0x764c50c0 constant 4
align 32 symtab 0 alias set -1 canonical type 0x764a7690
precision 32 min integer_cst 0x764c5060 -2147483648 max integer_cst
0x764c5078 2147483647
pointer_to_this pointer_type 0x764c97e0
sizes-gimplified unsigned DI
size integer_cst 0x764a3e58 constant 64
unit size integer_cst 0x764a3e70 constant 8
align 64 symtab 0 alias set -1 canonical type 0x764c97e0
pointer_to_this pointer_type 0x76622540
side-effects
arg 0 var_decl 0x764b0c60 c
type array_type 0x764ccbd0 __builtin_va_list type record_type
0x764cc738 __va_list_tag
sizes-gimplified BLK
size integer_cst 0x764c5318 constant 192
unit size integer_cst 0x764c52e8 constant 24
align 64 symtab 0 alias set -1 canonical type 0x764cc888 domain
integer_type 0x764cc7e0
used tree_1 decl_5 BLK file test.cc line 13 col 25 size integer_cst
0x764c5318 192 unit size integer_cst 0x764c52e8 24
align 64 context function_decl 0x766240d8 fn1
test.cc:15:32
(gdb) call tree_could_throw_p (*expr_p )
$1 = false
...

I'll bootstrap and reg-test this fix.


[Bug rtl-optimization/65805] [5 Regression] Chromium gets miscompiled

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65805

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||6.0
   Target Milestone|--- |5.2
Summary|[5/6 Regression] Chromium   |[5 Regression] Chromium
   |gets miscompiled|gets miscompiled
  Known to fail||5.1.0


[Bug target/65807] [5 Regression] ICE () on powerpc64le-linux-gnu

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65807

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.2

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Looks like debug related (we GC walk DIEs).


[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to rguent...@suse.de from comment #4)
 On Fri, 17 Apr 2015, hjl.tools at gmail dot com wrote:
 
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788
  
  H.J. Lu hjl.tools at gmail dot com changed:
  
 What|Removed |Added
  
   Status|WAITING |ASSIGNED
  
  --- Comment #3 from H.J. Lu hjl.tools at gmail dot com ---
  (In reply to Richard Biener from comment #2)
   Can't reproduce with r222165 and -O3 -funroll-loops -ffast-math.
  
  But my bug report is against
  
  -O3 -funroll-loops -ffast-math -fwhole-program -flto=jobserver
  -fuse-linker-plugin
  
  not -O3 -funroll-loops -ffast-math.  r222168 still has the same bug.
 
 My bad - I uses
 
 -O3 -funroll-loops -ffast-math -flto=jobserver 
 
 linker-plugin gets used automatically for me and -fwhole-program
 should be a no-op with linker-plugin.  I can re-double-check that
 on Monday though.

Works for me again.


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Target|x86_64-apple-darwin14.3 |*-apple-darwin*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-04-20
   Host|x86_64-apple-darwin14.3 |*-apple-darwin*
Summary|FAIL:   |[5/6 Regression] FAIL:
   |gcc.dg/debug/pr65771.c  |gcc.dg/debug/pr65771.c
   |-gstabs+* -O* (test for |-gstabs+* -O* (test for
   |excess errors)  |excess errors)
 Ever confirmed|0   |1
  Build|x86_64-apple-darwin14.3 |*-apple-darwin*

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Reduced range: no warning for r211652. Confirmed by Iain Sandoe on other darwin
targets (including powerpc-apple-darwin9).


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com ---
Well, at the time I think we agreed that we wanted to be strict at least about
enums... Otherwise, yes, we can do that plus setting ok = true in that case
too, thus collapsing the last two ifs (+ reverting the docs change and
adjusting the testsuite).


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #7 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #6)
 No, __emutls_v.a certainly is not a user variable, that is an artificial
 object, the thread local variable of course lives elsewhere.
 You could just drop the stabs for TLS vars on the floor, stabs really
 doesn't have extensions to describe the TLS vars.  Like:
 --- gcc/dbxout.c 2015-02-04 23:36:33.875630546 +0100
 +++ gcc/dbxout.c 2015-04-20 12:27:14.579948127 +0200
 @@ -2999,6 +2999,8 @@ dbxout_symbol_location (tree decl, tree
  
if (MEM_P (home)  GET_CODE (XEXP (home, 0)) == SYMBOL_REF)
  {
 +  if (SYMBOL_REF_TLS_MODEL (XEXP (home, 0)) != TLS_MODEL_NONE)
 +return 0;
if (TREE_PUBLIC (decl))
  {
int offs;
 
 The disadvantage of doing that is that (at least on x86_64-linux with
 -gstabs+), ptype a etc. will stop working, but one couldn't inspect the
 variables there either, you really need DWARF for that.
 p a
 $3 = (struct S (*)[10]) 0x0
 is of course wrong.  So, I'd classify this as a buggy Apple toolchain,

there's nothing apple-specific about this - or even Darwin-specific.
The problem will exist for all the toolchains that use emutls (*iff* they are
interested in STABs debug).

AFAICT ld64 just detected an inconsistency that has gone un-noticed elsewhere, 
if that's really a ld64 bug we should file it… 

OTOH, I agree that there's probably little interest in STABs - even on Darwin
it's only relevant for the most ancient system on the horizon.

 the above patch might be just ok and not really break anything anyone cares
 about.

let's test that out.

[Bug debug/65807] [5 Regression] ICE () on powerpc64le-linux-gnu

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65807

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
  Component|target  |debug
   Target Milestone|5.2 |5.0


[Bug c++/65811] New: ice in vague_linkage_p

2015-04-20 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65811

Bug ID: 65811
   Summary: ice in vague_linkage_p
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com

Created attachment 35364
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35364action=edit
gzipped C++ source code

The attached code, when compiled by gcc trunk dated 20150418, does this

xcsv_tokens.in: In function ‘xt_mapping* in_word_set(const char*, unsigned
int)’
:
xcsv_tokens.in:28:5: internal compiler error: in vague_linkage_p, at
cp/decl2.c:
1866
0x703cde vague_linkage_p(tree_node*)
../../src/trunk/gcc/cp/decl2.c:1866
0x63230c maybe_commonize_var(tree_node*)
../../src/trunk/gcc/cp/decl.c:5200
0x65fff5 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../src/trunk/gcc/cp/decl.c:6692
0x750d6e cp_parser_init_declarator
../../src/trunk/gcc/cp/parser.c:17280

[Bug c/65812] gcc 4.9.1 doesn't warn about uninitialized variable use declared in a switch/case statement when compiled with -O

2015-04-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65812

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-04-20
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
This is because at the point where we warn we don't know that the code is
executed unconditionally and with optimization we don't warn about
maybe-uninitialized uses early.

Late we have removed all code as dead and thus do not warn either.

I'd say it works as intended (even though surprising).


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #8 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Iain Sandoe from comment #7)
 (In reply to Jakub Jelinek from comment #6)

  --- gcc/dbxout.c 2015-02-04 23:36:33.875630546 +0100
  +++ gcc/dbxout.c 2015-04-20 12:27:14.579948127 +0200
  @@ -2999,6 +2999,8 @@ dbxout_symbol_location (tree decl, tree
   
 if (MEM_P (home)  GET_CODE (XEXP (home, 0)) == SYMBOL_REF)
   {
  +  if (SYMBOL_REF_TLS_MODEL (XEXP (home, 0)) != TLS_MODEL_NONE)
  +return 0;
 if (TREE_PUBLIC (decl))
   {
 int offs;

hmm .. not as things stand ..

(gdb) p debug_rtx(home)
(mem/c:BLK (symbol_ref:SI (__emutls_v.a) [flags 0x1402] var_decl 0x14260ed80
__emutls_v.a) [0 __emutls_v.a+0 S16 A32])

(flags [5:3] contain the tls model which is 0 == TLS_MODEL_NONE in the case
above).

Current language:  auto; currently c++
(gdb) p debug_tree(decl)
 var_decl 0x14260e990 a
type array_type 0x14271d888
type record_type 0x14271d738 S type_0 DI
size integer_cst 0x142601d20 constant 64
unit size integer_cst 0x142601d38 constant 8
align 32 symtab 18 alias set -1 canonical type 0x14271d738 fields
field_decl 0x142626980 s context translation_unit_decl 0x1424cf258 D.1823
pointer_to_this pointer_type 0x14271d930 chain type_decl
0x1426268e8 D.1815
BLK
size integer_cst 0x14261d300 constant 640
unit size integer_cst 0x142712870 constant 80
align 32 symtab 0 alias set -1 canonical type 0x14271d888
domain integer_type 0x14271d7e0 type integer_type 0x1426050a8
sizetype
SI
size integer_cst 0x142601cc0 constant 32
unit size integer_cst 0x142601cd8 constant 4
align 32 symtab 0 alias set -1 canonical type 0x14271d7e0 precision
32 min integer_cst 0x142601cf0 0 max integer_cst 0x142712810 9
addressable used public static BLK file
/GCC/gcc-trunk/gcc/testsuite/gcc.dg/debug/pr65771.c line 6 col 19 size
integer_cst 0x14261d300 640 unit size integer_cst 0x142712870 80
align 32 context translation_unit_decl 0x1424cf258 D.1823
value-expr var_decl 0x14260ed80 __emutls_v.a
type record_type 0x14271dd20 __emutls_object BLK
size integer_cst 0x14261d030 constant 128
unit size integer_cst 0x14261d048 constant 16
align 32 symtab 0 alias set -1 canonical type 0x14271dd20 fields
field_decl 0x142626c78 __size
asm_written used public static ignored BLK file
/GCC/gcc-trunk/gcc/testsuite/gcc.dg/debug/pr65771.c line 6 col 19 size
integer_cst 0x14261d030 128 unit size integer_cst 0x14261d048 16
align 32 context translation_unit_decl 0x1424cf258 D.1823 initial
constructor 0x1427129a8
(mem/c:BLK (symbol_ref:SI (__emutls_v.a) [flags 0x1402] var_decl
0x14260ed80 __emutls_v.a) [0 __emutls_v.a+0 S16 A32]) chain var_decl
0x14260ea20 b

(gdb) p decl-decl_common.ignored_flag
$3 = 0
(gdb) p decl_tls_model(decl)  
$4 = TLS_MODEL_NONE


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com ---
Yes, I was thinking that in such cases clang does something we don't normally
do (ie, an hard error by default suppressible with a -Wno-*). Let me see if we
can achieve that as you suggested.


[Bug tree-optimization/65752] Too strong optimizations int - pointer casts

2015-04-20 Thread gcc at robbertkrebbers dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65752

--- Comment #12 from Robbert gcc at robbertkrebbers dot nl ---
(In reply to Richard Biener from comment #10)
 and see how this will make PTA useless (all pointers passed to a function
 whose result might be used in a way to take advantage of an equality relation
 need to be considered pointing to anything).  [and then thorougly specify
 take advantage of an equality relation]
That is undesired indeed.

Only in case a pointer has been obtained via a construction that breaks
abstraction (for example, if it has been obtained via an int - pointer casts,
or by poking bytes somewhere and then reinterpreting these as a pointer)
convervative PTA assumptions should be made.


[Bug c/65808] -pedantic -std=gnu11 results in warning for transparent_union usage

2015-04-20 Thread equinox-gccbugs at diac24 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65808

--- Comment #2 from David L. equinox-gccbugs at diac24 dot net ---
(In reply to Marek Polacek from comment #1)
 I don't think it is a bug.  If you use -pedantic, it doesn't matter whether
 -std=c11 or -std=gnu11 (the default) is in effect.
 If you want to suppress the warning, use __extension__ as you did in the
 test().

Hm.  It doesn't seem to produce a warning for the system's/glibc's wait()
definition, even though there is no __extension__ on that.  I guess that's
special-handling for system headers(?)

(Either way our target language is C with gcc/clang/icc common extensions, so
I guess -pedantic is not appropriate...)


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #10 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #9)
 Then perhaps one needs to check
 
 TREE_CODE (decl) == VAR_DECL
  (TREE_STATIC (decl) || DECL_EXTERNAL (decl))
  decl_tls_model (decl) != TLS_MODEL_NONE
 
 instead.

except for:
(gdb) p decl_tls_model(decl)  
$4 = TLS_MODEL_NONE

which doesn't seem right .. but haven't got a chance to debug further right
now.


[Bug c++/65815] New: std::array initialization with initializer list: a = {x,y,z} incorrectly flagged as syntax error

2015-04-20 Thread andras.aszodi at csf dot ac.at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65815

Bug ID: 65815
   Summary: std::array initialization with initializer list: a =
{x,y,z} incorrectly flagged as syntax error
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: andras.aszodi at csf dot ac.at

On Page 975 of The C++ Programming Language, 4th edition, Bjarne Stroustrup
says:

An array can be initialized by an initializer list:
arrayint,3 a1 = { 1, 2, 3 };

and Clang (V 3.5) accepts it. However, G++ 4.9.2 thinks this is an error:

error: array must be initialized with a brace-enclosed initializer
 const std::arraydouble, 3 _ar0val = {1.0, -1.0, 1.0};

The ugly fix is:

#ifdef __GNUC__
const std::arraydouble, 3 _ar0val{{1.0, -1.0, 1.0}};
#else
const std::arraydouble, 3 _ar0val = {1.0, -1.0, 1.0};
#endif

but of course it is still a bug.


[Bug c/65808] -pedantic -std=gnu11 results in warning for transparent_union usage

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65808

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
(In reply to David L. from comment #2)
 Hm.  It doesn't seem to produce a warning for the system's/glibc's wait()
 definition, even though there is no __extension__ on that.  I guess that's
 special-handling for system headers(?)

Yes, likely: if you put the declarations in your test case into a header file
along with #pragma GCC system_header, you won't see any warnings.

I'm marking this as resolved.  If anyone thinks I'm wrong, please reopen.


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org ---
(In reply to Paolo Carlini from comment #5)
 Well, at the time I think we agreed that we wanted to be strict at least
 about enums... Otherwise, yes, we can do that plus setting ok = true in that
 case too, thus collapsing the last two ifs (+ reverting the docs change and
 adjusting the testsuite).

I think that for constants, we want it to be an error without -Wno-narrowing. 
I wonder if the best way to get that is to set pedantic_errors around the
pedwarn call?


[Bug c/64918] invalid (?) warning when initializing structure

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64918

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
Could be fixed with adding -Woverride-init-side-effects, but not sure if it's
worth it.


[Bug debug/65809] [5/6 Regression] FAIL: gcc.dg/debug/pr65771.c -gstabs+* -O* (test for excess errors)

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65809

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
Then perhaps one needs to check

TREE_CODE (decl) == VAR_DECL
 (TREE_STATIC (decl) || DECL_EXTERNAL (decl))
 decl_tls_model (decl) != TLS_MODEL_NONE

instead.


[Bug c/65812] gcc 4.9.1 doesn't warn about uninitialized variable use declared in a switch/case statement when compiled with -O

2015-04-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65812

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Sure.


[Bug c++/65681] [c++-concepts] spurious ambiguous template instantiation error; regression from r211824

2015-04-20 Thread andrew.n.sutton at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65681

--- Comment #1 from Andrew Sutton andrew.n.sutton at gmail dot com ---
This is a good one. It is a regression, but it didn't have to do with the
resolution of partial specializations.

The substitution into requires-expressions was too eagerly doing full semantic
on analysis on simple and compound requirements, and that was causing a later
constraint check for a member function to fail unexpectedly.

Substituting a concrete type (say, MA2) into the constraint !CA2MA2 is
generating a requirement for the expression t.MA2::mf(). When we go to check
that letter, we perform another substitution with the expectation that, in this
case, the result would be identical to the original since it's already been
resolved. However, the substitution actually rebuilds the call expression and
tries to resolve it as MA2::mf(t), which fails.

Anyways, this is resolved by deferring all semantic analysis to constraint
checking, and not allowing it to happen when we substitute into requirements.

Fixed in r36.


[Bug other/65732] stack overflow while demangling _ZNK7VectorTIfEmlIfvEES_IDTmlcvf_EcvT__EEERKS2_

2015-04-20 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65732

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-04-20
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
_ZN23Parma_Polyhedra_Library9OR_MatrixINS_14Checked_NumberI10__gmp_exprIA1_12__mpz_structS4_ENS_26WRD_Extended_Number_Policy16any_row_iteratorIKS7_EpLImEENS_9Enable_IfIXgtcvT_ngLi1ELi0EERSB_E4typeESE_

_ZN2kjmlIllNS_1_15NanosecondLabelEEENS_8QuantityIDTmlcvT_Li1EcvT0_Li1EET1_EES4_NS3_IS5_S7_EE


[Bug c++/65816] Constructor delegation does not perform zero-initialization

2015-04-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65816

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-04-20
 Ever confirmed|0   |1


[Bug tree-optimization/65658] Jump threading too pessimistic when optimizing for size

2015-04-20 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65658

--- Comment #2 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Mon Apr 20 17:13:52 2015
New Revision: 42

URL: https://gcc.gnu.org/viewcvs?rev=42root=gccview=rev
Log:
PR tree-optimization/65658
* tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
statements too.

PR tree-optimization/65658
* gcc.dg/pr65658.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr65658.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-threadupdate.c


[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

--- Comment #10 from H.J. Lu hjl.tools at gmail dot com ---
Created attachment 35366
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35366action=edit
A testcase

[hjl@gnu-6 gcc]$ ./lto1 -quiet -dumpdir ./ -dumpbase gamess.ltrans29
-mtune=generic -march=x86-64 -mtune=generic -march=x86-64 -auxbase-strip
gamess.ltrans29.ltrans.o -O3 -O3 -version -fno-math-errno -fno-signed-zeros
-fno-trapping-math -fno-trapv -fno-openmp -fno-openacc -funroll-loops
-ffast-math -fwhole-program -fuse-linker-plugin -fltrans gamess.ltrans29.o -o
gamess.ltrans29.s
GNU GIMPLE (GCC) version 6.0.0 20150420 (experimental)
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version
5.1.2, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU GIMPLE (GCC) version 6.0.0 20150420 (experimental)
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version
5.1.2, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
cisgrd.fppized.f: In function ‘cisao’:
cisgrd.fppized.f:319:0: internal compiler error: in set_lattice_value, at
tree-ssa-ccp.c:524
0xd98eff set_lattice_value
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-ccp.c:524
0xd9fd16 visit_assignment
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-ccp.c:2272
0xd9ff1d ccp_visit_stmt
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-ccp.c:2341
0xe43186 simulate_stmt
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-propagate.c:348
0xe435c6 process_ssa_edge_worklist
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-propagate.c:462
0xe449dd ssa_propagate(ssa_prop_result (*)(gimple_statement_base*, edge_def**,
tree_node**), ssa_prop_result (*)(gphi*))
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-propagate.c:936
0xda00b5 do_ssa_ccp
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-ccp.c:2387
0xda016e execute
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-ccp.c:2420
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.

[Bug target/65697] __atomic memory barriers not strong enough for __sync builtins

2015-04-20 Thread mwahab at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65697

--- Comment #41 from mwahab at gcc dot gnu.org ---
(In reply to torvald from comment #38)
 (In reply to Andrew Macleod from comment #34)
 
 Also, if you look at the IA-64 __sync_lock_release vs. GCC docs'
 __sync_lock_release, the latter is like x86/TSO.  Do you have any info on
 which other semantics __sync was supposed to adhere to?
 
 One potential way to solve it would be to just require code that uses __sync
 to more or less implement an IA-64 or x86 memory model, modulo allowing
 compiler-reordering and optimization between adjacent non-__sync memory
 accesses.  This could be inefficient on ARM (see James' examples) and
 perhaps Power too (or not -- see Jakub's comments).

If the __sync barriers are as described in the GCC manual, that a barrier is
atomic and its restrictions apply to all data references, then the Aarch64
backend doesn't currently emit strong enough barriers.

For MEMMODEL_SEQ_CST, the problem was visible enough and the solution I
suggested (extending the set of available memmodel types) was simple enough
that the changes it would need could be justified. I don't think that's true
for the MEMMODEL_ACQUIRE case which seems to be much less likely to be seen and
would be rather more disruptive.

I believe that Aarch64 is the only current target where the code needs to be
strengthened. Since extending the set of memmodels is difficult to justify and
(IMO) so is resurrecting the __sync patterns, I suggest just adding a target
hook to allow the expansion of __sync calls to be overridden. That will allow
Aarch64 to set a target-specific memmodel value, as is currently allowed, which
can then be passed through the existing __atomics mechanisms in the middle
through to the Aarch64 backend. No other backend will need to be touched.

If it happens that future architectures have a similar problem then we can
reconsider whether any changes need to be made in the target-independent
expansions.

Does that sounds like a reasonable approach?


[Bug go/65813] GO: bug347.go segment violation on S390x

2015-04-20 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65813

--- Comment #1 from Ian Lance Taylor ian at airs dot com ---
I think you know this, but to be clear, the test is supposed to dereference a
null pointer, and then it's supposed to recover from the run time panic.

The program should unwind the stack for the signal and call __go_check_defer
which should invoke the deferred function.  Can you find out where that process
is going awry?

If the recover* tests pass, then this test ought to pass, or at least it ought
not to fail in this way.


[Bug go/65813] GO: bug347.go segment violation on S390x

2015-04-20 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65813

Dominik Vogt vogt at linux dot vnet.ibm.com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Sorry, this turned out to be the same problem we had with Glibc a while ago. 
Somehow the broken Glibc had been reactivated.  Not a Go or Gcc problem.


[Bug middle-end/65788] [6 Regression] 416.gamess in SPEC CPU 2006 failed to build

2015-04-20 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65788

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|WAITING |NEW


[Bug c++/65815] std::array initialization with initializer list: a = {x,y,z} incorrectly flagged as syntax error

2015-04-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65815

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-04-20
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Works for me, please provide a complete testcase and your exact g++ command.

https://gcc.gnu.org/bugs/


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com ---
Created attachment 35367
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35367action=edit
Draft patch


[Bug c/65606] Internal compiler error in linux-next 2015-03-25

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65606

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Feedback not coming.


[Bug c++/65816] New: Constructor delegation does not perform zero-initialization

2015-04-20 Thread dyp-cpp at gmx dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65816

Bug ID: 65816
   Summary: Constructor delegation does not perform
zero-initialization
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dyp-cpp at gmx dot net

In the following program, I expect the object `t` to be zero-initialized via
constructor delegation. Clang++ does this, but g++ 6.0 2015-04-20 does not.

-

struct test
{
int m;

test() = default;
test(int) : test() {}
};

#include iostream

int main()
{
test t(0);
std::cout  t.m;
}

-

While C++14 IS [class.base.init]p6 is unclear about this, as far as I can tell,
paragraph 7 implies (in the parenthesized clause) that the constructor
`test(int)` is required to value-initialize the object:

 The expression-list or braced-init-list in a mem-initializer is used to 
 initialize the designated subobject (or, in the case of a delegating 
 constructor, the complete class object) according to the initialization rules 
 of 8.5 for direct-initialization.

The class `test` does not have a user-provided default constructor, hence
zero-initialization should be performed as per [dcl.init]p8.2


[Bug c++/65815] std::array initialization with initializer list: a = {x,y,z} incorrectly flagged as syntax error

2015-04-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65815

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Hm?  This compiles just fine for me:

#include array
const std::arraydouble, 3 q1 = {1.0, -1.0, 1.0};
const std::arraydouble, 3 q2{{1.0, -1.0, 1.0}};

So can you provide a complete test case?


[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com ---
Jason, as far as I can see *nowhere* else in the compiler we fiddle with
flag_pedantic_errors, all the tweaks I tried look super hackish to me :( If we
are Ok with just going back to pedwarns the attached passes testing...


[Bug plugins/65817] New: libcc1: ICE: SEGV: c_incomplete_type_error()

2015-04-20 Thread jan.kratochvil at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65817

Bug ID: 65817
   Summary: libcc1: ICE: SEGV: c_incomplete_type_error()
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: plugins
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jan.kratochvil at redhat dot com
CC: pmuldoon at redhat dot com
  Host: x86_64-linux-gnu
Target: x86_64-linux-gnu

r30

Current libcc1 uses just: make_node (RECORD_TYPE)
which crashes on:
  if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
as TYPE_NAME (type) == NULL .

Actual:
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.
Event| Plugins
PLUGIN_PRE_GENERICIZE| libcc1plugin
PLUGIN_GGC_MARKING   | libcc1plugin
PLUGIN_PRAGMAS   | libcc1plugin
gdb command line:1:1: internal compiler error: Segmentation fault
0xb1c4af crash_signal
../../gccgitatsign/gcc/toplev.c:383
0x618794 c_incomplete_type_error(tree_node const*, tree_node const*)
../../gccgitatsign/gcc/c/c-typeck.c:282
0x623750 c_incomplete_type_error(tree_node const*, tree_node const*)
../../gccgitatsign/gcc/c/c-typeck.c:235
0x623750 build_component_ref(unsigned int, tree_node*, tree_node*)
../../gccgitatsign/gcc/c/c-typeck.c:2304
0x654fb3 c_parser_postfix_expression_after_primary
../../gccgitatsign/gcc/c/c-parser.c:7925
0x6478f6 c_parser_postfix_expression
../../gccgitatsign/gcc/c/c-parser.c:7715
0x649f5a c_parser_unary_expression
../../gccgitatsign/gcc/c/c-parser.c:6602
0x65122f c_parser_cast_expression
../../gccgitatsign/gcc/c/c-parser.c:6440
0x651412 c_parser_binary_expression
../../gccgitatsign/gcc/c/c-parser.c:6255
0x651f75 c_parser_conditional_expression
../../gccgitatsign/gcc/c/c-parser.c:6031
0x652560 c_parser_expr_no_commas
../../gccgitatsign/gcc/c/c-parser.c:5949

0x652c52 c_parser_expression
../../gccgitatsign/gcc/c/c-parser.c:8022
0x653689 c_parser_expression_conv
../../gccgitatsign/gcc/c/c-parser.c:8055
0x661978 c_parser_statement_after_labels
../../gccgitatsign/gcc/c/c-parser.c:5115
0x663173 c_parser_compound_statement_nostart
../../gccgitatsign/gcc/c/c-parser.c:4701
0x66399e c_parser_compound_statement
../../gccgitatsign/gcc/c/c-parser.c:4538
0x661a67 c_parser_statement_after_labels
../../gccgitatsign/gcc/c/c-parser.c:4964
0x663173 c_parser_compound_statement_nostart
../../gccgitatsign/gcc/c/c-parser.c:4701
0x66399e c_parser_compound_statement
../../gccgitatsign/gcc/c/c-parser.c:4538
0x65fc80 c_parser_declaration_or_fndef
../../gccgitatsign/gcc/c/c-parser.c:1982
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
Compilation failed.

Expected:
gdb command line:1:1: error: invalid use of incomplete typedef ‘({anonymous})’

1586c8fbaf0116931ffacd1746a6540c81c2d438 GDB commit

[Bug plugins/65817] libcc1: ICE: SEGV: c_incomplete_type_error()

2015-04-20 Thread jan.kratochvil at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65817

--- Comment #1 from Jan Kratochvil jan.kratochvil at redhat dot com ---
Created attachment 35368
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35368action=edit
GDB patch

GDB patch to crash GCC.

together with:
cat 1.c EOH
// b tree.c:build_qualified_type
// p TYPE_SIZE (type)
volatile struct sv { volatile struct sv *p; } sv; // CRASH: compile code sv.p =
sv;
volatile struct s { int i; } s, *sp; // OK: compile code sp = s;
int main(void) { return 0; }
EOH
gcc -o 1 1.c -Wall -g;noGDBHOOK=1
PATH=/home/jkratoch/redhat/gccgitatsign-root/bin:$PATH
LD_LIBRARY_PATH=/home/jkratoch/redhat/gccgitatsign-root/lib64 ../gdb ./1 -ex
start -ex 'set debug compile 0' -ex 'compile code sv.p = sv;printf(%p
%p\n,sv,sv.p);'


[Bug plugins/65817] libcc1: ICE: SEGV: c_incomplete_type_error()

2015-04-20 Thread jan.kratochvil at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65817

--- Comment #2 from Jan Kratochvil jan.kratochvil at redhat dot com ---
Created attachment 35369
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35369action=edit
Attempted GCC fix.

With this GCC fix and the GDB reproducer it looks as fixed:

gdb command line:1:1: error: invalid use of incomplete typedef ‘({anonymous})’

But after running gdb.compile/compile.exp one gets another crash so this GCC
fix is probably not right.

compile code struct_object.selffield = struct_object^M
gdb command line:1:1: error: cannot convert gdb type to gcc type^M
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.^M
Event| Plugins^M
PLUGIN_PRE_GENERICIZE| libcc1plugin^M
PLUGIN_GGC_MARKING   | libcc1plugin^M
PLUGIN_PRAGMAS   | libcc1plugin^M
gdb command line:1:1: internal compiler error: tree check: expected class
'type', have 'exceptional' (error_mark) in plugin_build_add_field, at
libcc1/plugin.cc:533^M
0xd7d007 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)^M
../../gccgitatsign/gcc/tree.c:9350^M
0x7f61d20f1084 tree_class_check(tree_node*, tree_code_class, char const*, int,
char const*)^M
../../gccgitatsign/libcc1/../gcc/tree.h:2969^M
0x7f61d20ef461 plugin_build_add_field(cc1_plugin::connection*, unsigned long
long, char const*, unsigned long long, unsigned long, unsigned long)^M
../../gccgitatsign/libcc1/plugin.cc:533^M
0x7f61d20f6407 cc1_plugin::connection::do_wait(bool)^M
../../gccgitatsign/libcc1/connection.cc:144^M
0x7f61d20f12be cc1_plugin::connection::wait_for_result()^M
../../gccgitatsign/libcc1/connection.hh:72^M
0x7f61d20f1edd cc1_plugin::status cc1_plugin::callint, gcc_c_oracle_request,
char const*(cc1_plugin::connection*, char const*, int*, gcc_c_oracle_request,
char const*)^M
../../gccgitatsign/libcc1/rpc.hh:227^M
0x7f61d20ee778 plugin_binding_oracle^M
../../gccgitatsign/libcc1/plugin.cc:278^M
0x5fe398 i_symbol_binding^M
../../gccgitatsign/gcc/c/c-decl.c:268^M
0x5fe398 lookup_name(tree_node*)^M
../../gccgitatsign/gcc/c/c-decl.c:3896^M
0x645e44 c_lex_one_token^M
../../gccgitatsign/gcc/c/c-parser.c:363^M
0x663633 c_parser_peek_token^M
../../gccgitatsign/gcc/c/c-parser.c:440^M
0x663633 c_parser_next_token_is^M
../../gccgitatsign/gcc/c/c-parser.c:452^M
0x663633 c_parser_compound_statement_nostart^M
../../gccgitatsign/gcc/c/c-parser.c:4557^M
0x66399e c_parser_compound_statement^M
../../gccgitatsign/gcc/c/c-parser.c:4538^M
0x661a67 c_parser_statement_after_labels^M
../../gccgitatsign/gcc/c/c-parser.c:4964^M
0x663173 c_parser_compound_statement_nostart^M
../../gccgitatsign/gcc/c/c-parser.c:4701^M
0x66399e c_parser_compound_statement^M
../../gccgitatsign/gcc/c/c-parser.c:4538^M
0x65fc80 c_parser_declaration_or_fndef^M
../../gccgitatsign/gcc/c/c-parser.c:1982^M
0x669a97 c_parser_external_declaration^M
../../gccgitatsign/gcc/c/c-parser.c:1452^M
0x66a359 c_parser_translation_unit^M
../../gccgitatsign/gcc/c/c-parser.c:1339^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
Please include the complete backtrace with any bug report.^M
See http://gcc.gnu.org/bugs.html for instructions.^M
Compilation failed.^M
(gdb) FAIL: gdb.compile/compile.exp: compile code struct_object.selffield =
struct_object

BTW the GDB patch is wrong, it is used only as a reproducer of the GCC crash.

[Bug c++/65801] [5/6 Regression] Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801

--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com ---
Created attachment 35370
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35370action=edit
Draft patch 2


  1   2   >