[Bug fortran/55622] New: gfortran segfault

2012-12-09 Thread armiuswu at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55622

 Bug #: 55622
   Summary: gfortran segfault
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: armiu...@gmail.com


$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin11.4.0/4.7.1/lto-wrapper
Target: x86_64-apple-darwin11.4.0
Configured with: ../gcc-4.7.1/configure --enable-languages=fortran
Thread model: posix
gcc version 4.7.1 (GCC) 



OS: Mac OS X 10.8

the minimum source file to cause the segfault is attached.

$ gfortran test.f90 
test.f90:15.5:

print mat%m
 1
Warning: Extension: Non-character in FORMAT tag at (1)
test.f90: In function ‘test’:
test.f90:15:0: internal compiler error: Segmentation fault: 11
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread jason.vas.dias at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



--- Comment #1 from Jason Vas Dias jason.vas.dias at gmail dot com 2012-12-09 
08:15:58 UTC ---

After successfully building gcc-4.7.2 for multi-lib i386-pc-solaris2.11 

target ( x86_64 Solaris 11 ) ,  with configure arguments :



$ gcc -v

Target: i386-pc-solaris2.11

Configured with: ../configure --prefix=/usr/GNU --enable-languages=c,c++

--enable-threads --enable-version-specific-runtime-libs --disable-nls

--with-as=/usr/bin/as --with-ld=/usr/bin/ld --with-gmp=/usr/GNU

--with-mpfr=/usr/GNU --with-mpc=/usr/GNU

Thread model: posix

gcc version 4.7.2 (GCC) 

$



I try to run:

$ make check

or 

$ make check-gcc

or 

$ make check-g++



but all fail with a DeJaGNU expect error:



...

Target is i386-pc-solaris2.11

Host   is i386-pc-solaris2.11



=== gcc tests ===



ERROR: errors in tool init file

/usr/src/gnu/gcc-4.7.2/gcc/testsuite/config/unix

-gcc.exp

couldn't read file /usr/src/gnu/gcc-4.7.2/gcc/testsuite/config/unix-gcc.exp:

N

o such file or directory

while executing

source /usr/src/gnu/gcc-4.7.2/gcc/testsuite/config/unix-gcc.expmake[3]:

[check

-parallel-gcc] Error 1 (ignored)

make[3]: Leaving directory `/usr/share/src/gnu/gcc-4.7.2/solaris11-amd64/gcc'



...

=== g++ tests ===



ERROR: errors in tool init file

/usr/src/gnu/gcc-4.7.2/gcc/testsuite/config/unix

-g++.exp

couldn't read file /usr/src/gnu/gcc-4.7.2/gcc/testsuite/config/unix-g++.exp:

N

o such file or directory

while executing

source /usr/src/gnu/gcc-4.7.2/gcc/testsuite/config/unix-g++.expmake[3]:

[check

-parallel-g++] Error 1 (ignored)

make[3]: Leaving directory `/usr/share/src/gnu/gcc-4.7.2/solaris11-amd64/gcc'





The only tests which are run are the libiberty tests:



make[3]: Entering directory

`/usr/share/src/gnu/gcc-4.7.2/solaris11-amd64/libibe

rty/testsuite'

./test-demangle  ../../../libiberty/testsuite/demangle-expected

./test-demangle: 874 tests, 0 failures

./test-pexecute

./test-expandargv

PASS: test-expandargv-0.

PASS: test-expandargv-1.

PASS: test-expandargv-2.

PASS: test-expandargv-3.

PASS: test-expandargv-4.

PASS: test-expandargv-5.

PASS: test-expandargv-6.

make[3]: Leaving directory

`/usr/share/src/gnu/gcc-4.7.2/solaris11-amd64/libiber

ty/testsuite'





I installed SUNWguile ( guile 1.8.6 ) , SUNWautogen ( autogen 5.9 ) , and built

and installed dejagnu-1.1.1 against installed SUNWtcl-8 ( 8.5.9 ), and also 

tried using the installed /usr/bin/expect ( --version : 5.45 ) and runtest,

with the same result .  

A successful make check on linux does not create any

$OBJDIR/gcc/testsuite/config/*.exp files - the only file there is default.exp

, and there does

not seem to be anything generating these files.  

Please advise - thanks in advance!


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
08:32:35 UTC ---

I get on x86_64-linux-gnu:

Using /usr/share/dejagnu/baseboards/unix.exp as board description file for

target.

Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.

Using /home/pinskia/src/local/gcc/gcc/testsuite/config/default.exp as

tool-and-target-specific interface file.





I did not get unix-gcc.exp as tool-and-target-specific interface file.


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
08:36:26 UTC ---

Can you attach the runtest.exp for your installation of dejagnu?



I am thinking they changed something in load_tool_target_config which broke

this.


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

   Last reconfirmed||2012-12-09

 Ever Confirmed|0   |1

   Severity|major   |normal



--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
08:44:13 UTC ---

Actually wait a minute now:

dejagnu-1.1.1



I think you need a newer version of dejagnu.

The manual says we require at least DejaGnu 1.4.4.



http://gcc.gnu.org/install/prerequisites.html



Can you install a newer version of dejagnu and try again?


[Bug fortran/55622] gfortran segfault

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55622



--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
08:48:33 UTC ---

the minimum source file to cause the segfault is attached.

Must have been too big.  Please gzip it and try attaching it again.


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread jason.vas.dias at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



--- Comment #5 from Jason Vas Dias jason.vas.dias at gmail dot com 2012-12-09 
08:55:38 UTC ---

Created attachment 28903

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28903

/usr/GNU/lib/dejagnu/runtest.exp


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread jason.vas.dias at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



--- Comment #6 from Jason Vas Dias jason.vas.dias at gmail dot com 2012-12-09 
08:59:34 UTC ---

Oops, I picked the last of :

$ lftp ftp.gnu.org

lftp ftp.gnu.org:~ cd pub/gnu/dejagnu  

cd ok, cwd=/pub/gnu/dejagnu   

lftp ftp.gnu.org:/pub/gnu/dejagnu ls -ltr

-rw-r--r--1 3003 65534 1553267 Feb 15  1996 dejagnu-1.3.tar.gz

-rw-r--r--1 3003 65534 2119630 Mar 25  2001 dejagnu-1.4.0.tar.gz

-rw-r--r--1 3003 65534 1330595 May 06  2001 dejagnu-1.4.1.tar.gz

-rw-r--r--1 3003 65534 1414450 Sep 13  2001 dejagnu-1.4.2.tar.gz

-rw-r--r--1 3003 65534 1817399 Sep 23  2002 dejagnu-1.4.3.tar.gz

-rw-r--r--1 3003 65534 1080346 Jan 30  2004 dejagnu-1.4.4.tar.gz

-rw-r--r--1 3003 65534  65 Jan 30  2004

dejagnu-1.4.4.tar.gz.sig

-rw-r--r--1 3003 65534  576269 Mar 10  2011 dejagnu-1.5.tar.gz

-rw-r--r--1 3003 65534  65 Mar 10  2011 dejagnu-1.5.tar.gz.sig

-rw-r--r--1 3003 65534 1220452 Mar 24  2011 dejagnu-1.2.tar.gz

-rw-r--r--1 3003 65534  65 Mar 24  2011 dejagnu-1.2.tar.gz.sig

-rw-r--r--1 3003 65534 1029828 Mar 24  2011 dejagnu-1.1.1.tar.gz

-rw-r--r--1 3003 65534  65 Mar 24  2011

dejagnu-1.1.1.tar.gz.sig



I'll try dejagnu-1.4.4.tar.gz . Sorry ! Usually, most recent packages are 

latest versions :-)


[Bug testsuite/55621] no gcc or g++ tests run for solaris2.11 target : missing $OBJDIR/gcc/testsuite/config/unix_{gcc,g++}.exp files

2012-12-09 Thread jason.vas.dias at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55621



Jason Vas Dias jason.vas.dias at gmail dot com changed:



   What|Removed |Added



 Status|WAITING |RESOLVED

 Resolution||WORKSFORME



--- Comment #7 from Jason Vas Dias jason.vas.dias at gmail dot com 2012-12-09 
09:11:38 UTC ---

Yes, that was it. Sorry - maybe the dejagnu version could be detected and

complained about if insufficient ?


[Bug fortran/55593] [4.8 Regression] Bogus error on passing DO LOOP variable

2012-12-09 Thread tkoenig at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55593



--- Comment #3 from Thomas Koenig tkoenig at gcc dot gnu.org 2012-12-09 
09:15:42 UTC ---

Author: tkoenig

Date: Sun Dec  9 09:15:36 2012

New Revision: 194329



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=194329

Log:

2012-12-09  Thomas Koenig  tkoe...@gcc.gnu.org



PR fortran/55593

* frontend-passes.c (doloop_code):  Use resolved_sym

instead of n.sym-formal for formal argument list

to get the correct version for all generic subroutines.



2012-12-09  Thomas Koenig  tkoe...@gcc.gnu.org



PR fortran/55593

* gfortran.dg/do_check_8.f90:  New test.





Added:

trunk/gcc/testsuite/gfortran.dg/do_check_8.f90

Modified:

trunk/gcc/fortran/ChangeLog

trunk/gcc/fortran/frontend-passes.c

trunk/gcc/testsuite/ChangeLog


[Bug fortran/55593] [4.8 Regression] Bogus error on passing DO LOOP variable

2012-12-09 Thread tkoenig at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55593



Thomas Koenig tkoenig at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #4 from Thomas Koenig tkoenig at gcc dot gnu.org 2012-12-09 
09:17:07 UTC ---

Fixed on trunk, closing.



Thanks a lot for the bug report!


[Bug tree-optimization/55623] New: [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



 Bug #: 55623

   Summary: [ARM] GCC should not prefer long dependency chains,

they inhibit performance on superscalar processors

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: enhancement

  Priority: P3

 Component: tree-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: siarhei.siamas...@gmail.com





This is a missing optimization. Or in this particular case, it's more like GCC

is reversing an attempt of a programmer to optimize the code for superscalar

dual-issue processors.



$ arm-none-linux-gnueabi-gcc -O2 -mcpu=cortex-a8 -o badsched badsched.c

$ objdump -d badsched



 f1:

   0:e1a03120 lsrr3, r0, #2

   4:e08330a0 addr3, r3, r0, lsr #1

   8:e08331a0 addr3, r3, r0, lsr #3

   c:e0833220 addr3, r3, r0, lsr #4

  10:e08332a0 addr3, r3, r0, lsr #5

  14:e0833320 addr3, r3, r0, lsr #6

  18:e08333a0 addr3, r3, r0, lsr #7

  1c:e0833420 addr3, r3, r0, lsr #8

  20:e08334a0 addr3, r3, r0, lsr #9

  24:e0833520 addr3, r3, r0, lsr #10

  28:e08335a0 addr3, r3, r0, lsr #11

  2c:e0833620 addr3, r3, r0, lsr #12

  30:e08336a0 addr3, r3, r0, lsr #13

  34:e0833720 addr3, r3, r0, lsr #14

  38:e08337a0 addr3, r3, r0, lsr #15

  3c:e0833820 addr3, r3, r0, lsr #16

  40:e08338a0 addr3, r3, r0, lsr #17

  44:e0833920 addr3, r3, r0, lsr #18

  48:e08339a0 addr3, r3, r0, lsr #19

  4c:e0833a20 addr3, r3, r0, lsr #20

  50:e0833aa0 addr3, r3, r0, lsr #21

  54:e0833b20 addr3, r3, r0, lsr #22

  58:e0833ba0 addr3, r3, r0, lsr #23

  5c:e0830c20 addr0, r3, r0, lsr #24

  60:e12fff1e bxlr



0064 f2:

  64:e1a031a0 lsrr3, r0, #3

  68:e1a02220 lsrr2, r0, #4

  6c:e08330a0 addr3, r3, r0, lsr #1

  70:e0822120 addr2, r2, r0, lsr #2

  74:e08332a0 addr3, r3, r0, lsr #5

  78:e0822320 addr2, r2, r0, lsr #6

  7c:e08333a0 addr3, r3, r0, lsr #7

  80:e0822420 addr2, r2, r0, lsr #8

  84:e08334a0 addr3, r3, r0, lsr #9

  88:e0822520 addr2, r2, r0, lsr #10

  8c:e08335a0 addr3, r3, r0, lsr #11

  90:e0822620 addr2, r2, r0, lsr #12

  94:e08336a0 addr3, r3, r0, lsr #13

  98:e0822720 addr2, r2, r0, lsr #14

  9c:e08337a0 addr3, r3, r0, lsr #15

  a0:e0822820 addr2, r2, r0, lsr #16

  a4:e08338a0 addr3, r3, r0, lsr #17

  a8:e0822920 addr2, r2, r0, lsr #18

  ac:e08339a0 addr3, r3, r0, lsr #19

  b0:e0822a20 addr2, r2, r0, lsr #20

  b4:e0833aa0 addr3, r3, r0, lsr #21

  b8:e0822b20 addr2, r2, r0, lsr #22

  bc:e0833ba0 addr3, r3, r0, lsr #23

  c0:e0820c20 addr0, r2, r0, lsr #24

  c4:e083 addr0, r0, r3

  c8:e12fff1e bxlr



Guess which one of these two functions will be faster?



=== Cortex-A8 @1000MHz ===



$ time ./badsched 1



real0m2.512s

user0m2.500s

sys0m0.000s



$ time ./badsched 2



real0m2.064s

user0m2.008s

sys0m0.008s



=== Cortex-A15 @1700MHz ===



real0m2.786s

user0m2.770s

sys0m0.005s



real0m1.451s

user0m1.440s

sys0m0.005s



There is a function call and loop overhead which prevents Cortex-A8 from

showing ~2x better performance in the case of using f2 function. We can try

to mark these function as static in order to get them inlined, but in this case

the asm workaround becomes ineffective in a rather interesting way, which also

demonstrates instructions scheduling issues.


[Bug tree-optimization/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



--- Comment #1 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 10:00:59 UTC ---

Created attachment 28904

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28904

badsched.c


[Bug target/54062] extraneous move due to register allocation issue on x86_64

2012-12-09 Thread mikpe at it dot uu.se


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54062



Mikael Pettersson mikpe at it dot uu.se changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||FIXED



--- Comment #1 from Mikael Pettersson mikpe at it dot uu.se 2012-12-09 
10:18:04 UTC ---

A recent trunk (r194325) generates identical object code for both functions. 

I'm assuming the switch to LRA for x86_64 resolved the issue.  Closing as

fixed.


[Bug bootstrap/55196] GCC 4.8 build error : link error on OS X 10.6

2012-12-09 Thread xcodexif at xif dot fr

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55196

Félix Faisant xcodexif at xif dot fr changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WONTFIX

--- Comment #2 from Félix Faisant xcodexif at xif dot fr 2012-12-09 10:25:35 
UTC ---
Sorry, I can't help you now, I reinstalled my system which was very messy.


[Bug middle-end/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



 Target||arm*-*-*, aarch64-*-*

 Status|UNCONFIRMED |NEW

   Keywords||missed-optimization

   Last reconfirmed||2012-12-09

  Component|tree-optimization   |middle-end

 Ever Confirmed|0   |1



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
10:48:06 UTC ---

This is an ARM (both arm32 and arm64) specific issue due to the shifts being

free.  If you look at the mips assembly, it looks good for a dual issue

processor as it is scheduled as an add followed by a shift.



I think the issue is reassocdoes not know that shifts are free on arm.


[Bug target/54952] Program crash on M32C when stack frame is more then 128 bytes

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54952



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||INVALID



--- Comment #3 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
10:54:29 UTC ---

Not a GCC bug - INVALID


[Bug middle-end/55279] New pseudo registers aren't supported in CSE

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55279



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-12-09

 CC||jakub at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
10:58:34 UTC ---

Potentially silent wrong code - RM?


[Bug middle-end/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



--- Comment #3 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 11:18:56 UTC ---

(In reply to comment #2)

 This is an ARM (both arm32 and arm64) specific issue due to the shifts being

 free.  If you look at the mips assembly, it looks good for a dual issue

 processor as it is scheduled as an add followed by a shift.

 

 I think the issue is reassocdoes not know that shifts are free on arm.



This does not look like only an ARM issue. To properly demonstrate it on MIPS

and even without dual-issue, all the additions can be just changed with

multiplications (because it is a long latency instruction). In this case we

get:



unsigned int f1(unsigned int x)

{

unsigned int a, b;

a = x  1;

b = x  2;

a *= x  3;

b *= x  4;

a *= x  5;

b *= x  6;

a *= x  7;

b *= x  8;

a *= x  9;

b *= x  10;

a *= x  11;

b *= x  12;

a *= x  13;

b *= x  14;

a *= x  15;

b *= x  16;

a *= x  17;

b *= x  18;

a *= x  19;

b *= x  20;

a *= x  21;

b *= x  22;

a *= x  23;

b *= x  24;

return a * b;

}



unsigned int f2(unsigned int x)

{

unsigned int a, b;

a = x  1;

b = x  2;

a *= x  3;

b *= x  4;

a *= x  5;

b *= x  6;

a *= x  7;

b *= x  8;

a *= x  9;

b *= x  10;

a *= x  11;

b *= x  12;

a *= x  13;

b *= x  14;

a *= x  15;

b *= x  16;

a *= x  17;

b *= x  18;

a *= x  19;

b *= x  20;

a *= x  21;

b *= x  22;

a *= x  23;

b *= x  24;

asm ( : +r (a));

return a * b;

}



And the benchmark run on MIPS 74K:



$ gcc -O2 -march=mips32r2 -mtune=74kc -o badschedmul badschedmul.c

$ time ./badchedmul 1



real0m34.934s

user0m34.689s

sys0m0.073s



$ time ./badchedmul 2



real0m19.261s

user0m19.122s

sys0m0.050s



The symptoms are still the same. GCC just merges two independent calculations

into a single dependency chain. While I would have expected it to be the other

way around (breaking dependency chains to run faster on the target CPU).


[Bug middle-end/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



--- Comment #4 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 11:21:42 UTC ---

Created attachment 28905

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28905

badschedmul.c



The testcase, converted to use multiplications. Can be used to demonstrates the

problem on all architectures, even including x86-64.


[Bug middle-end/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Target|arm*-*-*, aarch64-*-*   |



--- Comment #5 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
11:36:39 UTC ---

Not target dependent, also shows on powerpc64.


[Bug middle-end/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 CC||steven at gcc dot gnu.org



--- Comment #6 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
12:13:03 UTC ---

Can you try using -frename-registers?



Without vs with -frename-registers:

mov r3, r0, lsr #2   mov r3, r0, lsr #2

add r3, r3, r0, lsr #1 | add r1, r3, r0, lsr #1

add r3, r3, r0, lsr #3 | add r2, r1, r0, lsr #3

add r3, r3, r0, lsr #4 | add ip, r2, r0, lsr #4

add r3, r3, r0, lsr #5 | add r3, ip, r0, lsr #5

add r3, r3, r0, lsr #6 | add r1, r3, r0, lsr #6

add r3, r3, r0, lsr #7 | add r2, r1, r0, lsr #7

add r3, r3, r0, lsr #8 | add ip, r2, r0, lsr #8

add r3, r3, r0, lsr #9 | add r3, ip, r0, lsr #9

add r3, r3, r0, lsr #10| add r1, r3, r0, lsr #10 

add r3, r3, r0, lsr #11| add r2, r1, r0, lsr #11 

add r3, r3, r0, lsr #12| add ip, r2, r0, lsr #12 

add r3, r3, r0, lsr #13| add r3, ip, r0, lsr #13 

add r3, r3, r0, lsr #14| add r1, r3, r0, lsr #14 

add r3, r3, r0, lsr #15| add r2, r1, r0, lsr #15 

add r3, r3, r0, lsr #16| add ip, r2, r0, lsr #16 

add r3, r3, r0, lsr #17| add r3, ip, r0, lsr #17 

add r3, r3, r0, lsr #18| add r1, r3, r0, lsr #18 

add r3, r3, r0, lsr #19| add r2, r1, r0, lsr #19 

add r3, r3, r0, lsr #20| add ip, r2, r0, lsr #20 

add r3, r3, r0, lsr #21| add r3, ip, r0, lsr #21 

add r3, r3, r0, lsr #22| add r1, r3, r0, lsr #22 

add r3, r3, r0, lsr #23| add r2, r1, r0, lsr #23 

add r0, r3, r0, lsr #24| add r0, r2, r0, lsr #24 

bx  lr   bx  lr


[Bug middle-end/55623] [ARM] GCC should not prefer long dependency chains, they inhibit performance on superscalar processors

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55623



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 CC|steven at gcc dot gnu.org   |



--- Comment #7 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
12:14:50 UTC ---

(In reply to comment #6)

 Can you try using -frename-registers?



(Not that I expect it to help because the dependencies are not really

broken, but maybe the in-core reg-renamer likes this form better...)


[Bug c++/55624] New: internal compiler error

2012-12-09 Thread shawn.pringle+bugzilla at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55624



 Bug #: 55624

   Summary: internal compiler error

Classification: Unclassified

   Product: gcc

   Version: 4.7.1

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: shawn.pringle+bugzi...@gmail.com





COLLECT_GCC=gcc 

COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i486-slackware-linux/4.7.1/lto-wrapper

Target: i486-slackware-linux

Configured with: ../gcc-4.7.1/configure --prefix=/usr --libdir=/usr/lib

--mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap

--enable-languages=ada,c,c++,fortran,go,java,lto,objc --enable-threads=posix

--enable-checking=release --enable-objc-gc --with-system-zlib

--with-python-dir=/lib/python2.7/site-packages --disable-libunwind-exceptions

--enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose

--enable-java-home --with-java-home=/usr/lib/jvm/jre

--with-jvm-root-dir=/usr/lib/jvm --with-jvm-jar-dir=/usr/lib/jvm/jvm-exports

--with-arch-directory=i386

--with-antlr-jar=/root/slackware-current/source/d/gcc/antlr-runtime-3.4.jar

--enable-java-awt=gtk --disable-gtktest --with-arch=i486

--target=i486-slackware-linux --build=i486-slackware-linux

--host=i486-slackware-linux

Thread model: posix

gcc version 4.7.1 (GCC) 

shawn@piva:~/development/bitcoin$ gcc -save-temps -c -O2 -pthread -Wall -Wextra

-Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE

-I/home/shawn/development/repos/git/bitcoin/src

-I/home/shawn/development/repos/git/bitcoin/src/obj -DUSE_UPNP=0 -DUSE_IPV6=1

-I/home/shawn/development/repos/git/bitcoin/src/leveldb/include

-I/home/shawn/development/repos/git/bitcoin/src/leveldb/helpers

-DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector

-D_FORTIFY_SOURCE=2  -MMD -MF obj/db.d -o obj/db.o db.cpp

gcc: internal compiler error: Killed (program cc1plus)

Please submit a full bug report,

with preprocessed source if appropriate.

See http://gcc.gnu.org/bugs.html for instructions.

shawn@piva:~/development/bitcoin$ ls *.i*

db.ii


[Bug rtl-optimization/55547] [4.8 Regression] Alias analysis does not handle AND addresses correctly

2012-12-09 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55547



--- Comment #5 from Uros Bizjak ubizjak at gmail dot com 2012-12-09 13:52:06 
UTC ---

(In reply to comment #4)



 Uros, I'm regstrapping this on x86_64; would you please give it a spin on

 alpha?  TIA,



Thanks, I have started the bootstrap, please expect results in ~10h.


[Bug target/55344] Cross compiling for alpha-linux fails because signal.h doesn't exist

2012-12-09 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55344



Uros Bizjak ubizjak at gmail dot com changed:



   What|Removed |Added



 CC||ubizjak at gmail dot com

   Target Milestone|--- |4.7.3



--- Comment #2 from Uros Bizjak ubizjak at gmail dot com 2012-12-09 14:04:26 
UTC ---

I am testing following trivial patch:



--cut here--

Index: config/alpha/linux-unwind.h

===

--- config/alpha/linux-unwind.h (revision 194329)

+++ config/alpha/linux-unwind.h (working copy)

@@ -22,6 +22,7 @@

 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see

 http://www.gnu.org/licenses/.  */



+#ifndef inhibit_libc

 /* Do code reading to identify a signal frame, and set the frame

state data appropriately.  See unwind-dw2.c for the structs.  */



@@ -97,3 +98,4 @@

  || pc[1] == 0x201f015f))  /* lda $0,NR_rt_sigreturn */

 _Unwind_SetSignalFrame (context, 1);

 }

+#endif

--cut here--


[Bug c++/55624] internal compiler error

2012-12-09 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55624



--- Comment #1 from Uros Bizjak ubizjak at gmail dot com 2012-12-09 14:23:56 
UTC ---

Please report the bug as outlined in the instructions[1].



[1] http://gcc.gnu.org/bugs/#report


[Bug debug/54230] g++.dg/debug/dwarf2/pubnames-2.C failures on darwin12

2012-12-09 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54230



Jack Howarth howarth at nitro dot med.uc.edu changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #2 from Jack Howarth howarth at nitro dot med.uc.edu 2012-12-09 
14:36:03 UTC ---

This was fixed at...



Author: sterling

Date: Tue Aug 14 15:11:02 2012

New Revision: 190388



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190388

Log:

2012-08-13  Sterling Augustine  saugust...@google.com



* g++.dg/debug/dwarf2/pubnames-2.C: Adjust.


[Bug testsuite/55429] new UNRESOLVED: 20_util/enable_shared_from_this/cons/constexpr.cc scan-assembler on darwin

2012-12-09 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55429



--- Comment #9 from Jack Howarth howarth at nitro dot med.uc.edu 2012-12-09 
14:54:58 UTC ---

Should be fixed at...



Author: schwab

Date: Sun Dec  9 14:31:27 2012

New Revision: 194330



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=194330

Log:

* testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags

after running the test.



Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/testsuite/lib/libstdc++.exp


[Bug tree-optimization/55625] New: FAIL: gcc.dg/tree-prof/tracer-1.c scan-tree-dump-times tracer c = 2

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55625



 Bug #: 55625

   Summary: FAIL: gcc.dg/tree-prof/tracer-1.c scan-tree-dump-times

tracer c = 2

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: tree-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa2.0w-hp-hpux11.11

Target: hppa2.0w-hp-hpux11.11

 Build: hppa2.0w-hp-hpux11.11





Created attachment 28906

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28906

Tree dump



spawn /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/

/test/gnu/gcc/gc

c/gcc/testsuite/gcc.dg/tree-prof/tracer-1.c -fno-diagnostics-show-caret -O2

-ftr

acer -fdump-tree-tracer -fprofile-generate -D_PROFILE_GENERATE -lm -o

/test/gnu/

gcc/objdir/gcc/testsuite/gcc/tracer-1.x01

PASS: gcc.dg/tree-prof/tracer-1.c compilation,  -fprofile-generate

-D_PROFILE_GE

NERATE

Setting LD_LIBRARY_PATH to :/test/gnu/gcc/objdir/gcc::/test/gnu/gcc/objdir/gcc

spawn [open ...]

PASS: gcc.dg/tree-prof/tracer-1.c execution,-fprofile-generate

-D_PROFILE_GE

NERATE

FAIL: gcc.dg/tree-prof/tracer-1.c scan-tree-dump-times tracer c = 2


[Bug target/54257] gcc.target/i386/pr53249.c failure at -m64 on x86_64-apple-darwin

2012-12-09 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54257



Jack Howarth howarth at nitro dot med.uc.edu changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #7 from Jack Howarth howarth at nitro dot med.uc.edu 2012-12-09 
15:08:55 UTC ---

Fixed at...



Author: hjl

Date: Sat Nov  3 21:36:48 2012

New Revision: 193126



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193126

Log:

Add check_effective_target_maybe_x32



* lib/target-supports.exp (check_effective_target_maybe_x32): New

proc.

* gcc.target/i386/pr54457.c: Use dg-require-effective-target

maybe_x32.

* gcc.target/i386/pr53249.c: Likewise.



Modified:

trunk/gcc/testsuite/ChangeLog

trunk/gcc/testsuite/gcc.target/i386/pr53249.c

trunk/gcc/testsuite/gcc.target/i386/pr54457.c

trunk/gcc/testsuite/lib/target-supports.exp


[Bug target/54255] FAIL: gcc.target/i386/asm-dialect-1.c (test for excess errors) fails on x86_64/i686 darwin

2012-12-09 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54255



Jack Howarth howarth at nitro dot med.uc.edu changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #5 from Jack Howarth howarth at nitro dot med.uc.edu 2012-12-09 
15:10:55 UTC ---

Fixed at r193127.


[Bug tree-optimization/55626] New: FAIL: gcc.dg/tree-prof/val-prof-2.c

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55626



 Bug #: 55626

   Summary: FAIL: gcc.dg/tree-prof/val-prof-2.c

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: tree-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa2.0w-hp-hpux11.11

Target: hppa2.0w-hp-hpux11.11

 Build: hppa2.0w-hp-hpux11.11





Created attachment 28907

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28907

IPA dump



Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/

/te

st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c 

-fno-diagnostics-sho

w-caret   -O2 -fdump-tree-optimized -fdump-ipa-profile -fprofile-use

-D_PROFILE_

USE  -lm   -o /test/gnu/gcc/objdir/gcc/testsuite/gcc/val-prof-2.x02(timeout 

= 300)

spawn /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/

/test/gnu/gcc/gc

c/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c -fno-diagnostics-show-caret -O2

-f

dump-tree-optimized -fdump-ipa-profile -fprofile-use -D_PROFILE_USE -lm -o

/test

/gnu/gcc/objdir/gcc/testsuite/gcc/val-prof-2.x02

PASS: gcc.dg/tree-prof/val-prof-2.c compilation,  -fprofile-use -D_PROFILE_USE

Setting LD_LIBRARY_PATH to :/test/gnu/gcc/objdir/gcc::/test/gnu/gcc/objdir/gcc

spawn [open ...]

PASS: gcc.dg/tree-prof/val-prof-2.c execution,-fprofile-use -D_PROFILE_USE

FAIL: gcc.dg/tree-prof/val-prof-2.c scan-ipa-dump profile Mod power of 2

transf

ormation on insn

FAIL: gcc.dg/tree-prof/val-prof-2.c scan-tree-dump optimized n_[0-9]* \\+

(4294

967295|0x0*)

PASS: gcc.dg/tree-prof/val-prof-2.c scan-tree-dump-not optimized Invalid sum


[Bug c++/55624] internal compiler error

2012-12-09 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55624



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

   Last reconfirmed||2012-12-09

 Ever Confirmed|0   |1


[Bug tree-optimization/55626] FAIL: gcc.dg/tree-prof/val-prof-2.c

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55626



--- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2012-12-09 
15:24:02 UTC ---

Created attachment 28908

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28908

Tree dump


[Bug middle-end/55279] New pseudo registers aren't supported in CSE

2012-12-09 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55279



--- Comment #5 from H.J. Lu hjl.tools at gmail dot com 2012-12-09 15:33:53 
UTC ---

Any passes which allocate a table for maximum number of registers

can't deal with new pseudo registers.  But there is nothing to

check and enforce it.


[Bug rtl-optimization/55627] New: [4.8 Regression] FAIL: g++.dg/bprob/g++-bprob-1.C execution, -Os -fprofile-arcs

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55627



 Bug #: 55627

   Summary: [4.8 Regression] FAIL: g++.dg/bprob/g++-bprob-1.C

execution,-Os  -fprofile-arcs

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: rtl-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa2.0w-hp-hpux11.11

Target: hppa2.0w-hp-hpux11.11

 Build: hppa2.0w-hp-hpux11.11





Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++

-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/bprob/g++-bprob-1.C 

-fno-diagnostics-show-caret  -nostdinc++

-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11

-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include

-I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++

-I/test/gnu/gcc/gcc/libstdc++-v3/include/backward

-I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0  -Os  

-fprofile-arcs   

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs 

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs 

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs  -lm   -o

/test/gnu/gcc/objdir/gcc/testsuite/g++/g++-bprob-1.x61(timeout = 300)spawn

/test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++

-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/bprob/g++-bprob-1.C

-fno-diagnostics-show-caret -nostdinc++

-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11

-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include

-I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++

-I/test/gnu/gcc/gcc/libstdc++-v3/include/backward

-I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -Os

-fprofile-arcs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs -lm -o

/test/gnu/gcc/objdir/gcc/testsuite/g++/g++-bpro

b-1.x61^M

PASS: g++.dg/bprob/g++-bprob-1.C compilation,  -Os  -fprofile-arcs

Setting LD_LIBRARY_PATH to

.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/gcc:.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/gcc

spawn [open ...]^M

FAIL: g++.dg/bprob/g++-bprob-1.C execution,-Os  -fprofile-arcs

UNRESOLVED: g++.dg/bprob/g++-bprob-1.C compilation,  -Os 

-fbranch-probabilities

UNRESOLVED: g++.dg/bprob/g++-bprob-1.C execution,-Os 

-fbranch-probabilities



Didn't fail at beginning of September, 2012.  Fail is specific to -Os.


[Bug c++/55628] New: Segmentation fault (segfault) on invalid template oneliner

2012-12-09 Thread h-gccbg at scnr dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55628



 Bug #: 55628

   Summary: Segmentation fault (segfault) on invalid template

oneliner

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: h-gc...@scnr.net





Created attachment 28909

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28909

Preprocessed source



templateclass T templateclass template CT 



crashes gcc version 4.7.2 (Debian 4.7.2-4):



[~] cat  crash.cpp

templateclass T templateclass template CT 

[exit code 0]

[~] g++ -Wall -Werror crash.cpp

crash.cpp:1:46: internal compiler error: Segmentation fault

Please submit a full bug report,

with preprocessed source if appropriate.

See file:///usr/share/doc/gcc-4.7/README.Bugs for instructions.

Preprocessed source stored into /tmp/ccEnSjYq.out file, please attach this to

your bugreport.

[exit code 1]





Same with gcc version 4.7.2 (GCC) under Arch Linux.


[Bug tree-optimization/55629] New: Missed value numbering to a constant

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55629



 Bug #: 55629

   Summary: Missed value numbering to a constant

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: tree-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: ste...@gcc.gnu.org





Consider a classic example of non-distributivity of constant propagation:



int foo (int);

int foo (int c) {

  int a, b;

  if (c) { a = 3; b = 2; }

  else { a = 2; b = 3; }

  return a + b;

}



Value numbering should be able to determine that a+b=5. GCC successfully

optimizes the test case to just return 5 with -ftree-pre, but with only

-ftree-fre (-O1) the equivalence is not noticed.


[Bug tree-optimization/55629] Missed value numbering to a constant

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55629



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||missed-optimization

 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-12-09

 CC||matz at gcc dot gnu.org,

   ||rguenth at gcc dot gnu.org

  Known to work||4.4.7, 4.6.3, 4.8.0

 Ever Confirmed|0   |1


[Bug rtl-optimization/55627] [4.8 Regression] FAIL: g++.dg/bprob/g++-bprob-1.C execution, -Os -fprofile-arcs

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55627



--- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2012-12-09 
15:59:24 UTC ---

(gdb) p for_val2

$2 = 6

(gdb) p goto_val

$3 = 11

(gdb) p for_val1

$4 = 12

(gdb) p for_val2

$5 = 6

(gdb) p goto_val

$6 = 11

(gdb) p ifelse_val1

$7 = 31

(gdb) p ifelse_val2

$8 = 23

(gdb) p ifelse_val3

$9 = 246

(gdb) p switch_val

$10 = 55



for_val2 and goto_val are wrong.


[Bug middle-end/55279] New pseudo registers aren't supported in CSE

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55279



--- Comment #6 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
16:09:04 UTC ---

(In reply to comment #5)



There shouldn't be any such tables. Before the DF merge, there was 

no_new_pseudos, but it had its problems.



Why can't cse_reg_info_table() be modified to intercept this?


[Bug middle-end/55279] New pseudo registers aren't supported in CSE

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55279



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 CC||steven at gcc dot gnu.org



--- Comment #7 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
16:09:44 UTC ---

(In reply to comment #5)

 Why can't cse_reg_info_table() be modified to intercept this?

Correction: get_cse_reg_info()


[Bug middle-end/55279] New pseudo registers aren't supported in CSE

2012-12-09 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55279



--- Comment #8 from Steven Bosscher steven at gcc dot gnu.org 2012-12-09 
16:13:12 UTC ---

(In reply to comment #7)

 (In reply to comment #5)

  Why can't cse_reg_info_table() be modified to intercept this?

 Correction: get_cse_reg_info()



Like so, quick-and-dirty hack. HJ, can you try and see if this

keeps valgrind happy?



Index: cse.c

===

--- cse.c   (revision 194325)

+++ cse.c   (working copy)

@@ -833,6 +833,7 @@

 static inline struct cse_reg_info *

 get_cse_reg_info (unsigned int regno)

 {

+  init_cse_reg_info (regno + 1);

   struct cse_reg_info *p = cse_reg_info_table[regno];



   /* If this entry has not been initialized, go ahead and initialize


[Bug middle-end/55630] New: [4.8 Regression] FAIL: g++.dg/pr48660.C -std=c++98 (internal compiler error)

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55630



 Bug #: 55630

   Summary: [4.8 Regression] FAIL: g++.dg/pr48660.C -std=c++98

(internal compiler error)

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa2.0w-hp-hpux11.11

Target: hppa2.0w-hp-hpux11.11

 Build: hppa2.0w-hp-hpux11.11





Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++

-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/pr48

660.C  -fno-diagnostics-show-caret  -nostdinc++

-I/test/gnu/gcc/objdir/hppa2.0w-

hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11

-I/test/gnu/gcc/objdir/h

ppa2.0w-hp-hpux11.11/libstdc++-v3/include

-I/test/gnu/gcc/gcc/libstdc++-v3/libsu

pc++ -I/test/gnu/gcc/gcc/libstdc++-v3/include/backward

-I/test/gnu/gcc/gcc/libst

dc++-v3/testsuite/util -fmessage-length=0 -std=c++98  -pedantic-errors

-Wno-long

-long  -S  -o pr48660.s(timeout = 300)

spawn /test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++

-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/pr48660.C -fno-di

agnostics-show-caret -nostdinc++

-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11

-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux

11.11/libstdc++-v3/include -I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++

-I/test/gn

u/gcc/gcc/libstdc++-v3/include/backward

-I/test/gnu/gcc/gcc/libstdc++-v3/testsui

te/util -fmessage-length=0 -std=c++98 -pedantic-errors -Wno-long-long -S -o

pr48

660.s

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/pr48660.C: In member function 'virtual

va

l2 Derived::_ZTv0_n16_NK7Derived4get2Ev() const':

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/pr48660.C:16:18: internal compiler

error:

 in simplify_subreg, at simplify-rtx.c:5682

libbacktrace could not find executable to openPlease submit a full bug report,

with preprocessed source if appropriate.

See http://gcc.gnu.org/bugs.html for instructions.

compiler exited with status 1

output is:

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/pr48660.C: In member function 'virtual

val2 Derived::_ZTv0_n16_NK7Derived4get2Ev() const':

/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/pr48660.C:16:18: internal compiler

error: in simplify_subreg, at simplify-rtx.c:5682

libbacktrace could not find executable to open

Please submit a full bug report,

with preprocessed source if appropriate.

See http://gcc.gnu.org/bugs.html for instructions.



FAIL: g++.dg/pr48660.C -std=c++98 (internal compiler error)

FAIL: g++.dg/pr48660.C -std=c++98 (test for excess errors)



Same with -std=c++11.



Introduced between 192636 and 192894.


[Bug c++/55631] New: Several ext/ headers can not be #included on their own

2012-12-09 Thread ppluzhnikov at google dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55631

 Bug #: 55631
   Summary: Several ext/ headers can not be #included on their own
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ppluzhni...@google.com


The following headers:

ext/string_conversions.h
ext/alloc_traits.h
ext/pointer.h

can't be '#included' on their own (using 4.8.0 20121209):

echo #include ext/string_conversions.h | g++ -xc++ -c -

In file included from stdin:1:0:
include/c++/4.8.0/ext/string_conversions.h:52:20: error: no default argument
for ‘_CharT’
 _Base... __base)
^
include/c++/4.8.0/ext/string_conversions.h:52:20: error: default template
arguments may not be used in function templates without -std=c++11 or
-std=gnu++11
include/c++/4.8.0/ext/string_conversions.h:81:28: error: default template
arguments may not be used in function templates without -std=c++11 or
-std=gnu++11
const _CharT* __fmt, ...)
^

The above error should probably be fixed with:

#if __cplusplus  201103L
# include bits/c++0x_warning.h
#else

(the file does compile fine in c++11 mode.)

echo #include ext/alloc_traits.h | g++ -xc++ -c - -std=c++11
In file included from include/c++/4.8.0/bits/alloc_traits.h:35:0,
 from include/c++/4.8.0/ext/alloc_traits.h:35,
 from stdin:1:
include/c++/4.8.0/bits/ptr_traits.h: In static member function ‘static _Tp*
std::pointer_traits_Tp*::pointer_to(typename
std::__ptrtr_not_void_Tp::__type)’:
include/c++/4.8.0/bits/ptr_traits.h:174:16: error: ‘addressof’ is not a member
of ‘std’
...


Same problem as above for ext/pointer.h


[Bug c++/55631] Several ext/ headers can not be #included on their own

2012-12-09 Thread ppluzhnikov at google dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55631



--- Comment #1 from Paul Pluzhnikov ppluzhnikov at google dot com 2012-12-09 
16:55:52 UTC ---

Google ref b/7699405


[Bug rtl-optimization/52714] ICE in fixup_reorder_chain, at cfglayout.c:880

2012-12-09 Thread tg at mirbsd dot org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52714

--- Comment #4 from Thorsten Glaser tg at mirbsd dot org 2012-12-09 18:03:08 
UTC ---
Created attachment 28910
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28910
preprocessed source, xz compressed

I ran into this as well, native compilation on Debian/m68k:

  CC src/proxy-bio-unittest.o
gcc -DHAVE_CONFIG_H -I. -g -O1 -Wall -fno-strict-aliasing
-D_FORTIFY_SOURCE=2 -fstack-protector-all -fwrapv -fPIE -Wstack-protector
--param=ssp-buffer-size=1 -c -o src/proxy-bio-unittest.o
src/proxy-bio-unittest.c
src/proxy-bio-unittest.c: In function 'need_out_bytes':
src/proxy-bio-unittest.c:38:5: warning: stack protector not protecting local
variables: variable length buffer [-Wstack-protector]
src/proxy-bio-unittest.c:60:1: internal compiler error: in fixup_reorder_chain,
at cfglayout.c:877
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.6/README.Bugs for instructions.
Preprocessed source stored into /tmp/ccqReOfy.out file, please attach this to
your bugreport.
make[2]: *** [src/proxy-bio-unittest.o] Error 1

(pbuild3928)root@ara5:/ # gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc-4.6.real
COLLECT_LTO_WRAPPER=/usr/lib/gcc/m68k-linux-gnu/4.6/lto-wrapper
Target: m68k-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-14+m68k.2'
--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--disable-libssp --enable-plugin --enable-objc-gc --disable-werror
--disable-multilib --enable-checking=release --build=m68k-linux-gnu
--host=m68k-linux-gnu --target=m68k-linux-gnu
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-14+m68k.2) 

That’s from building
http://lists.debian.org/debian-devel-changes/2012/12/msg00549.html


[Bug target/55344] Cross compiling for alpha-linux fails because signal.h doesn't exist

2012-12-09 Thread uros at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55344



--- Comment #3 from uros at gcc dot gnu.org 2012-12-09 18:16:07 UTC ---

Author: uros

Date: Sun Dec  9 18:15:59 2012

New Revision: 194334



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=194334

Log:

PR target/55344

* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.





Modified:

trunk/libgcc/ChangeLog

trunk/libgcc/config/alpha/linux-unwind.h


[Bug target/55344] Cross compiling for alpha-linux fails because signal.h doesn't exist

2012-12-09 Thread uros at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55344



--- Comment #4 from uros at gcc dot gnu.org 2012-12-09 18:21:44 UTC ---

Author: uros

Date: Sun Dec  9 18:21:41 2012

New Revision: 194336



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=194336

Log:

PR target/55344

* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.





Modified:

branches/gcc-4_7-branch/libgcc/ChangeLog

branches/gcc-4_7-branch/libgcc/config/alpha/linux-unwind.h


[Bug target/55344] Cross compiling for alpha-linux fails because signal.h doesn't exist

2012-12-09 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55344



Uros Bizjak ubizjak at gmail dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

URL||http://gcc.gnu.org/ml/gcc-p

   ||atches/2012-12/msg00586.htm

   ||l

 Resolution||FIXED



--- Comment #5 from Uros Bizjak ubizjak at gmail dot com 2012-12-09 18:24:03 
UTC ---

Fixed.


[Bug middle-end/54470] FAIL: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray4[^\\n]*inline copy in test4

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54470



--- Comment #3 from John David Anglin danglin at gcc dot gnu.org 2012-12-09 
18:24:32 UTC ---

Author: danglin

Date: Sun Dec  9 18:24:27 2012

New Revision: 194337



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=194337

Log:

PR middle-end/54470

* gcc.dg/ipa/iinline-4.c: xfail hooray4 test on 32-bit hppa*-*-*.





Modified:

trunk/gcc/testsuite/ChangeLog

trunk/gcc/testsuite/gcc.dg/ipa/iinline-4.c


[Bug c++/55631] Several ext/ headers can not be #included on their own

2012-12-09 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55631



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-12-09

 AssignedTo|unassigned at gcc dot   |redi at gcc dot gnu.org

   |gnu.org |

 Ever Confirmed|0   |1


[Bug c++/55632] New: trunk/gcc/cp/decl.c:10614: strange line of code

2012-12-09 Thread dcb314 at hotmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55632



 Bug #: 55632

   Summary: trunk/gcc/cp/decl.c:10614: strange line of code

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: minor

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dcb...@hotmail.com





The line of code in question is



/* Record presence of `static'.  */

publicp = (ctype != NULL_TREE

   || storage_class == sc_extern

   || storage_class != sc_static);



This might be better as 



/* Record presence of `static'.  */

publicp = (ctype != NULL_TREE

   || storage_class != sc_static);



But then the code and the comment don't match up.

Suggest code rework.


[Bug pch/54117] [4.8 Regression] FAIL: ./decl-3.h -O0 -g (internal compiler error)

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54117



--- Comment #3 from John David Anglin danglin at gcc dot gnu.org 2012-12-09 
20:15:15 UTC ---

I just noticed that the tests no longer ICE:



FAIL: gcc.dg/pch/decl-3.c  -O0 -g assembly comparison

FAIL: gcc.dg/pch/decl-3.c   -O3 -g  assembly comparison

FAIL: gcc.dg/pch/decl-4.c  -O0 -g assembly comparison

FAIL: gcc.dg/pch/decl-4.c   -O3 -g  assembly comparison

FAIL: gcc.dg/pch/struct-1.c  -O0 -g assembly comparison

FAIL: gcc.dg/pch/struct-1.c   -O3 -g  assembly comparison

FAIL: gcc.dg/pch/system-1.c  -O0 -g assembly comparison

FAIL: gcc.dg/pch/system-1.c   -O3 -g  assembly comparison



FAIL: g++.dg/pch/array-1.C  -g assembly comparison

FAIL: g++.dg/pch/array-1.C  -O2 -g assembly comparison

FAIL: g++.dg/pch/externc-1.C  -g assembly comparison

FAIL: g++.dg/pch/externc-1.C  -O2 -g assembly comparison

FAIL: g++.dg/pch/static-1.C  -g assembly comparison

FAIL: g++.dg/pch/static-1.C  -O2 -g assembly comparison

FAIL: g++.dg/pch/system-1.C  -g assembly comparison

FAIL: g++.dg/pch/system-1.C  -O2 -g assembly comparison

FAIL: g++.dg/pch/system-2.C  -g assembly comparison

FAIL: g++.dg/pch/system-2.C  -O2 -g assembly comparison

FAIL: g++.dg/pch/uninst.C  -g assembly comparison

FAIL: g++.dg/pch/uninst.C  -O2 -g assembly comparison

FAIL: g++.dg/pch/wchar-1.C  -g assembly comparison

FAIL: g++.dg/pch/wchar-1.C  -O2 -g assembly comparison



The assembly comparison errors seem to be caused by the same

problem as before:



PASS: gcc.dg/pch/decl-3.c  -O0 -g -I. -Dwithout_PCH (test for excess errors)

line #31   .stabs  foo_p:t16=17=*18=xsfoo:,128,0,2,0   .SPACE

$TEXT$

line #32   .SPACE $TEXT$   .NSUBSPA $CODE$

line #33

   .NSUBSPA $CODE$

   .align 4


[Bug rtl-optimization/52714] ICE in fixup_reorder_chain, at cfglayout.c:880

2012-12-09 Thread mikpe at it dot uu.se


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52714



--- Comment #5 from Mikael Pettersson mikpe at it dot uu.se 2012-12-09 
20:22:53 UTC ---

Thorsten's test case also ICEs gcc-4.7-20121208 and gcc-4.8 r194325.


[Bug fortran/55633] New: [4.8 Regression] FAIL: gfortran.dg/g77/f90-intrinsic-bit.f -Os execution test

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55633



 Bug #: 55633

   Summary: [4.8 Regression] FAIL:

gfortran.dg/g77/f90-intrinsic-bit.f  -Os  execution

test

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa*-*-* (32-bit)

Target: hppa*-*-* (32-bit)

 Build: hppa*-*-* (32-bit)





Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../gfortran

-B/test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/

/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f 

-fno-diagnostics-show-caret   -Os   -pedantic-errors 

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs

-L/test/gnu/gcc/objdi

r/hppa2.0w-hp-hpux11.11/./libgfortran/.libs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-h

pux11.11/./libgfortran/.libs

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libq

uadmath/.libs -L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs

-

L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs  -lm   -o

./f90-

intrinsic-bit.exe(timeout = 300)

spawn /test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../gfortran

-B/test/gnu/gcc

/objdir/gcc/testsuite/gfortran/../../

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.

11/./libgfortran/

/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f

-fno-diagnostics-show-caret -Os -pedantic-errors

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs -lm -o

./f90-intrinsic-bit.exePASS: gfortran.dg/g77/f90-intrinsic-bit.f  -Os  (test

for excess errors)

Setting LD_LIBRARY_PATH to

.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs:/test

/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs:/test/gnu/gcc/objdir/gcc:.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libquadmath/.libs:/test/gnu/gcc/objdir/gcc

spawn [open ...]

Test BIT_SIZE(integer(8)) FAILED

 Got64  expected 0



Backtrace for this error:

#0  0xC1C39DDB

FAIL: gfortran.dg/g77/f90-intrinsic-bit.f  -Os  execution test



Expected value seems wrong...


[Bug tree-optimization/55614] [4.6/4.7 Regression] vector extensions cause movdqa to be generated for memcpy on unaligned buffer

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55614



--- Comment #8 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 20:59:42 UTC ---

FWIW, the current gentoo patchset for gcc-4.7.2 contains

10_all_default-fortify-source.patch intended to Enable -D_FORTIFY_SOURCE=2 by

default. It makes this bug non-reproducible there (or just latent?).


[Bug testsuite/55429] new UNRESOLVED: 20_util/enable_shared_from_this/cons/constexpr.cc scan-assembler on darwin

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55429



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



 Target|*-apple-darwin* |

   Host|*-apple-darwin* |

  Build|*-apple-darwin* |



--- Comment #10 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
21:39:44 UTC ---

Note I saw this also for a cross to aarch64-linux-gnuwhen testing with an

already installed compiler on x86_64-linux-gnu. (I do almost all my testing on

an already installed compiler which allows to show bugs which we might not see

on the just built ones).


[Bug c++/55624] internal compiler error

2012-12-09 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55624



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-12-09 
21:46:08 UTC ---

gcc: internal compiler error: Killed (program cc1plus)



Also means the program was killed by the kernel because out of memory.


[Bug target/55634] New: ARM: gcc vector extensions: storing vector to unaligned memory location does not use VST1.8 NEON instruction

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55634



 Bug #: 55634

   Summary: ARM: gcc vector extensions: storing vector to

unaligned memory location does not use VST1.8 NEON

instruction

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: enhancement

  Priority: P3

 Component: target

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: siarhei.siamas...@gmail.com





The following test program tries to use GCC vector extensions to add two

vectors together and store the result to unaligned memory location in a

portable way with memcpy:



/***/



#include string.h



typedef unsigned int T __attribute__ ((vector_size (16)));



void foo (void *result, T *a, T *b)

{

  T tmp = *a + *b;

  memcpy (result, tmp, sizeof(tmp));

}



/***/



Compiling with gcc 4.7.2:



$ arm-none-linux-gnueabi-gcc -O2 -mcpu=cortex-a8 -mfpu=neon -c test.c

$ objdump -d test.o



 foo:

   0:e52d4004 push{r4}; (str r4, [sp, #-4]!)

   4:ecd12b04 vldmiar1, {d18-d19}

   8:e24dd014 subsp, sp, #20

   c:ecd20b04 vldmiar2, {d16-d17}

  10:e28dc010 addip, sp, #16

  14:f26208e0 vadd.i32q8, q9, q8

  18:ed6c0b04 vstmdbip!, {d16-d17}

  1c:e1a0c00d movip, sp

  20:e1a04000 movr4, r0

  24:e8bc000f ldmip!, {r0, r1, r2, r3}

  28:e584 strr0, [r4]

  2c:e5841004 strr1, [r4, #4]

  30:e5842008 strr2, [r4, #8]

  34:e584300c strr3, [r4, #12]

  38:e28dd014 addsp, sp, #20

  3c:e8bd0010 pop{r4}

  40:e12fff1e bxlr



The same test program results in the following code if compiled for x86-64:



 foo:

   0:66 0f 6f 06  movdqa (%rsi),%xmm0

   4:66 0f fe 02  paddd  (%rdx),%xmm0

   8:f3 0f 7f 07  movdqu %xmm0,(%rdi)

   c:c3   retq   



So x86-64 target is able to use MOVDQU instruction. Hence ARM target should be

able to use VST1.8 as well.


[Bug target/55454] [PPC] unaligned memory accesses do not work correctly for vector extensions when using altivec

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55454



Siarhei Siamashka siarhei.siamashka at gmail dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||DUPLICATE



--- Comment #5 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 22:25:17 UTC ---

Appears that this is a duplicate of

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55614



As for memcpy, it looks like this is indeed the preferable portable way of

storing vectors to unaligned memory (albeit somewhat buggy at the moment).



And ARM just happens to have a performance issue related to memcpy, but it can

be tracked elsewhere: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55634



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


[Bug tree-optimization/55614] [4.6/4.7 Regression] vector extensions cause movdqa to be generated for memcpy on unaligned buffer

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55614



--- Comment #9 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 22:25:17 UTC ---

*** Bug 55454 has been marked as a duplicate of this bug. ***


[Bug rtl-optimization/55547] [4.8 Regression] Alias analysis does not handle AND addresses correctly

2012-12-09 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55547



--- Comment #6 from Uros Bizjak ubizjak at gmail dot com 2012-12-09 22:44:02 
UTC ---

(In reply to comment #4)



 Uros, I'm regstrapping this on x86_64; would you please give it a spin on

 alpha?  TIA,



The patch bootstraps and regtests OK on alpha [1]. The save_1.f90 failures are

all gone now.



[1] http://gcc.gnu.org/ml/gcc-testresults/2012-12/msg00803.html


[Bug c/55457] Having some predefined macros to get more information about gcc vector extensions capabilities would be nice

2012-12-09 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55457



Hans-Peter Nilsson hp at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-12-09

 Ever Confirmed|0   |1



--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-12-09 
23:03:34 UTC ---

I agree with the poster, mostly, but note that a set of macros stating native

SIMD vector sizes or preferred size, still says nothing about what operations

are supported natively as SIMD.


[Bug target/39469] Calculated values replaced with constants even if the constants cost more than the calculations

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39469



--- Comment #5 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-09 23:31:33 UTC ---

(In reply to comment #4)

 The ARM backend should do a splitter just like the rs6000 back-end does if it

 is faster/smaller to load a constant via the instructions.



I'm not sure if rs6000 is any better. It looks just as bad as ARM, based on my

experience trying to optimize

http://lists.freedesktop.org/archives/pixman/2012-December/002394.html


[Bug c++/55635] New: Deallocation function (operator delete) not called when destructor throws exception

2012-12-09 Thread joedoefawnbuck at googlemail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55635



 Bug #: 55635

   Summary: Deallocation function (operator delete) not called

when destructor throws exception

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: joedoefawnb...@googlemail.com





According to C++11, 5.3.5/7, the deallocation function of a dynamically

allocated object must be called upon a `delete` expression regardless of

whether the destructor exits with an exception or not.



However, when I run the following code through valgrind, it says that I have

one still-reachable block:



struct Foo { ~Foo() { throw 0; } };



int main()

{

auto p = new Foo;

try { delete p; }

catch (...) { }

}



Am I reading the standard right that the memory should be deallocated

regardless?



(SO discussion: http://stackoverflow.com/q/13792981/596781)


[Bug testsuite/55429] new UNRESOLVED: 20_util/enable_shared_from_this/cons/constexpr.cc scan-assembler on darwin

2012-12-09 Thread sch...@linux-m68k.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55429



Andreas Schwab sch...@linux-m68k.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED

   Target Milestone|--- |4.8.0



--- Comment #11 from Andreas Schwab sch...@linux-m68k.org 2012-12-10 00:14:49 
UTC ---

Fixed.


[Bug target/39469] Calculated values replaced with constants even if the constants cost more than the calculations

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39469



--- Comment #6 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-10 00:24:12 UTC ---

(In reply to comment #5)

 (In reply to comment #4)

  The ARM backend should do a splitter just like the rs6000 back-end does if 
  it

  is faster/smaller to load a constant via the instructions.

 

 I'm not sure if rs6000 is any better. It looks just as bad as ARM, based on my

 experience trying to optimize

 http://lists.freedesktop.org/archives/pixman/2012-December/002394.html



And the testcase attached to this bug compiles to the following code with

powerpc-unknown-linux-gnu-gcc (-O2 optimizations):



.filetest.c

.section.text

.align 2

.globl foo

.typefoo, @function

foo:

lis 8,0x5f5

lis 10,array@ha

ori 8,8,57600

la 9,array@l(10)

stw 8,array@l(10)

lis 10,0xbeb

ori 10,10,49664

stw 10,4(9)

lis 10,0x17d7

ori 10,10,33792

stw 10,8(9)

lis 10,0x2faf

ori 10,10,2048

stw 10,12(9)

blr

.sizefoo, .-foo

.align 2

.globl bar

.typebar, @function

bar:

lis 10,array@ha

slwi 6,3,1

la 9,array@l(10)

slwi 7,3,2

slwi 8,3,3

stw 3,array@l(10)

stw 6,4(9)

stw 7,8(9)

stw 8,12(9)

blr

.sizebar, .-bar

.identGCC: (GNU) 4.8.0 20121209 (experimental)

.section.note.GNU-stack,,@progbits



That's 15 instructions in foo vs. 10 in bar. For MIPS the difference is 16

instructions vs. 11 (I'm not posting the code because it is rather similar).



Is this really an ARM target bug?


[Bug fortran/55636] New: [4.8 Regression] Fortran name mangling collides with user namespace

2012-12-09 Thread dje at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55636



 Bug #: 55636

   Summary: [4.8 Regression] Fortran name mangling collides with

user namespace

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: critical

  Priority: P3

 Component: fortran

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: d...@gcc.gnu.org





As reported in early October, a patch added name mangling to some additional

symbols. The mangling is wrong for a number of reasons:



1) It conflicts with naming used in some systems (AIX)

2) It does not obey NO_DOT_IN_LABEL

3) It does not use identifiers reserved to the system



A proposal to use _F prefix instead of . was proposed and discussed, but

there has been no progress.


[Bug fortran/55636] [4.8 Regression] Fortran name mangling collides with user namespace

2012-12-09 Thread dje at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55636



David Edelsohn dje at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||assemble-failure, build,

   ||link-failure

 CC||burnus at gcc dot gnu.org,

   ||janus at gcc dot gnu.org

   Target Milestone|--- |4.8.0


[Bug c++/55635] Deallocation function (operator delete) not called when destructor throws exception

2012-12-09 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55635



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-12-10

 Ever Confirmed|0   |1



--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-12-10 
00:56:28 UTC ---

Your destructor calls terminate() according to C++11, it should be declared

noexcept(false) to demonstrate the bug.


[Bug middle-end/55279] New pseudo registers aren't supported in CSE

2012-12-09 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55279



--- Comment #9 from H.J. Lu hjl.tools at gmail dot com 2012-12-10 01:05:09 
UTC ---

(In reply to comment #8)

 (In reply to comment #7)

  (In reply to comment #5)

   Why can't cse_reg_info_table() be modified to intercept this?

  Correction: get_cse_reg_info()

 

 Like so, quick-and-dirty hack. HJ, can you try and see if this

 keeps valgrind happy?

 

 Index: cse.c

 ===

 --- cse.c   (revision 194325)

 +++ cse.c   (working copy)

 @@ -833,6 +833,7 @@

  static inline struct cse_reg_info *

  get_cse_reg_info (unsigned int regno)

  {

 +  init_cse_reg_info (regno + 1);

struct cse_reg_info *p = cse_reg_info_table[regno];

 

/* If this entry has not been initialized, go ahead and initialize



I got



/export/gnu/import/git/sources/gcc-release/gcc/testsuite/gcc.dg/Warray-bounds.c:92:1:

internal compiler error: in insert_regs, at cse.c:1159^M

0xce1db0 insert_regs^M

/export/gnu/import/git/sources/gcc-release/gcc/cse.c:1159^M 

0xce4fbb cse_insn^M

/export/gnu/import/git/sources/gcc-release/gcc/cse.c:5793^M

0xce719b cse_extended_basic_block^M

/export/gnu/import/git/sources/gcc-release/gcc/cse.c:6408^M

0xce719b cse_main^M

/export/gnu/import/git/sources/gcc-release/gcc/cse.c:6586^M

0xce7675 rest_of_handle_cse^M

/export/gnu/import/git/sources/gcc-release/gcc/cse.c:7436^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


[Bug target/43364] Suboptimal code for the use of ARM NEON intrinsic vset_lane_f32

2012-12-09 Thread siarhei.siamashka at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43364



Siarhei Siamashka siarhei.siamashka at gmail dot com changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED

  Known to fail||



--- Comment #5 from Siarhei Siamashka siarhei.siamashka at gmail dot com 
2012-12-10 02:12:05 UTC ---

This seems to have improved a lot. Thanks for your hard work.



.cpu cortex-a8

.eabi_attribute 27, 3

.eabi_attribute 28, 1

.fpu neon

.eabi_attribute 20, 1

.eabi_attribute 21, 1

.eabi_attribute 23, 3

.eabi_attribute 24, 1

.eabi_attribute 25, 1

.eabi_attribute 26, 1

.eabi_attribute 30, 2

.eabi_attribute 34, 1

.eabi_attribute 18, 4

.filetest.c

.text

.align2

.globalneon_add

.typeneon_add, %function

neon_add:

@ args = 0, pretend = 0, frame = 0

@ frame_needed = 0, uses_anonymous_args = 0

@ link register save eliminated.

vmov.f32d16, #0.0  @ v2sf

vmovd17, d16  @ v2sf

vld1.32{d16[0]}, [r1]

vld1.32{d17[0]}, [r2]

vadd.f32d16, d16, d17

vst1.32{d16[0]}, [r0]

bxlr

.sizeneon_add, .-neon_add

.identGCC: (GNU) 4.8.0 20121209 (experimental)


[Bug libgcj/55637] New: FAIL: sourcelocation output - source compiled test

2012-12-09 Thread danglin at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55637



 Bug #: 55637

   Summary: FAIL: sourcelocation output - source compiled test

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: libgcj

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa2.0w-hp-hpux11.11

Target: hppa2.0w-hp-hpux11.11

 Build: hppa2.0w-hp-hpux11.11





Executing on host:

/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/

../libtool --silent --tag=GCJ --mode=link /test/gnu/gcc/objdir/./gcc/gcj

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/

-B/test/gnu/gcc/objdir/./gcc/ -B/

opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/bin/

-B/opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/lib/ -isystem

/opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/include -isystem

/opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/sys-include--encoding=UTF-8

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/../

/test/gnu/gcc/gcc/libjava/testsuite/libjava.lang/sourcelocation.jar  -w 

-no-install --main=sourcelocation -g 

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libjava/.libs -lm   -o

/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/sourcelocation.exe

   (timeout = 300)spawn

/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/../libtool

--silent --tag=GCJ --mode=link /test/gnu/gcc/objdir/./gcc/gcj

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/

-B/test/gnu/gcc/objdir/./gcc/ -B/opt/gnu/gcc/g

cc-4.8/hppa2.0w-hp-hpux11.11/bin/

-B/opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/lib/ -isystem

/opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/include -isystem

/opt/gnu/gcc/gcc-4.8/hppa2.0w-hp-hpux11.11/sys-include --encoding=UTF-8

-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/../

/test/gnu/gcc/gcc/libjava/testsuite/libjava.lang/sourcelocation.jar -w

-no-install --main=sourcelocation -g

-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libjava/.libs -lm -o

/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/sourcelocation.exePASS:

sourcelocation compilation from sourceset_ld_library_path_env_vars:

ld_library_path=.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libjava/.libs

invoke:

/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/testsuite/sourcelocation.exe 

Setting LD_LIBRARY_PATH to

.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libjava/.libs:.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libjava/.libs

spawn [open ...]

-1

-1

-1

PASS: sourcelocation execution - source compiled test

FAIL: sourcelocation output - source compiled test



Also,



FAIL: sourcelocation -findirect-dispatch output - source compiled test

FAIL: sourcelocation -O3 output - source compiled test

FAIL: sourcelocation -O3 -findirect-dispatch output - source compiled test