[Bug other/61439] New: contrib/download_prerequisites script does not verify integrity of packages

2014-06-06 Thread jim at garrison dot cc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61439

Bug ID: 61439
   Summary: contrib/download_prerequisites script does not verify
integrity of packages
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jim at garrison dot cc

The InstallingGCC page on the wiki recommends the use of the
contrib/download_prerequisites script for fetching gcc's dependencies. 
However, the script fails to check the integrity of the downloaded files. 
Since it downloads specific versions of packages, perhaps it would be best to
check against the known hash of each tarball.


[Bug tree-optimization/61438] New: ICE on valid code at -O3 on x86_64-linux-gnu in in loop_preheader_edge, at cfgloop.c:1668

2014-06-06 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61438

Bug ID: 61438
   Summary: ICE on valid code at -O3 on x86_64-linux-gnu in in
loop_preheader_edge, at cfgloop.c:1668
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The following code causes an ICE when compiled with the current gcc trunk at
-O3 on x86_64-linux-gnu in both 32-bit and 64-bit modes.

It is a regression from 4.9.x.


$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.10.0 20140606 (experimental) [trunk revision 211322] (GCC) 
$ 
$ gcc-trunk -O2 small.c; a.out
$ gcc-4.9.0 -O3 small.c; a.out
$ 
$ gcc-trunk -O3 small.c
small.c: In function ‘foo’:
small.c:12:1: internal compiler error: in loop_preheader_edge, at
cfgloop.c:1668
 foo ()
 ^
0x62e9ce loop_preheader_edge(loop const*)
../../gcc-trunk/gcc/cfgloop.c:1668
0xa3a6e0 block_before_loop
../../gcc-trunk/gcc/tree-scalar-evolution.h:48
0xa3a6e0 analyze_scalar_evolution(loop*, tree_node*)
../../gcc-trunk/gcc/tree-scalar-evolution.c:2042
0xa3b9ea analyze_scalar_evolution_in_loop
../../gcc-trunk/gcc/tree-scalar-evolution.c:2139
0xa3bb4f simple_iv(loop*, loop*, tree_node*, affine_iv*, bool)
../../gcc-trunk/gcc/tree-scalar-evolution.c:3244
0xae08a9 eliminate_dom_walker::before_dom_children(basic_block_def*)
../../gcc-trunk/gcc/tree-ssa-pre.c:4217
0xe94927 dom_walker::walk(basic_block_def*)
../../gcc-trunk/gcc/domwalk.c:177
0xadd372 eliminate
../../gcc-trunk/gcc/tree-ssa-pre.c:4451
0xadd7c3 execute
../../gcc-trunk/gcc/tree-ssa-pre.c:4867
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.
$ 


-


#include 

int a, c, **d, e, g;
static int b = 1;

struct
{
  int f0;
} f;

void
foo ()
{
  int h, *i = &a;
  for (; e;)
{
  for (c = 0; c < 1; c++)
for (; b;)
  ;
  for (;;)
{
  if (a)
{
  for (; f.f0; f.f0++)
;
  if (g)
break;
}
  for (h = 0; h < 2; h++)
{
  i = *d;
  assert (i);
}
}
}
  assert (i);
}

int
main ()
{
  foo (); 
  return 0;
}

[Bug tree-optimization/61437] New: wrong code on x86_64-linux-gnu when compile separately

2014-06-06 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61437

Bug ID: 61437
   Summary: wrong code on x86_64-linux-gnu when compile separately
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The current gcc trunk miscompiles the following files (foo.c and main.c) on
x86_64-linux in both 32-bit and 64-bit modes. 

This is a regression from 4.9.x. 

The merged file (merged.c) does not trigger the bug.


$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.10.0 20140606 (experimental) [trunk revision 211322] (GCC) 
$ 
$ gcc-trunk -O2 -c foo.c
$ gcc-trunk -O2 -c main.c
$ gcc-trunk -O2 foo.o main.o
$ a.out
a.out: foo.c:9: foo: Assertion `b == 0' failed.
Aborted (core dumped)
$ 
$ gcc-4.9.0 -O2 -c foo.c
$ gcc-4.9.0 -O2 -c main.c
$ gcc-4.9.0 -O2 foo.o main.o
$ a.out
$ 
$ gcc-trunk -O2 merged.c
$ a.out
$ 
$ cat foo.c
#include 

extern int *b, **c; 

int foo (void)
{
  int *t = 0; 
  *c = t;
  assert (b == 0);
}
$ cat main.c
extern int foo (void); 

int a, *b = &a, **c = &b;

int main (void)
{
  foo ();
  return 0;
}
$ 
$ cat merged.c
#include 

int a;
int *b = &a;
int **c = &b;

int
foo ()
{
  int *t = 0;
  *c = t;
  assert (b == 0);
}

int
main ()
{
  foo ();
  return 0;
}
$


[Bug regression/61436] [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61436

Hans-Peter Nilsson  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1


[Bug regression/61436] [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61436

Hans-Peter Nilsson  changed:

   What|Removed |Added

 Target|mmix-knuth-mmixware |mmix-knuth-mmixware,
   ||cris-elf

--- Comment #1 from Hans-Peter Nilsson  ---
Bah, I should've checked my cris-elf autotester, since I suspected an
emutls-related bug.  It confirms the issue, and says the regression was
introduced in (210899:210906], consistent with the previous observations.


[Bug target/61387] [4.10 Regression] ~900 test failures on on x86_64-apple-darwin13 for g++ with -m64 after r211088

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61387

Hans-Peter Nilsson  changed:

   What|Removed |Added

 CC||hp at gcc dot gnu.org

--- Comment #6 from Hans-Peter Nilsson  ---
(In reply to Dominique d'Humieres from comment #5)
> The following patch fixes the failures (not counting new ones:
> g++.dg/debug/dwarf2/imported-decl-2.C and g++.dg/tls/diag-1.C).

Is the g++.dg/tls/diag-1.C the same as in PR61436?
Seems likely as darwin is IIUC an emutls target.


[Bug regression/61436] New: [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61436

Bug ID: 61436
   Summary: [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: regression
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hp at gcc dot gnu.org
CC: hubicka at gcc dot gnu.org
  Host: x86_64-unknown-linux-gnu
Target: mmix-knuth-mmixware

This test previously passed, now it fails.
A patch in the revision range (last_known_working:first_known_failing)
r21:r211121
exposed or caused these regressions.  Since then (up to and including at least
r211290) it fails as follows:

Running /home/hp/gcctop/tmp/mbgnu0/gcc/gcc/testsuite/g++.dg/tls/tls.exp ...
FAIL: g++.dg/tls/diag-1.C -std=c++98 (internal compiler error)
FAIL: g++.dg/tls/diag-1.C -std=c++98 (test for excess errors)
FAIL: g++.dg/tls/diag-1.C -std=c++11 (internal compiler error)
FAIL: g++.dg/tls/diag-1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/tls/diag-1.C -std=c++1y (internal compiler error)
FAIL: g++.dg/tls/diag-1.C -std=c++1y (test for excess errors)

I'm guessing all emutls targets are affected.

The messages in g++.log are similar:

spawn -ignore SIGHUP
/home/hp/gcctop/tmp/mbase0/gccobj/gcc/testsuite/g++/../../xg++
-B/home/hp/gcctop/tmp/mbase0/gccobj/gcc/testsuite/g++/../../
/home/hp/gcctop/tmp/mbase0/gcc/gcc/testsuite/g++.dg/tls/diag-1.C
-fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++
-I/home/hp/gcctop/tmp/mbase0/gccobj/mmix/libstdc++-v3/include/mmix
-I/home/hp/gcctop/tmp/mbase0/gccobj/mmix/libstdc++-v3/include
-I/home/hp/gcctop/tmp/mbase0/gcc/libstdc++-v3/libsupc++
-I/home/hp/gcctop/tmp/mbase0/gcc/libstdc++-v3/include/backward
-I/home/hp/gcctop/tmp/mbase0/gcc/libstdc++-v3/testsuite/util -fmessage-length=0
-std=c++98 -pedantic-errors -Wno-long-long -S -isystem
/home/hp/gcctop/tmp/mbase0/gccobj/mmix/./newlib/targ-include -isystem
/home/hp/gcctop/tmp/mbase0/gcc/newlib/libc/include -o diag-1.s

/home/hp/gcctop/tmp/mbase0/gcc/gcc/testsuite/g++.dg/tls/diag-1.C:31:1: internal
compiler error: in symtab_get_node, at cgraph.h:1035

0xd610c3 symtab_get_node

/home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1032

0xd610c3 varpool_get_node

/home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1074

0xd610c3 varpool_node_for_decl(tree_node*)

/home/hp/gcctop/tmp/mbase0/gcc/gcc/varpool.c:147

0xd54cb4 make_decl_one_only(tree_node*, tree_node*)

/home/hp/gcctop/tmp/mbase0/gcc/gcc/varasm.c:5932

0xb2a14e get_emutls_init_templ_addr

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:254

0xb2a14e get_emutls_init_templ_addr

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:222

0xb2aade new_emutls_decl

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:339

0xb2aade create_emultls_var

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:717

0xd625ef varpool_for_node_and_aliases(varpool_node*, bool (*)(varpool_node*,
void*), void*, bool)

/home/hp/gcctop/tmp/mbase0/gcc/gcc/varpool.c:682

0xb2ba87 ipa_lower_emutls

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:788

0xb2ba87 execute

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:849

Please submit a full bug report,

with preprocessed source if appropriate.


Looking at the code, it seems the assert in symtab_get_node at cgraph.h:1035
trigs. This code was changed in r210901, though the assert was only copied.
Still, many changes around that time by the same author, so there's a good
chance the attribution is correct. :)

A gdb session shows, at the gcc_assert:

(gdb) p decl
$15 = (const_tree) 0x77ea68e8
(gdb) pt
 
unit size 
align 32 symtab 0 alias set -1 canonical type 0x77dbd690 precision
32 min  max 
pointer_to_this >
readonly used public ignored weak SI file
/home/hp/gcctop/tmp/mbase0/gcc/gcc/testsuite/g++.dg/tls/diag-1.C line 25 col 12
size  unit size 
align 32 context >
(gdb) bt
#0  fancy_abort (file=0xfa7550 "/home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h", 
line=1035, function=0xfa77e0 "symtab_get_node")
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/diagnostic.c:1190
#1  0x00d64ed4 in symtab_get_node (decl=0x77ea68e8)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1032
#2  0x00d64f8b in varpool_get_node (decl=0x77ea68e8)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1074
#3  0x00d655fc in varpool_node_for_decl (decl=
)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/varpool.c:147
#4  0x00d58c85 in make_decl_one_only (decl=0x77ea68e8, 
comdat_group=0x77e9ca50)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/varasm.c:5932
#5  0x00b2e11f in get_emutls_init_templ_addr (decl=0x77e94da8)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:254
#6  get_emutls_init_templ_addr (decl=0x77e94da8)
at /home/hp/gcctop/tmp/m

[Bug target/18343] mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18343

--- Comment #5 from Hans-Peter Nilsson  ---
Woops, this PR was actually for an *identical* file in gcc.dg.  Anyway, that
test passes without the patch these days so let's keep this PR closed.


[Bug target/18343] mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18343

Hans-Peter Nilsson  changed:

   What|Removed |Added

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

--- Comment #4 from Hans-Peter Nilsson  ---
No ten-year anniversary, sorry. :]


[Bug target/18343] mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18343

--- Comment #3 from Hans-Peter Nilsson  ---
Author: hp
Date: Fri Jun  6 23:58:33 2014
New Revision: 211333

URL: http://gcc.gnu.org/viewcvs?rev=211333&root=gcc&view=rev
Log:
PR target/18343
* gcc.dg/torture/stackalign/builtin-return-1.c (STACK_ARGUMENTS_SIZE):
New macro, 0 for __MMIX__, default 64.
(bar): Pass it to __builtin_apply instead of literal 64.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #4 from Michael Meissner  ---
Author: meissner
Date: Fri Jun  6 23:52:36 2014
New Revision: 211332

URL: http://gcc.gnu.org/viewcvs?rev=211332&root=gcc&view=rev
Log:
2014-06-06  Michael Meissner  

Back port from trunk
2014-06-06  Michael Meissner  

PR target/61431
* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
iterators, VSX_D that handles 64-bit types, and VSX_LE that
handles swapping the two 64-bit double words on little endian
systems.  Include V1TImode and optionally TImode in VSX_LE so that
these types are properly swapped.  Change all of the insns and
splits that do the 64-bit swaps to use VSX_LE.
(vsx_le_perm_load_): Likewise.
(vsx_le_perm_store_): Likewise.
(splitters for little endian memory operations): Likewise.
(vsx_xxpermdi2_le_): Likewise.
(vsx_lxvd2x2_le_): Likewise.
(vsx_stxvd2x2_le_): Likewise.


Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/rs6000/vsx.md


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #3 from Michael Meissner  ---
Author: meissner
Date: Fri Jun  6 23:46:23 2014
New Revision: 211331

URL: http://gcc.gnu.org/viewcvs?rev=211331&root=gcc&view=rev
Log:
2014-06-06  Michael Meissner  

Back port from trunk
2014-06-06  Michael Meissner  

PR target/61431
* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
iterators, VSX_D that handles 64-bit types, and VSX_LE that
handles swapping the two 64-bit double words on little endian
systems.  Include V1TImode and optionally TImode in VSX_LE so that
these types are properly swapped.  Change all of the insns and
splits that do the 64-bit swaps to use VSX_LE.
(vsx_le_perm_load_): Likewise.
(vsx_le_perm_store_): Likewise.
(splitters for little endian memory operations): Likewise.
(vsx_xxpermdi2_le_): Likewise.
(vsx_lxvd2x2_le_): Likewise.
(vsx_stxvd2x2_le_): Likewise.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/rs6000/vsx.md


[Bug c++/61435] -imacros switch breaks warning/error reporting

2014-06-06 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61435

--- Comment #1 from Andrew Pinski  ---
I think this is a dup of bug 60723.


[Bug c++/61435] New: -imacros switch breaks warning/error reporting

2014-06-06 Thread oliver at bway dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61435

Bug ID: 61435
   Summary: -imacros switch breaks warning/error reporting
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: oliver at bway dot net

SUMMARY: -imacros switch breaks warning/error reporting

When the -imacros switch is used, and the source file has errors or warnings,
the file name in the warning message gets lost and is replaced with
.

GCC VERSION:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--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.8-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-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 --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.8.2 (Ubuntu 4.8.2-19ubuntu1) 


COMMAND LINE WHICH TRIGGERS BUG:

g++ -imacros validinclude.h causeerror.cpp

COMPILER OUTPUT (the output itself is the bug):

:0:1: error: ‘blah’ does not name a type

The source file causeerror.cpp has the one line:
blah

The valid file validinclude.h has the one line:
#define one 1

HERE IS THE .ii file:

# 1 "causeerror.cpp"
# 1 ""
# 1 "./validinclude.h" 1
# 1 "" 2
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "causeerror.cpp"
# 1 "" 2
blah

[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #2 from Michael Meissner  ---
Author: meissner
Date: Fri Jun  6 23:15:36 2014
New Revision: 211329

URL: http://gcc.gnu.org/viewcvs?rev=211329&root=gcc&view=rev
Log:
2014-06-06  Michael Meissner  

PR target/61431
* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
iterators, VSX_D that handles 64-bit types, and VSX_LE that
handles swapping the two 64-bit double words on little endian
systems.  Include V1TImode and optionally TImode in VSX_LE so that
these types are properly swapped.  Change all of the insns and
splits that do the 64-bit swaps to use VSX_LE.
(vsx_le_perm_load_): Likewise.
(vsx_le_perm_store_): Likewise.
(splitters for little endian memory operations): Likewise.
(vsx_xxpermdi2_le_): Likewise.
(vsx_lxvd2x2_le_): Likewise.
(vsx_stxvd2x2_le_): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/vsx.md


[Bug ipa/61283] [4.10 regression] SEGV in pass_ipa_comdats::execute

2014-06-06 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61283

Hans-Peter Nilsson  changed:

   What|Removed |Added

 CC||hp at gcc dot gnu.org

--- Comment #1 from Hans-Peter Nilsson  ---
Also seen for mmix-knuth-mmixware at r211121, worked at r21, host
x86_64-linux.


[Bug tree-optimization/61434] New: wrong code at -O3 on x86_64-linux

2014-06-06 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61434

Bug ID: 61434
   Summary: wrong code at -O3 on x86_64-linux
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The current gcc trunk miscompiles the following code on x86_64-linux at -O3 in
both 32-bit and 64-bit modes.  

This is a regression from 4.9.x. The issue seems to be in the tree vectorizer
as the reported test does not fail with -fno-tree-vectorize. 

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.10.0 20140606 (experimental) [trunk revision 211299] (GCC) 
$ 
$ gcc-trunk -O2 small.c; a.out
$ gcc-trunk -fno-tree-vectorize -O3 small.c; a.out
$ gcc-4.9.0 -O3 small.c; a.out
$ 
$ gcc-trunk -O3 small.c  
$ a.out
Aborted (core dumped)
$ 


-


int a, b[2], c, d, e, f, g;

struct
{
  int f1:1;
  int f2:1;
} w;

void
fn1 (int p1, int p2)
{
  // does nothing 
}

int
main ()
{
  b[1] = 1;
  for (; f < 1; f++)
{
  w.f2 = 0;
  if (w.f1)
fn1 (e++, a++ && d++);
}
  for (; g < 1; g++)
c = b[a];

  if (c != 0) 
__builtin_abort (); 

  return 0;
}


[Bug debug/38757] gcc does not emit DW_LANG_C99

2014-06-06 Thread mark at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38757

--- Comment #6 from Mark Wielaard  ---
Current 4.9 rebased version of the patch is here:
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc49-pr38757.patch


[Bug c++/61433] New: [4.9/4.10 Regression] ICE: SIGSEGV in friend_accessible_p (search.c:778) with -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra

2014-06-06 Thread zsojka at seznam dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61433

Bug ID: 61433
   Summary: [4.9/4.10 Regression] ICE: SIGSEGV in
friend_accessible_p (search.c:778) with -std=gnu++11
-O -fcompare-debug -fno-inline -fno-ipa-pure-const
-fipa-sra
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zsojka at seznam dot cz

Created attachment 32906
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32906&action=edit
reduced testcase

Compiler output (under valgrind):
$ gcc -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra
testcase.C
==2513== Invalid read of size 2
==2513==at 0x7C4941: friend_accessible_p(tree_node*, tree_node*,
tree_node*) (search.c:778)
==2513==by 0x7C4F58: accessible_p(tree_node*, tree_node*, bool)
(search.c:928)
==2513==by 0x7C5114: accessible_base_p(tree_node*, tree_node*, bool)
(search.c:171)
==2513==by 0x7C4564: lookup_base(tree_node*, tree_node*, int, base_kind*,
int) (search.c:273)
==2513==by 0x79AE19: finish_class_member_access_expr(tree_node*,
tree_node*, bool, int) (typeck.c:2755)
==2513==by 0x6A7BD0: tsubst_copy_and_build(tree_node*, tree_node*, int,
tree_node*, bool, bool) (pt.c:15187)
==2513==by 0x6AC207: tsubst(tree_node*, tree_node*, int, tree_node*)
(pt.c:12280)
==2513==by 0x738DB0: dump_substitution(cxx_pretty_printer*, tree_node*,
tree_node*, tree_node*, int) (error.c:330)
==2513==by 0x73B815: decl_as_string(tree_node*, int) (error.c:2738)
==2513==by 0xDAE0E5: dump_function_header(_IO_FILE*, tree_node*, int)
(tree-pretty-print.c:3454)
==2513==by 0xA3589E: (anonymous
namespace)::pass_clean_state::execute(function*) (final.c:4605)
==2513==by 0xC17387: execute_one_pass(opt_pass*) (passes.c:2180)
==2513==by 0xC177B5: execute_pass_list_1(opt_pass*) (passes.c:2233)
==2513==by 0xC17808: execute_pass_list(function*, opt_pass*)
(passes.c:2244)
==2513==by 0x94D6AF: expand_function(cgraph_node*) (cgraphunit.c:1787)
==2513==by 0x94F863: compile() (cgraphunit.c:1921)
==2513==by 0x94FF64: finalize_compilation_unit() (cgraphunit.c:2342)
==2513==by 0x72C2DE: cp_write_global_declarations() (decl2.c:4647)
==2513==by 0xD1245C: compile_file() (toplev.c:562)
==2513==by 0xD14494: toplev_main(int, char**) (toplev.c:1918)
==2513==by 0x5A46BF4: (below main) (in /lib64/libc-2.17.so)
==2513==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==2513== 
==2513== 
==2513== Process terminating with default action of signal 11 (SIGSEGV)
==2513==  Access not within mapped region at address 0x0
==2513==at 0x7C4941: friend_accessible_p(tree_node*, tree_node*,
tree_node*) (search.c:778)
==2513==by 0x7C4F58: accessible_p(tree_node*, tree_node*, bool)
(search.c:928)
==2513==by 0x7C5114: accessible_base_p(tree_node*, tree_node*, bool)
(search.c:171)
==2513==by 0x7C4564: lookup_base(tree_node*, tree_node*, int, base_kind*,
int) (search.c:273)
==2513==by 0x79AE19: finish_class_member_access_expr(tree_node*,
tree_node*, bool, int) (typeck.c:2755)
==2513==by 0x6A7BD0: tsubst_copy_and_build(tree_node*, tree_node*, int,
tree_node*, bool, bool) (pt.c:15187)
==2513==by 0x6AC207: tsubst(tree_node*, tree_node*, int, tree_node*)
(pt.c:12280)
==2513==by 0x738DB0: dump_substitution(cxx_pretty_printer*, tree_node*,
tree_node*, tree_node*, int) (error.c:330)
==2513==by 0x73B87E: decl_as_string_translate(tree_node*, int)
(error.c:2746)
==2513==by 0x73AEA2: cp_diagnostic_starter(diagnostic_context*,
diagnostic_info*) (error.c:3087)
==2513==by 0x15EA4B8: diagnostic_report_diagnostic(diagnostic_context*,
diagnostic_info*) (diagnostic.c:798)
==2513==by 0x15EB21F: internal_error(char const*, ...) (diagnostic.c:1136)
==2513==by 0xD123CF: crash_signal(int) (toplev.c:337)
==2513==by 0x5A5A5AF: ??? (in /lib64/libc-2.17.so)
==2513==by 0x7C4940: friend_accessible_p(tree_node*, tree_node*,
tree_node*) (search.c:778)
==2513==by 0x7C4F58: accessible_p(tree_node*, tree_node*, bool)
(search.c:928)
==2513==by 0x7C5114: accessible_base_p(tree_node*, tree_node*, bool)
(search.c:171)
==2513==by 0x7C4564: lookup_base(tree_node*, tree_node*, int, base_kind*,
int) (search.c:273)
==2513==by 0x79AE19: finish_class_member_access_expr(tree_node*,
tree_node*, bool, int) (typeck.c:2755)
==2513==by 0x6A7BD0: tsubst_copy_and_build(tree_node*, tree_node*, int,
tree_node*, bool, bool) (pt.c:15187)
==2513==by 0x6AC207: tsubst(tree_node*, tree_node*, int, tree_node*)
(pt.c:12280)
==2513==by 0x738DB0: dump_substitution(cxx_pretty_printer*, tree_node*,
tree_node*, tree_node*, int) (error.c:330)
==2513==by 0x73B815: decl_as_string(tree_node*, int) (error.c:2738)
==2513==by 0xDAE0E5: dump_function_header(_IO_FILE*, tree_

[Bug preprocessor/36453] [DR 412] PR36320 breaks boost

2014-06-06 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36453

Andrew Pinski  changed:

   What|Removed |Added

 Status|SUSPENDED   |NEW

--- Comment #15 from Andrew Pinski  ---
Looks like there is TR about this now as far as I can tell from Feb 2012.


[Bug target/61407] Build errors on latest OS X 10.10 Yosemite with Xcode 6 on GCC 4.8.3

2014-06-06 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407

--- Comment #7 from Andrew Pinski  ---
So it turns out there is a defect report against the C, see PR 36453 but that
is only for #elif and not #if defined(a) && a()


[Bug preprocessor/36453] [DR 412] PR36320 breaks boost

2014-06-06 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36453

--- Comment #14 from Andrew Pinski  ---
http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_412.htm


[Bug target/61407] Build errors on latest OS X 10.10 Yosemite with Xcode 6 on GCC 4.8.3

2014-06-06 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407

Andrew Pinski  changed:

   What|Removed |Added

 CC||denji0k at gmail dot com

--- Comment #6 from Andrew Pinski  ---
*** Bug 61432 has been marked as a duplicate of this bug. ***


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #1 from Michael Meissner  ---
Created attachment 32905
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32905&action=edit
Proposed patch to fix the problem


[Bug libgcc/61432] Build error gcc 4.9 on OSX 10.10

2014-06-06 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61432

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #1 from Andrew Pinski  ---
Dup of bug 61407.

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


[Bug bootstrap/61432] New: Build error gcc 4.9 on OSX 10.10

2014-06-06 Thread denji0k at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61432

Bug ID: 61432
   Summary: Build error gcc 4.9 on OSX 10.10
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: denji0k at gmail dot com

Have problem build with OSX 10.10

checking build system type... x86_64-apple-darwin14.0.0
xgcc: warning: couldn’t understand kern.osversion ‘14.0.0

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/Availability.h:174:44:
error: missing binary operator before token "("
 #if defined(__has_feature) &&
__has_feature(attribute_availability_with_message)
^

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/Availability.h:184:44:
error: missing binary operator before token "("
 #if defined(__has_feature) &&
__has_feature(attribute_availability_app_extension)
^

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/Availability.h:184:44:
error: missing binary operator before token "("
 #if defined(__has_feature) &&
__has_feature(attribute_availability_app_extension)
^

[Bug target/61423] Incorrect conversion from unsigned int to floating point

2014-06-06 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61423

--- Comment #7 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri Jun  6 17:45:10 2014
New Revision: 211321

URL: http://gcc.gnu.org/viewcvs?rev=211321&root=gcc&view=rev
Log:
PR target/61423
* config/i386/i386.md (*floatunssi2_i387_with_xmm): New
define_insn_and_split pattern, merged from *floatunssi2_1
and corresponding splitters.  Zero extend general register
or memory input operand to XMM temporary.  Enable for
TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
(floatunssi2): Update expander predicate.

testsuite/ChangeLog:

PR target/61423
* gcc.target/i386/pr61423.c: New test.


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


[Bug rtl-optimization/61325] [4.10 regression] aarch64_be build fails

2014-06-06 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61325

--- Comment #8 from Vladimir Makarov  ---
Author: vmakarov
Date: Fri Jun  6 17:22:34 2014
New Revision: 211320

URL: http://gcc.gnu.org/viewcvs?rev=211320&root=gcc&view=rev
Log:
2014-06-06  Vladimir Makarov  

PR rtl-optimization/61325
* lra-constraints.c (process_address_1): Check scale equal to one
to prevent transformation: base + scale * index => base + new_reg.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/lra-constraints.c


[Bug rtl-optimization/61325] [4.10 regression] aarch64_be build fails

2014-06-06 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61325

--- Comment #7 from Vladimir Makarov  ---
Author: vmakarov
Date: Fri Jun  6 17:21:18 2014
New Revision: 211319

URL: http://gcc.gnu.org/viewcvs?rev=211319&root=gcc&view=rev
Log:
2014-06-06  Vladimir Makarov  

PR rtl-optimization/61325
* lra-constraints.c (process_address_1): Check scale equal to one
to prevent transformation: base + scale * index => base + new_reg.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/lra-constraints.c


[Bug fortran/61429] SYSTEM_CLOCK used with non-default integer kind does not produce warning

2014-06-06 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61429

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
 CC||kargl at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |kargl at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from kargl at gcc dot gnu.org ---
I have a patch.


[Bug middle-end/61430] [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread christophe.lyon at st dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

--- Comment #3 from christophe.lyon at st dot com ---
Probably, since the build succeeded at rev 211303.


[Bug c++/60184] g++ does not allow static members of named unions

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #3 from Paolo Carlini  ---
Fixed for 4.10.0.


[Bug c++/55004] [meta-bug] constexpr issues

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004
Bug 55004 depends on bug 60184, which changed state.

Bug 60184 Summary: g++ does not allow static members of named unions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED


[Bug c++/60184] g++ does not allow static members of named unions

2014-06-06 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Fri Jun  6 16:01:37 2014
New Revision: 211318

URL: http://gcc.gnu.org/viewcvs?rev=211318&root=gcc&view=rev
Log:
/cp
2014-06-06  Paolo Carlini  

PR c++/60184
* class.c (check_field_decls): In C++11 mode do not reject
static data members and reference-type members in unions.

/testsuite
2014-06-06  Paolo Carlini  

PR c++/60184
* g++.dg/cpp0x/constexpr-union6.C: New.
* g++.dg/cpp0x/union6.C: Likewise.
* g++.dg/init/ref14.C: Adjust.
* g++.dg/init/union1.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-union6.C
trunk/gcc/testsuite/g++.dg/cpp0x/union6.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/init/ref14.C
trunk/gcc/testsuite/g++.dg/init/union1.C


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

Michael Meissner  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-06-06
 Ever confirmed|0   |1


[Bug middle-end/61428] "maybe-uninitialized" is broken in all current versions (4.7-4.10)

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61428

Richard Biener  changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
  Component|c   |middle-end
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.


[Bug target/61423] Incorrect conversion from unsigned int to floating point

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

Uroš Bizjak  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org

--- Comment #6 from Uroš Bizjak  ---
Jeff, can you please look at what goes wrong in REE pass?

[Bug middle-end/61430] [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

Richard Biener  changed:

   What|Removed |Added

 Target||arm-none-linux-gnueabihf
 CC||vmakarov at gcc dot gnu.org
   Target Milestone|--- |4.10.0

--- Comment #2 from Richard Biener  ---
Well, an LRA ICE is unlikely caused by this change.  It must be a latent issue
instead.


[Bug target/61423] Incorrect conversion from unsigned int to floating point

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

--- Comment #5 from Uroš Bizjak  ---
Created attachment 32903
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32903&action=edit
Testcase that fails in REE pass

This testcase fails with patched gcc in REE pass:

cc1 -O2 -m32 -march=corei7 libgcc2.i

/home/uros/gcc-svn/trunk/libgcc/libgcc2.c: In function ‘__fixunssfdi’:
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1492:1: error: insn does not satisfy
its constraints:
 }
 ^
(insn 54 11 47 2 (set (reg:DI 0 ax)
(reg:DI 21 xmm0)) /home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1444 89
{*movdi_internal}
 (expr_list:REG_UNUSED (reg:DI 0 ax)
(nil)))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1492:1: internal compiler error: in
copyprop_hardreg_forward_1, at regcprop.c:776
...

_split2 pass produces correct sequence:

(insn 46 11 47 2 (set (reg:DI 21 xmm0 [118])
(zero_extend:DI (reg/v:SI 0 ax [orig:85 hi ] [85])))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452 133 {*zero_extendsidi2}
 (nil))
(insn 47 46 48 2 (set (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])
(reg:DI 21 xmm0 [118])) /home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452
89 {*movdi_internal}
 (nil))
(insn 48 47 13 2 (set (reg:DF 9 st(1) [orig:101 D.6895 ] [101])
(float:DF (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452 206 {*floatdidf2_i387}
 (nil))

and _ree pass converts this to:

(insn 11 45 54 2 (set (reg:DI 21 xmm0)
(zero_extend:DI (reg:SI 2 cx [99])))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1444 133 {*zero_extendsidi2}
 (nil))
(insn 54 11 47 2 (set (reg:DI 0 ax)
(reg:DI 21 xmm0)) /home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1444 -1
 (nil))
(insn 47 54 48 2 (set (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])
(reg:DI 21 xmm0 [118])) /home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452
89 {*movdi_internal}
 (nil))
(insn 48 47 13 2 (set (reg:DF 9 st(1) [orig:101 D.6895 ] [101])
(float:DF (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452 206 {*floatdidf2_i387}
 (nil))


Please note ivalid (insn 54).

[Bug target/61431] New: Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

Bug ID: 61431
   Summary: Powerpc tests pack01.c and p8vector-int128-2.c fail on
little endian power8 systems
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: meissner at gcc dot gnu.org
  Host: powerpc64le-linux
Target: powerpc64le-linux
 Build: powerpc64le-linux

The pack01.c test fails on GCC 4.8 on little endian power8 systems. In looking
at it, it is a latent bug where the V1TI memory operations do not have the word
swapping define_split support.  GCC 4.9 and trunk can optimize the union to
stay in a register, so the test case passes on those systems, but it is still a
bug that would be exposed if you ever need to store vector __int128 values. 
The test p8vector-int128-2.c is such a case, and it needs the fix.


[Bug middle-end/61430] [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread christophe.lyon at st dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

--- Comment #1 from christophe.lyon at st dot com ---
Created attachment 32902
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32902&action=edit
vfscanf.i


[Bug tree-optimization/59299] We do not sink loads

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59299

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Richard Biener  ---
Fixed.


[Bug middle-end/61430] New: [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread christophe.lyon at st dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

Bug ID: 61430
   Summary: [4.10 regression] ICE in lra_create_copy
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: christophe.lyon at st dot com

Commit 211304 (Move 2nd VRP pass before phi-only-cprop) make GCC ICE when build
glibc for target arm-none-linux-gnueabihf --with-cpu=cortex-a5 (works with
cortex-a9).

Compile with:
$ arm-none-linux-gnueabihf-gcc vfscanf.i -c -std=gnu99 -O2

vfscanf.c: In function '_IO_vfscanf_internal':
vfscanf.c:2937:1: internal compiler error: in lra_create_copy, at lra.c:1368
 }
 ^
0x86ad8b lra_create_copy(int, int, int)
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra.c:1368
0x8836a0 process_bb_lives
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra-lives.c:568
0x8836a0 lra_create_live_ranges(bool)
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra-lives.c:1019
0x86c3b4 lra(_IO_FILE*)
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra.c:2212
0x82c62e do_reload
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/ira.c:5414
0x82c62e execute
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/ira.c:5575
Please submit a full bug report,

gcc configured with:
--target=arm-none-linux-gnueabihf --enable-languages=c --with-float=hard
--enable-build-with-cxx --with-mode=arm --with-cpu=cortex-a5
--with-fpu=vfpv3-d16-fp16


[Bug tree-optimization/59299] We do not sink loads

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59299

--- Comment #1 from Richard Biener  ---
Author: rguenth
Date: Fri Jun  6 15:31:47 2014
New Revision: 211317

URL: http://gcc.gnu.org/viewcvs?rev=211317&root=gcc&view=rev
Log:
2014-06-06  Richard Biener  

PR tree-optimization/59299
* tree-ssa-sink.c (all_immediate_uses_same_place): Work on
a def operand.
(nearest_common_dominator_of_uses): Likewise.
(statement_sink_location): Adjust.  Support sinking loads.

* gcc.dg/tree-ssa/ssa-sink-10.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-10.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-sink.c


[Bug target/61423] Incorrect conversion from unsigned int to floating point

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

--- Comment #4 from Uroš Bizjak  ---
Created attachment 32901
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32901&action=edit
Proposed patch

This patch fies invalid code gen, but unfortunately uncovers a problem in REE
pass and fails bootstrap when configured "--with-arch=core-avx-i
--with-cpu=core-avx-i".

[Bug c++/61421] Invalid -O2 optimization breaks program

2014-06-06 Thread mimamer at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61421

--- Comment #19 from mimamer at gmail dot com ---
One last comment on strict aliasing rules: It is ironic that these rules are
supposed to make programs faster, but those developers that really care about
speed are prevented from implementing even moderate optimizations (see
discussion) because of these rules! Again, the concept of strict aliasing rules
is broken.


[Bug fortran/61429] New: SYSTEM_CLOCK used with non-default integer kind does not produce warning

2014-06-06 Thread thatcadguy at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61429

Bug ID: 61429
   Summary: SYSTEM_CLOCK used with non-default integer kind does
not produce warning
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: thatcadguy at gmail dot com

Compiling:

program main
implicit none
integer(kind=8) :: i
call system_clock(i)
end program main

with gfortran -std=f95 -pedantic -Wall -Wextra produces no warning. According
to the F95 standard (13.14.106), "COUNT (optional) shall be scalar and of type
default integer" (it's the same for COUNT_RATE and COUNT_MAX). It's not until
F2003 (13.7.117) that the wording is changed to "COUNT (optional) shall be
scalar and of type integer."

Summary: using any other kind but default integer with system_clock should not
be allowed or give a warning under -std=f95, but should be allowed for
-std=f2003 and later.


[Bug middle-end/56574] False possibly uninitialized variable warning

2014-06-06 Thread luto at mit dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56574

--- Comment #10 from Andy Lutomirski  ---
See PR59500 for another example without &&.  I think I can reduce another test
case with only if and else.


[Bug c/61428] New: "maybe-uninitialized" is broken in all current versions (4.7-4.10)

2014-06-06 Thread aladjev.andrew at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61428

Bug ID: 61428
   Summary: "maybe-uninitialized" is broken in all current
versions (4.7-4.10)
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: aladjev.andrew at gmail dot com

Created attachment 32900
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32900&action=edit
test.c

Please checkout attached test.c. There are no variables in this file, that may
be uninitialized.

gcc-4.7.3 -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe -O2 test.c
-o test
>>
test.c: In function ‘func’:
test.c:54:14: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors

gcc-4.8.2 -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe -O2 test.c
-o test
>>
test.c: In function ‘func’:
test.c:54:14: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
 free ( lock_1 );
  ^
cc1: all warnings being treated as errors

gcc-4.9.0-pre -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe -O2
test.c -o test
>>
test.c: In function ‘func’:
test.c:44:17: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
 free ( lock_1 );
 ^
cc1: all warnings being treated as errors

gcc-4.10.0-pre -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe
-O2 test.c -o test
>>
test.c: In function ‘func’:
test.c:44:17: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
 free ( lock_1 );
 ^
cc1: all warnings being treated as errors

[Bug middle-end/56574] False possibly uninitialized variable warning

2014-06-06 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56574

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #9 from Manuel López-Ibáñez  ---
(In reply to Eric Botcazou from comment #8)
> > ISO C99 6.5.13 says that 'value' is not evaluated when !flag is false.  But
> > clearly we are not considering the "side-effect" of using an uninitialized
> > variable when deciding to output straight-line code sequences.
> 
> But evaluating an uninitialized variable is not a side-effect, unless
> accessing the variable itself has a side-effect, so there is no wrong code
> here.

Perhaps the uninit pass can be taught that for a & b when a may be
uninitialized is actually guarded by if(b!=0). I think this will fix the bug
here, no?

[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2014-06-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

--- Comment #33 from Jakub Jelinek  ---
Yeah, I'd say we could document that gcc doesn't support any implementations
where memcpy/memmove/memset clobber errno.


[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread vl.still at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

--- Comment #6 from Vladimír Štill  ---
(In reply to Jonathan Wakely from comment #5)
> Fixed in 4.9.0 though

I'm glad to hear that, I could not yet installed 4.9.0 in my OS.

[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2014-06-06 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

--- Comment #32 from rguenther at suse dot de  ---
On Fri, 6 Jun 2014, terra at gnome dot org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
> 
> M Welinder  changed:
> 
>What|Removed |Added
> 
>  CC||terra at gnome dot org
> 
> --- Comment #31 from M Welinder  ---
> Extra complication: the C library's memcpy may change errno to any non-zero
> value if it so desires.  (C99 section 7.5 #5.)

That's news to me.

> That means that raw calls to memcpy (and friends) cannot be generated anywhere
> where the compiler is unable to prove that the value of errno isn't used.

That's almost impossible.

> Extra code to store and restore errno must be emitted otherwise.

That is not possible.

Note that the compiler emits calls to memcpy for struct copies anyway,
so if there is a problem it is a long-standing one.


[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

Jonathan Wakely  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.10.0, 4.9.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #5 from Jonathan Wakely  ---
Fixed in 4.9.0 though


[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread vl.still at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

--- Comment #4 from Vladimír Štill  ---
Problem is still present in 4.8.2, reproduce with following code, which
compiles in clang 3.4 (both with -std=c++11):
struct Y {
int o;
static constexpr int Y::* x = &Y::o;
};

gcc -v result included in previous comment. Tested on NixOS linux x86_64.

[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread vl.still at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

Vladimír Štill  changed:

   What|Removed |Added

 CC||vl.still at gmail dot com

--- Comment #3 from Vladimír Štill  ---
Created attachment 32899
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32899&action=edit
gcc -v result

[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

2014-06-06 Thread thomas.preudhomme at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320

--- Comment #34 from Thomas Preud'homme  ---
Ok, committed then.


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2014-06-06 Thread terra at gnome dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

M Welinder  changed:

   What|Removed |Added

 CC||terra at gnome dot org

--- Comment #31 from M Welinder  ---
Extra complication: the C library's memcpy may change errno to any non-zero
value if it so desires.  (C99 section 7.5 #5.)

That means that raw calls to memcpy (and friends) cannot be generated anywhere
where the compiler is unable to prove that the value of errno isn't used.
Extra code to store and restore errno must be emitted otherwise.


[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

2014-06-06 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320

--- Comment #33 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #32 from Thomas Preud'homme  ---
[...]
> Are you sure the patch was applied to this test? Line 78 I have "bfin.inval =
> (struct ok) { 0x83, 0x85, 0x87, 0x89 };"
>
> The next abort about this line is under a "if (out == 0x89878583)" so would 
> not
> abort either. By the way, no need to do a bootstrap again or run the whole
> testsuite to try this patch, only this test was changed.

Sorry, I've been dreaming: I'd only applied

https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00294.html
and
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00295.html

With the correct patch for bswap-2.c, the test passes for
sparc-sun-solaris2.11 (both 32 and 64-bit).

Sorry for the noise.

Rainer


[Bug target/61423] Incorrect conversion from unsigned int to floating point

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

Uroš Bizjak  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com

--- Comment #3 from Uroš Bizjak  ---
Looking into it.

[Bug c++/60184] g++ does not allow static members of named unions

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-06-06
 Blocks||55004
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|--- |4.10.0
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini  ---
Seems easy to fix.


[Bug c++/60432] Member pointer resolution within class definition causes segmentation fault

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60432

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.10.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #7 from Paolo Carlini  ---
Done.


[Bug c++/60432] Member pointer resolution within class definition causes segmentation fault

2014-06-06 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60432

--- Comment #6 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Fri Jun  6 10:00:55 2014
New Revision: 211312

URL: http://gcc.gnu.org/viewcvs?rev=211312&root=gcc&view=rev
Log:
2014-06-06  Paolo Carlini  

PR c++/60432
* g++.dg/cpp0x/constexpr-60432.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-60432.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c++/60432] Member pointer resolution within class definition causes segmentation fault

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60432

--- Comment #5 from Paolo Carlini  ---
Let's add the testcase and close the bug.


[Bug c++/60199] 'error: field initializer is not constant' when initializing static member function pointer to a function

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60199

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.10.0, 4.9.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #4 from Paolo Carlini  ---
Done.


[Bug c++/60199] 'error: field initializer is not constant' when initializing static member function pointer to a function

2014-06-06 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60199

--- Comment #3 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Fri Jun  6 09:52:33 2014
New Revision: 211310

URL: http://gcc.gnu.org/viewcvs?rev=211310&root=gcc&view=rev
Log:
2014-06-06  Paolo Carlini  

PR c++/60199
* g++.dg/cpp0x/constexpr-60199.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-60199.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c++/60199] 'error: field initializer is not constant' when initializing static member function pointer to a function

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60199

--- Comment #2 from Paolo Carlini  ---
Yes, this is fixed, I'm adding the testcase and closing the bug.


[Bug c++/61305] internal compiler error: in cp_tree_equal, at cp/tree.c:2371

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61305

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.10.0, 4.8.0, 4.9.0
 Resolution|--- |WORKSFORME

--- Comment #1 from Paolo Carlini  ---
This works for me in the active branches (4.6 is not maintained anymore).


[Bug c++/60771] rejects-valid: static in-class constexpr const reference initialization

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60771

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
 Blocks||55004
 Ever confirmed|0   |1


[Bug c++/60878] Explicit Specialization of Inner Template Class In A Template Class, Using an Enum class in Parent Template Class as Template Argument

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60878

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini  ---
Closing.


[Bug c++/60755] lambda capturing `this` doesn't honor const qualifier of the enclosing member function

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60755

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.10.0

--- Comment #4 from Paolo Carlini  ---
I think we can close this as fixed in 4.10.0.


[Bug lto/61123] With LTO, -fno-short-enums is ignored, resulting in ABI mis-matching in linking.

2014-06-06 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61123

Ramana Radhakrishnan  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
 CC||ramana at gcc dot gnu.org
   Target Milestone|--- |4.10.0
 Ever confirmed|0   |1


[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

2014-06-06 Thread thomas.preudhomme at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320

--- Comment #32 from Thomas Preud'homme  ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #31)
> > --- Comment #30 from Thomas Preud'homme  
> > ---
> > Can you run the test manually under gdb and tell me what is the value for 
> > the
> > "out" variable in hex format?
> 
> Sure: the -O0 test aborts at line 78, where out is
> 
> (gdb) p/x out
> $11 = 0x44434241
> (gdb) p (char[4])out
> $12 = "DCBA"
> 
>   Rainer

Are you sure the patch was applied to this test? Line 78 I have "bfin.inval =
(struct ok) { 0x83, 0x85, 0x87, 0x89 };"

The next abort about this line is under a "if (out == 0x89878583)" so would not
abort either. By the way, no need to do a bootstrap again or run the whole
testsuite to try this patch, only this test was changed.

[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

2014-06-06 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320

--- Comment #31 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #30 from Thomas Preud'homme  ---
> Can you run the test manually under gdb and tell me what is the value for the
> "out" variable in hex format?

Sure: the -O0 test aborts at line 78, where out is

(gdb) p/x out
$11 = 0x44434241
(gdb) p (char[4])out
$12 = "DCBA"

Rainer


[Bug debug/53927] wrong value for DW_AT_static_link

2014-06-06 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53927

--- Comment #12 from Eric Botcazou  ---
Author: ebotcazou
Date: Fri Jun  6 08:13:24 2014
New Revision: 211308

URL: http://gcc.gnu.org/viewcvs?rev=211308&root=gcc&view=rev
Log:
PR debug/53927
* function.c (instantiate_decls): Process the saved static chain.
(expand_function_start): If not optimizing, save the static chain
onto the stack.
* tree-nested.c (convert_all_function_calls): Always create the static
chain for nested functions if not optimizing.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/function.c
trunk/gcc/tree-nested.c


[Bug target/61423] Incorrect conversion from unsigned int to floating point

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61423

Richard Biener  changed:

   What|Removed |Added

   Keywords||wrong-code
 Target||i?86-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
  Component|c   |target
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
Confirmed.  Works with -mfpmath=sse.  Initial RTL looks ok to me:

(insn 21 20 22 (set (reg:SI 99 [ stmp_sum_5.8 ])
(vec_select:SI (reg:V4SI 98 [ vect_sum_5.9 ])
(parallel [
(const_int 0 [0])
]))) -1
 (nil))

(insn 22 21 23 (parallel [
(set (reg:DF 97 [ t ])
(unsigned_float:DF (reg:SI 99 [ stmp_sum_5.8 ])))
(clobber (mem/c:DI (plus:SI (reg/f:SI 78 virtual-stack-vars)
(const_int -8 [0xfff8])) [0  S8 A64]))
(clobber (scratch:SI))
]) t.c:18 -1
 (nil))

(insn 23 22 24 (set (reg:DF 94 [  ])
(reg:DF 97 [ t ])) t.c:19 -1
 (nil))

So it must be a bogus *floatunssidf2_1 pattern

(insn 22 21 28 4 (parallel [
(set (reg:DF 8 st [orig:97 t ] [97])
(unsigned_float:DF (reg:SI 21 xmm0 [orig:99 stmp_sum_5.8 ]
[99])))
(clobber (mem/c:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0  S8 A64]))
(clobber (scratch:SI))
]) t.c:18 211 {*floatunssidf2_1}
 (nil))

split to

(insn 39 38 40 4 (set (mem/c:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0  S8 A64])
(reg:DI 21 xmm0 [orig:99 stmp_sum_5.8 ] [99])) t.c:18 89
{*movdi_internal}   
 (nil))
(insn 40 39 28 4 (set (reg:DF 8 st [orig:97 t ] [97])
(float:DF (mem/c:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0  S8 A64]))) t.c:18 206
{*floatdidf2_i387}
 (nil))

note the use of a DImode memory but the missing zero-extend of xmm0:DI.


[Bug middle-end/56574] False possibly uninitialized variable warning

2014-06-06 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56574

Eric Botcazou  changed:

   What|Removed |Added

   Keywords|wrong-code  |
 CC||ebotcazou at gcc dot gnu.org

--- Comment #8 from Eric Botcazou  ---
> ISO C99 6.5.13 says that 'value' is not evaluated when !flag is false.  But
> clearly we are not considering the "side-effect" of using an uninitialized
> variable when deciding to output straight-line code sequences.

But evaluating an uninitialized variable is not a side-effect, unless accessing
the variable itself has a side-effect, so there is no wrong code here.

> Affected are at least gimple SSA if-combine and eventually fold and
> gimplification (I didn't check them).
> 
> Ok, for this testcase it is fold that ends up producing a TRUTH_AND_EXPR.

This analysis looks bogus to me.


[Bug libstdc++/61425] std::regex ignores backslash when using basic or grep grammars

2014-06-06 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61425

--- Comment #4 from Andreas Schwab  ---
\| is just undefined in BRE, so an implementation can do whatever it wants.


[Bug tree-optimization/43934] LIM should handle PHI nodes

2014-06-06 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43934

--- Comment #4 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Fri Jun  6 07:21:02 2014
New Revision: 211302

URL: http://gcc.gnu.org/viewcvs?rev=211302&root=gcc&view=rev
Log:
PR tree-optimization/43934
* tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant cost.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-loop-im.c