[Bug bootstrap/43625] New: Revision 157851 has broken build on pure 64bit AMD64 systems

2010-04-02 Thread aanisimov at inbox dot ru
Beginning with revision 157851 the configure script no longer honours
--disable-multilib flag and attempts to compile 32bit libgcc. On pure 64bit
systems (e.g. Slackware64) this results in

# If this is the top-level multilib, build all the other
# multilibs.
/home/artem/testing/gcc-build/./gcc/xgcc -B/home/artem/testing/gcc-build/./gcc/
-B/home/artem/testing/gcc45/x86_64-slackware-linux/bin/
-B/home/artem/testing/gcc45/x86_64-slackware-linux/lib/ -isystem
/home/artem/testing/gcc45/x86_64-slackware-linux/include -isystem
/home/artem/testing/gcc45/x86_64-slackware-linux/sys-include-g -O2 -m32 -O2
 -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I.
-I../../.././gcc -I../../../../gcc/libgcc -I../../../../gcc/libgcc/.
-I../../../../gcc/libgcc/../gcc -I../../../../gcc/libgcc/../include
-I../../../../gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS  -DUSE_TLS -o _muldi3.o -MT _muldi3.o -MD -MP -MF _muldi3.dep
-DL_muldi3 -c ../../../../gcc/libgcc/../gcc/libgcc2.c \
  -fvisibility=hidden -DHIDE_EXPORTS
In file included from /usr/include/features.h:371:0,
 from /usr/include/stdio.h:28,
 from ../../../../gcc/libgcc/../gcc/tsystem.h:87,
 from ../../../../gcc/libgcc/../gcc/libgcc2.c:29:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or
directory
compilation terminated.
make[4]: *** [_muldi3.o] Error 1
make[4]: Leaving directory
`/home/artem/testing/gcc-build/x86_64-slackware-linux/32/libgcc'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory
`/home/artem/testing/gcc-build/x86_64-slackware-linux/libgcc'
make[2]: *** [all-multi] Error 2
make[2]: *** Waiting for unfinished jobs
make[2]: Leaving directory
`/home/artem/testing/gcc-build/x86_64-slackware-linux/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `/home/artem/testing/gcc-build'
make: *** [all] Error 2

  I configured GCC with the following options:

../gcc/configure --prefix=/home/artem/testing/gcc45 --enable-shared
--enable-languages=c,c++ --enable-threads=posix --enable-checking=release
--with-system-zlib --disable-libunwind-exceptions --enable-__cxa_atexit
--enable-libssp --with-gnu-ld --with-lto --disable-nls --verbose
--with-arch=athlon64 --target=x86_64-slackware-linux
--build=x86_64-slackware-linux --host=x86_64-slackware-linux
--disable-bootstrap --disable-multilib


-- 
   Summary: Revision 157851 has broken build on pure 64bit AMD64
systems
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aanisimov at inbox dot ru
 GCC build triplet: x86_64-slackware-linux
  GCC host triplet: x86_64-slackware-linux
GCC target triplet: x86_64-slackware-linux


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



[Bug bootstrap/43615] [4.5 Regression] bootstrap fails: /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory

2010-04-02 Thread rwild at gcc dot gnu dot org


--- Comment #10 from rwild at gcc dot gnu dot org  2010-04-02 07:32 ---
*** Bug 43625 has been marked as a duplicate of this bug. ***


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aanisimov at inbox dot ru


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



[Bug bootstrap/43625] Revision 157851 has broken build on pure 64bit AMD64 systems

2010-04-02 Thread rwild at gcc dot gnu dot org


--- Comment #1 from rwild at gcc dot gnu dot org  2010-04-02 07:32 ---


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


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug bootstrap/43531] [4.5 Regression] host files being used during cross compilation

2010-04-02 Thread rwild at gcc dot gnu dot org


--- Comment #19 from rwild at gcc dot gnu dot org  2010-04-02 07:49 ---
Subject: Bug 43531

Author: rwild
Date: Fri Apr  2 07:49:06 2010
New Revision: 157941

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157941
Log:
Revert: Fix dependency of out_object_file on gt header for out_file.

gcc/:
PR bootstrap/43531

Revert:
2009-09-28  Ralf Wildenhues  ralf.wildenh...@gmx.de

* Makefile.in ($(out_object_file)): Depend on
gt-$(basename $(notdir $(out_file))).h.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in


-- 


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



[Bug bootstrap/43531] [4.5 Regression] host files being used during cross compilation

2010-04-02 Thread rwild at gcc dot gnu dot org


--- Comment #20 from rwild at gcc dot gnu dot org  2010-04-02 08:01 ---
Is this fixed now?


-- 


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread ramana at gcc dot gnu dot org


--- Comment #19 from ramana at gcc dot gnu dot org  2010-04-02 08:07 ---
A bootstrap on an A9 board last night with :

/home/ramrad01/trunk/configure --enable-languages=c --with-mode=thumb
--with-cpu=cortex-a9 --with-fpu=vfpv3-d16 --with-float=softfp using 

gcc version 4.5.0 20100401 (experimental) [trunk revision 157933] (GCC)

succeeded. So that's a heavy weight work-around which might cause perf.
regressions for the ARM port because it effectively disables cross-jumping.

Anyway more later.  

cheers
Ramana 


-- 


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



[Bug c/43626] New: No locale support for Kosovo

2010-04-02 Thread agron_ca at yahoo dot ca
GNU seems to be limited by political organization called United Nations because
ISO only adds countries members of UN.
GNU does not have the freedom to add locale support for non-UN countries.

Kosovo is one such case. FLOSSK.org is having hard time adding locale support
to free/libre software solutions in use in Kosovo.

Kosovo is a country recognised by 65 countries, including US, and it is not a
member of United Nation.

For now Kosovo is using 'KV' as a two letter country code and its first
official language is Albanian.
https://www.cia.gov/library/publications/the-world-factbook/geos/kv.html


Please add locale support for Kosovo 'KV', and for Kosovo Albanian language
sq_KV.


-- 
   Summary: No locale support for Kosovo
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: agron_ca at yahoo dot ca


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



[Bug tree-optimization/43627] New: [4.5 Regression] slow compilation

2010-04-02 Thread jv244 at cam dot ac dot uk
The to-be-attached file compiles very slowly with 4.5:

4.3 ([gcc-4_3-branch revision 135036]): 37s
4.4 ([gcc-4_4-branch revision 150482]): 30s
4.5 ([trunk revision 157940]):6m35s

 gfortran -fbounds-check -g -O3 -ffast-math -funroll-loops -ftree-vectorize
-march=native -c hog.f90


-- 
   Summary: [4.5 Regression] slow compilation
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: compile-time-hog
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jv244 at cam dot ac dot uk


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #1 from jv244 at cam dot ac dot uk  2010-04-02 08:16 ---
Created an attachment (id=20287)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20287action=view)
testcase

reproduce with 

gfortran -fbounds-check -g -O3 -ffast-math -funroll-loops -ftree-vectorize
-march=native -c hog.f90


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation

2010-04-02 Thread jv244 at cam dot ac dot uk


-- 

jv244 at cam dot ac dot uk changed:

   What|Removed |Added

   Target Milestone|--- |4.5.0


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv )

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #2 from jv244 at cam dot ac dot uk  2010-04-02 08:27 ---
And a timing report as well (notice the machine is not fully idle). The major
consumer is tree canonical.

Execution times (seconds)
 garbage collection:   7.71 ( 2%) usr   0.07 ( 4%) sys  14.12 ( 2%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.18 ( 0%) usr   0.01 ( 1%) sys   0.24 ( 0%) wall   
6675 kB ( 1%) ggc
 callgraph optimization:   0.61 ( 0%) usr   0.03 ( 2%) sys   0.61 ( 0%) wall   
1655 kB ( 0%) ggc
 ipa cp:   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
 539 kB ( 0%) ggc
 ipa reference :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa pure const:   0.17 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa SRA   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup   :   0.78 ( 0%) usr   0.01 ( 1%) sys   1.27 ( 0%) wall   
3661 kB ( 0%) ggc
 CFG verifier  :   2.10 ( 1%) usr   0.00 ( 0%) sys   3.40 ( 1%) wall   
   0 kB ( 0%) ggc
 trivially dead code   :   0.38 ( 0%) usr   0.00 ( 0%) sys   0.40 ( 0%) wall   
   0 kB ( 0%) ggc
 df multiple defs  :   0.59 ( 0%) usr   0.00 ( 0%) sys   0.92 ( 0%) wall   
   0 kB ( 0%) ggc
 df reaching defs  :   0.86 ( 0%) usr   0.00 ( 0%) sys   1.83 ( 0%) wall   
   0 kB ( 0%) ggc
 df live regs  :   4.92 ( 1%) usr   0.01 ( 1%) sys   8.23 ( 1%) wall   
   0 kB ( 0%) ggc
 df liveinitialized regs:   1.48 ( 0%) usr   0.01 ( 1%) sys   3.37 ( 1%) wall 
 0 kB ( 0%) ggc
 df use-def / def-use chains:   0.71 ( 0%) usr   0.00 ( 0%) sys   1.39 ( 0%)
wall   0 kB ( 0%) ggc
 df reg dead/unused notes:   4.15 ( 1%) usr   0.01 ( 1%) sys   7.47 ( 1%) wall 
  9314 kB ( 1%) ggc
 register information  :   1.29 ( 0%) usr   0.01 ( 1%) sys   3.00 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.64 ( 0%) usr   0.00 ( 0%) sys   0.74 ( 0%) wall  
21770 kB ( 3%) ggc
 alias stmt walking:   1.94 ( 1%) usr   0.06 ( 4%) sys   3.50 ( 1%) wall   
   0 kB ( 0%) ggc
 register scan :   0.18 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
   0 kB ( 0%) ggc
 rebuild jump labels   :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.26 ( 0%) wall   
   0 kB ( 0%) ggc
 parser:   1.27 ( 0%) usr   0.12 ( 7%) sys   1.50 ( 0%) wall  
42200 kB ( 5%) ggc
 inline heuristics :   0.43 ( 0%) usr   0.02 ( 1%) sys   0.34 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify :   0.69 ( 0%) usr   0.03 ( 2%) sys   0.79 ( 0%) wall  
52375 kB ( 6%) ggc
 tree eh   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
9418 kB ( 1%) ggc
 tree CFG cleanup  :   0.49 ( 0%) usr   0.00 ( 0%) sys   0.80 ( 0%) wall   
 418 kB ( 0%) ggc
 tree VRP  :   2.08 ( 1%) usr   0.05 ( 3%) sys   3.67 ( 1%) wall  
54923 kB ( 7%) ggc
 tree copy propagation :   0.37 ( 0%) usr   0.00 ( 0%) sys   0.59 ( 0%) wall   
 237 kB ( 0%) ggc
 tree find ref. vars   :   0.07 ( 0%) usr   0.02 ( 1%) sys   0.09 ( 0%) wall   
3774 kB ( 0%) ggc
 tree PTA  :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
 425 kB ( 0%) ggc
 tree PHI insertion:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
 315 kB ( 0%) ggc
 tree SSA rewrite  :   0.44 ( 0%) usr   0.03 ( 2%) sys   0.80 ( 0%) wall  
20682 kB ( 3%) ggc
 tree SSA other:   0.22 ( 0%) usr   0.02 ( 1%) sys   0.23 ( 0%) wall   
 434 kB ( 0%) ggc
 tree SSA incremental  :   0.62 ( 0%) usr   0.04 ( 2%) sys   0.91 ( 0%) wall   
 438 kB ( 0%) ggc
 tree operand scan :   0.27 ( 0%) usr   0.14 ( 8%) sys   0.53 ( 0%) wall  
21791 kB ( 3%) ggc
 dominator optimization:   0.42 ( 0%) usr   0.00 ( 0%) sys   0.72 ( 0%) wall   
4190 kB ( 1%) ggc
 tree CCP  :   0.56 ( 0%) usr   0.01 ( 1%) sys   0.70 ( 0%) wall   
3081 kB ( 0%) ggc
 tree PHI const/copy prop:   0.05 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
22 kB ( 0%) ggc
 tree split crit edges :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
3268 kB ( 0%) ggc
 tree reassociation:   0.17 ( 0%) usr   0.00 ( 0%) sys   0.36 ( 0%) wall   
 161 kB ( 0%) ggc
 tree PRE  :   6.54 ( 2%) usr   0.02 ( 1%) sys  11.71 ( 2%) wall  
25200 kB ( 3%) ggc
 tree FRE  :   0.76 ( 0%) usr   0.03 ( 2%) sys   1.15 ( 0%) wall   
8100 kB ( 1%) ggc
 tree code sinking :   0.23 ( 0%) usr   0.04 ( 2%) sys   0.44 ( 0%) wall  
12275 kB ( 2%) ggc
 tree linearize phis   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.19 ( 0%) usr   0.01 ( 1%) sys   0.25 ( 0%) wall   
9572 kB ( 1%) ggc
 tree phiprop  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.19 ( 0%) usr   0.02 ( 1%) sys   0.51 ( 0%) wall   
  17 kB ( 0%) ggc
 tree aggressive DCE   :   0.49 ( 0%) usr   0.01 ( 1%) sys   0.74 ( 0%) 

[Bug target/43469] [4.5 Regression] ICE trying to compile glibc for ARM thumb2

2010-04-02 Thread rearnsha at gcc dot gnu dot org


--- Comment #8 from rearnsha at gcc dot gnu dot org  2010-04-02 08:32 
---
Subject: Bug 43469

Author: rearnsha
Date: Fri Apr  2 08:32:00 2010
New Revision: 157942

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157942
Log:
PR target/43469
* arm.c (legitimize_tls_address): Adjust call to 
gen_tls_load_dot_plus_four.
(arm_note_pic_base): New function.
(arm_cannot_copy_insn_p): Use it.
* thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
constraint.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/thumb2.md


-- 


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



[Bug target/43469] [4.5 Regression] ICE trying to compile glibc for ARM thumb2

2010-04-02 Thread rearnsha at gcc dot gnu dot org


--- Comment #9 from rearnsha at gcc dot gnu dot org  2010-04-02 08:36 
---
Fixed


-- 

rearnsha at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv )

2010-04-02 Thread steven at gcc dot gnu dot org


--- Comment #3 from steven at gcc dot gnu dot org  2010-04-02 09:18 ---
This tells me you are comparing apples and cows: Extra diagnostic checks
enabled; compiler may run slowly.

Could you try again with a compiler configured with --enable=checking=release?


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv )

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #4 from jv244 at cam dot ac dot uk  2010-04-02 09:26 ---
(In reply to comment #3)
 This tells me you are comparing apples and cows: Extra diagnostic checks
 enabled; compiler may run slowly.
 
 Could you try again with a compiler configured with --enable=checking=release?
 

I'll do now...

for reference, 4.4 has:

 gfortran -ftime-report -fbounds-check -g -O3 -ffast-math -funroll-loops 
 -ftree-vectorize -march=native hog.f90

Execution times (seconds)
 garbage collection:   0.15 ( 1%) usr   0.00 ( 0%) sys   0.14 ( 1%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.33 ( 1%) usr   0.03 ( 4%) sys   0.33 ( 1%) wall   
9447 kB ( 2%) ggc
 callgraph optimization:   0.46 ( 2%) usr   0.01 ( 1%) sys   0.50 ( 2%) wall   
 239 kB ( 0%) ggc
 ipa cp:   0.22 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 1%) wall   
   0 kB ( 0%) ggc
 ipa reference :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup   :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
 914 kB ( 0%) ggc
 trivially dead code   :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 df reaching defs  :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
   0 kB ( 0%) ggc
 df live regs  :   0.22 ( 1%) usr   0.00 ( 0%) sys   0.18 ( 1%) wall   
   0 kB ( 0%) ggc
 df liveinitialized regs:   0.10 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
 0 kB ( 0%) ggc
 df use-def / def-use chains:   0.11 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%)
wall   0 kB ( 0%) ggc
 df reg dead/unused notes:   0.17 ( 1%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall 
  3443 kB ( 1%) ggc
 register information  :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.14 ( 1%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
6273 kB ( 1%) ggc
 register scan :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 rebuild jump labels   :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 parser:   1.27 ( 5%) usr   0.12 (16%) sys   1.31 ( 5%) wall  
50936 kB ( 9%) ggc
 inline heuristics :   0.13 ( 1%) usr   0.05 ( 6%) sys   0.25 ( 1%) wall   
   0 kB ( 0%) ggc
 tree gimplify :   0.44 ( 2%) usr   0.04 ( 5%) sys   0.54 ( 2%) wall  
61550 kB (11%) ggc
 tree eh   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
9734 kB ( 2%) ggc
 tree CFG cleanup  :   0.28 ( 1%) usr   0.00 ( 0%) sys   0.18 ( 1%) wall   
 668 kB ( 0%) ggc
 tree VRP  :   1.21 ( 5%) usr   0.03 ( 4%) sys   1.26 ( 5%) wall  
42193 kB ( 8%) ggc
 tree copy propagation :   0.21 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 1%) wall   
 315 kB ( 0%) ggc
 tree find ref. vars   :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
8937 kB ( 2%) ggc
 tree PTA  :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
 758 kB ( 0%) ggc
 tree alias analysis   :   0.12 ( 0%) usr   0.05 ( 6%) sys   0.12 ( 0%) wall   
  77 kB ( 0%) ggc
 tree call clobbering  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  18 kB ( 0%) ggc
 tree flow sensitive alias:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
121 kB ( 0%) ggc
 tree flow insensitive alias:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%)
wall   0 kB ( 0%) ggc
 tree memory partitioning:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
21 kB ( 0%) ggc
 tree PHI insertion:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
 201 kB ( 0%) ggc
 tree SSA rewrite  :   0.17 ( 1%) usr   0.01 ( 1%) sys   0.13 ( 1%) wall  
19668 kB ( 4%) ggc
 tree SSA other:   0.11 ( 0%) usr   0.03 ( 4%) sys   0.18 ( 1%) wall   
 360 kB ( 0%) ggc
 tree SSA incremental  :   0.24 ( 1%) usr   0.02 ( 3%) sys   0.25 ( 1%) wall   
  40 kB ( 0%) ggc
 tree operand scan :   0.36 ( 1%) usr   0.15 (19%) sys   0.58 ( 2%) wall  
27070 kB ( 5%) ggc
 dominator optimization:   0.26 ( 1%) usr   0.00 ( 0%) sys   0.14 ( 1%) wall   
2270 kB ( 0%) ggc
 tree SRA  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CCP  :   0.33 ( 1%) usr   0.01 ( 1%) sys   0.24 ( 1%) wall   
4060 kB ( 1%) ggc
 tree reassociation:   0.06 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
 124 kB ( 0%) ggc
 tree PRE  :   5.18 (21%) usr   0.05 ( 6%) sys   5.07 (20%) wall  
87699 kB (16%) ggc
 tree FRE  :   0.51 ( 2%) usr   0.00 ( 0%) sys   0.55 ( 2%) wall   
7664 kB ( 1%) ggc
 tree code sinking :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
  75 kB ( 0%) ggc
 tree linearize phis   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.11 ( 0%) usr   0.02 ( 3%) sys   0.11 ( 0%) wall  
11274 kB ( 2%) ggc
 tree phiprop  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 

[Bug translation/43626] No locale support for Kosovo

2010-04-02 Thread steven at gcc dot gnu dot org


--- Comment #1 from steven at gcc dot gnu dot org  2010-04-02 09:29 ---
The GCC project is not responsible for its own translations. You should take
this proposal to the GNU translation project (or
http://translationproject.org).


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |enhancement
 Status|UNCONFIRMED |RESOLVED
  Component|c   |translation
 Resolution||INVALID


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



[Bug debug/43628] New: [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-04-02 Thread jan dot kratochvil at redhat dot com
Both these testcases:
--
class C {
public:
  typedef void (*t) (C);
};
C::t f;
--
class C {
public:
  typedef void (*t) (C);
  t v;
} c;
--
produce on
g++ (GCC) 4.4.4 20100402 (prerelease)
 144: Abbrev Number: 4 (DW_TAG_subroutine_type)
 249: Abbrev Number: 5 (DW_TAG_formal_parameter)
4a   DW_AT_type: 0x2d   

but on
g++ (GCC) 4.5.0 20100402 (experimental)
 153: Abbrev Number: 6 (DW_TAG_subroutine_type)
 258: Abbrev Number: 7 (DW_TAG_formal_parameter)


-- 
   Summary: [4.5 Regression] in-class func-ptr type parameter has
unspecified DW_AT_type
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jan dot kratochvil at redhat dot com
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug libstdc++/43623] FAIL: abi_check sparc

2010-04-02 Thread paolo dot carlini at oracle dot com


--- Comment #2 from paolo dot carlini at oracle dot com  2010-04-02 09:37 
---
Sorry if I'm misunderstanding what you are saying, but, first, I should point
out that a baseline is a **baseline**, not something you update from time to
time at will. Eg, the x86_64-linux baseline is certainly much older, and works
perfectly ok.

That said, I had a quick look to the failures and seem to me very similar to
the failures I obtain on x86_64-linux if I onfigure with
--enable-clocale=generic, thus overriding the normal choice of the gnu locale
model. Isn't the case that on the sparc machine at issue the required
localedata is missing and the configury falls back to generic?


-- 


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



[Bug c/43629] New: Struct to register optimization fails

2010-04-02 Thread julien dot etienne at gmail dot com
Hello,

It seems that when a structure is 64bit large the optimizer uses a register to
store it, but does not managed the initialization of the fields properly,
leading to a wrong result at the end.

Here is my test case:
cat main.c
struct A {
   short A1 ;
   short A2 ;
   int   A3 ;
};

extern void* bar(void);

static struct A foo(void) __attribute__ ((noinline));

static struct A foo(void)
{
   struct A result;
   void *pB;

   result.A1 = (short)0;
   result.A2 = (short)0;
   /* The next field is intentionally not initialized */
   /* result.A3 = 0; */

   pB = bar(); /* always return (void*)1 to highlight the bug */
   if (pB == ((void *)0)) {
  /* Should never been triggered at run time */
  result.A1 = (short)1;
  result.A2 = (short)2;
  result.A3 = 3;
  return result;
   }

 /* result.A1 should be (short)0 */
   return result;

}

int main(){
struct A myA = foo();
return (int)myA.A1; /* should always return 0 by design */
}

cat bar.c
void* bar(void){
return (void*)1;
}

Compilation with -O0 works and the return status is 0 as expected:
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc -O0 -Wall   -c -o main.o
main.c
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc -O0 -Wall   -c -o bar.o
bar.c
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc   main.o bar.o   -o main
./main
echo $?
0

Compilation with -O1 works but the return status is 1 due to the bug:
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc -O1 -Wall   -c -o main.o
main.c
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc -O1 -Wall   -c -o bar.o
bar.c
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc   main.o bar.o   -o main
./main
echo $?
1

As the code is deterministic the result should have been 0 in both cases.

The disassembly of main.o file makes it pretty clear that the generated
optimized code is wrong:
objdump -d main.o

main.o: file format elf64-x86-64

Disassembly of section .text:

 foo:
   0:   48 83 ec 08 sub$0x8,%rsp
   4:   e8 00 00 00 00  callq  9 foo+0x9
   9:   48 b8 01 00 02 00 03mov$0x300020001,%rax   Value always
returned
  10:   00 00 00
  13:   48 83 c4 08 add$0x8,%rsp
  17:   c3  retq

0018 main:
  18:   48 83 ec 08 sub$0x8,%rsp
  1c:   e8 df ff ff ff  callq  0 foo
  21:   98  cwtl
  22:   48 83 c4 08 add$0x8,%rsp
  26:   c3  retq

As you can see in all cases the returned value of function foo is set by mov  
 $0x300020001,%rax whereas there should also be 2 cases.

My gcc version:
/projects/dsr/work/jetienne/softs/gcc-4.4.3/bin/gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure
--prefix=/projects/dsr/work/jetienne/softs/gcc-4.4.3 --enable-languages=c,c++
--with-mpfr=/tools/mpfr-2.4.2
Thread model: posix
gcc version 4.4.3 (GCC)

FYI I tried several gcc versions, here are the status:
- gcc 3.4.5 works
- gcc 4.1.2 works
- gcc 4.3.2 does not work
- gcc 4.4.3 does not work

I am testing the svn trunk at the moment I will get back to you with my result.

Best Regards,
Julien


-- 
   Summary: Struct to register optimization fails
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: julien dot etienne at gmail dot com
 GCC build triplet: x86_64-suse-linux
  GCC host triplet: x86_64-suse-linux
GCC target triplet: x86_64-suse-linux


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv )

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #5 from jv244 at cam dot ac dot uk  2010-04-02 09:47 ---
(In reply to comment #3)

cows with cows now (i.e. --enable-checking=release), on an idle machine.

Execution times (seconds)
 garbage collection:   0.29 ( 0%) usr   0.00 ( 0%) sys   0.31 ( 0%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.11 ( 0%) usr   0.01 ( 1%) sys   0.12 ( 0%) wall   
5939 kB ( 1%) ggc
 callgraph optimization:   0.29 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall   
 184 kB ( 0%) ggc
 ipa cp:   0.10 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
 539 kB ( 0%) ggc
 ipa reference :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa pure const:   0.09 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup   :   0.67 ( 0%) usr   0.00 ( 0%) sys   0.83 ( 0%) wall   
3661 kB ( 1%) ggc
 trivially dead code   :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
   0 kB ( 0%) ggc
 df multiple defs  :   0.35 ( 0%) usr   0.00 ( 0%) sys   0.36 ( 0%) wall   
   0 kB ( 0%) ggc
 df reaching defs  :   0.69 ( 0%) usr   0.00 ( 0%) sys   0.65 ( 0%) wall   
   0 kB ( 0%) ggc
 df live regs  :   3.08 ( 1%) usr   0.00 ( 0%) sys   3.07 ( 1%) wall   
   0 kB ( 0%) ggc
 df liveinitialized regs:   1.17 ( 0%) usr   0.00 ( 0%) sys   1.07 ( 0%) wall 
 0 kB ( 0%) ggc
 df use-def / def-use chains:   0.53 ( 0%) usr   0.00 ( 0%) sys   0.35 ( 0%)
wall   0 kB ( 0%) ggc
 df reg dead/unused notes:   2.50 ( 1%) usr   0.00 ( 0%) sys   2.73 ( 1%) wall 
  9314 kB ( 1%) ggc
 register information  :   1.05 ( 0%) usr   0.00 ( 0%) sys   0.84 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis:   0.58 ( 0%) usr   0.00 ( 0%) sys   0.61 ( 0%) wall  
21770 kB ( 3%) ggc
 alias stmt walking:   1.29 ( 0%) usr   0.04 ( 4%) sys   1.36 ( 0%) wall   
   0 kB ( 0%) ggc
 register scan :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 rebuild jump labels   :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall   
   0 kB ( 0%) ggc
 parser:   1.15 ( 0%) usr   0.12 (11%) sys   1.26 ( 0%) wall  
42200 kB ( 6%) ggc
 inline heuristics :   0.24 ( 0%) usr   0.01 ( 1%) sys   0.24 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify :   0.43 ( 0%) usr   0.05 ( 4%) sys   0.47 ( 0%) wall  
52375 kB ( 8%) ggc
 tree eh   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
9418 kB ( 1%) ggc
 tree CFG cleanup  :   0.27 ( 0%) usr   0.00 ( 0%) sys   0.46 ( 0%) wall   
 418 kB ( 0%) ggc
 tree VRP  :   1.57 ( 1%) usr   0.06 ( 5%) sys   1.60 ( 1%) wall  
54731 kB ( 8%) ggc
 tree copy propagation :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.29 ( 0%) wall   
 237 kB ( 0%) ggc
 tree find ref. vars   :   0.03 ( 0%) usr   0.01 ( 1%) sys   0.10 ( 0%) wall   
3774 kB ( 1%) ggc
 tree PTA  :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
 423 kB ( 0%) ggc
 tree PHI insertion:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
 315 kB ( 0%) ggc
 tree SSA rewrite  :   0.24 ( 0%) usr   0.02 ( 2%) sys   0.19 ( 0%) wall  
20682 kB ( 3%) ggc
 tree SSA other:   0.10 ( 0%) usr   0.04 ( 4%) sys   0.19 ( 0%) wall   
 434 kB ( 0%) ggc
 tree SSA incremental  :   0.56 ( 0%) usr   0.02 ( 2%) sys   0.66 ( 0%) wall   
 438 kB ( 0%) ggc
 tree operand scan :   0.21 ( 0%) usr   0.20 (18%) sys   0.42 ( 0%) wall  
21791 kB ( 3%) ggc
 dominator optimization:   0.35 ( 0%) usr   0.01 ( 1%) sys   0.36 ( 0%) wall   
4189 kB ( 1%) ggc
 tree SRA  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CCP  :   0.49 ( 0%) usr   0.00 ( 0%) sys   0.34 ( 0%) wall   
3081 kB ( 0%) ggc
 tree PHI const/copy prop:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
22 kB ( 0%) ggc
 tree split crit edges :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
3265 kB ( 0%) ggc
 tree reassociation:   0.12 ( 0%) usr   0.01 ( 1%) sys   0.11 ( 0%) wall   
 161 kB ( 0%) ggc
 tree PRE  :   4.88 ( 2%) usr   0.00 ( 0%) sys   4.89 ( 2%) wall  
25200 kB ( 4%) ggc
 tree FRE  :   0.65 ( 0%) usr   0.02 ( 2%) sys   0.67 ( 0%) wall   
8099 kB ( 1%) ggc
 tree code sinking :   0.16 ( 0%) usr   0.05 ( 4%) sys   0.17 ( 0%) wall  
12275 kB ( 2%) ggc
 tree linearize phis   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.14 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
9572 kB ( 1%) ggc
 tree phiprop  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.21 ( 0%) usr   0.03 ( 3%) sys   0.15 ( 0%) wall   
  17 kB ( 0%) ggc
 tree aggressive DCE   :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
2998 kB ( 0%) ggc
 tree DSE  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   

[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-04-02 10:25:15
   date||
Summary|[4.5 Regression] slow   |[4.5 Regression] slow
   |compilation (tree canonical |compilation (tree canonical
   |iv  )   |iv  takes 75%)


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



[Bug other/43617] cloog-ppl 0.15.9's configure corrupts with funny codes

2010-04-02 Thread aflyhorse at foxmail dot com


--- Comment #4 from aflyhorse at foxmail dot com  2010-04-02 10:33 ---
(In reply to comment #3)
 (In reply to comment #2)
  I configured it with:
  ../src/configure --build=x86_64-w64-mingw32 --with-ppl= --with-gmp=
  --prefix=
 that can't be right

Why? I had also configured the gmp, mpc, mpfr  ppl with --prefix=
But the code is really working, with --ppl=/lib
(I don't know why because I used to use /local instead of /local/lib but no
error found...)
Thanks you all!
I've change the bug as invalid.


-- 

aflyhorse at foxmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/43621] [4.5 Regression] ICE: in poplevel_class, at cp/name-lookup.c:2615 with invalid qualified name

2010-04-02 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.0


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



[Bug tree-optimization/43629] [4.3/4.4 Regression] Struct to register optimization fails

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-04-02 11:31 ---
Confirmed.  Yet another SRA to bitfield magic issue.

Workaround: -fno-tree-sra.

struct A {
   short A1 ;
   short A2 ;
   int   A3 ;
};

static struct A __attribute__((noinline))
foo(int b)
{
   struct A result;
   result.A1 = (short)0;
   result.A2 = (short)0;
   /* result.A3 is intentionally not initialized */
   if (b) {
  result.A1 = (short)1;
  result.A2 = (short)2;
  result.A3 = 3;
  return result;
   }
   return result;
}

extern void abort (void);

int main()
{
  struct A myA = foo(0);
  if (myA.A1 != 0)
abort ();
  return 0;
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |tree-optimization
 Ever Confirmed|0   |1
   Keywords||wrong-code
  Known to fail||4.3.0 4.3.4 4.4.0 4.4.3
  Known to work||4.2.4 4.5.0
   Last reconfirmed|-00-00 00:00:00 |2010-04-02 11:31:52
   date||
Summary|Struct to register  |[4.3/4.4 Regression] Struct
   |optimization fails  |to register optimization
   ||fails
   Target Milestone|--- |4.3.5


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



[Bug c++/43601] Enormous increase in DLL object files size in 4.5

2010-04-02 Thread bangerth at gmail dot com


--- Comment #8 from bangerth at gmail dot com  2010-04-02 11:37 ---
I think this is a bug the MingW maintainers should handle.

While I understand Andrew's position, it seems to me that this is nevertheless
a definite regression from the user's perspective.

W.


-- 

bangerth at gmail dot com changed:

   What|Removed |Added

 CC||bangerth at gmail dot com
 Status|RESOLVED|UNCONFIRMED
 Resolution|WONTFIX |


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



[Bug tree-optimization/43629] [4.3/4.4 Regression] Struct to register optimization fails

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-04-02 11:47 ---
SRA introduces a use of the uninitialized value when re-constructing the
unsigned long representation.  That boils down to later CCP recognizing
the result as undefined and thus:

Visiting statement:
SR.16_25 = (unsigned int) result$A3_24(D);
which is likely UNDEFINED

Visiting statement:
SR.17_26 = (long unsigned int) SR.16_25;
which is likely UNDEFINED

Visiting statement:
SR.18_27 = SR.17_26  32;
which is likely UNDEFINED

Visiting statement:
SR.3_34 = SR.18_27  0x0;
which is likely UNDEFINED

Visiting PHI node: SR.3_2 = PHI 12885032961(2), SR.3_34(3)

Argument #0 (2 - 4 executable)
12885032961 Value: CONSTANT 12885032961

Argument #1 (3 - 4 executable)
SR.3_34 Value: UNDEFINED

PHI node value: CONSTANT 12885032961

Lattice value changed to CONSTANT 12885032961.


and we completely ignore the taken path.

One issue is that

Visiting statement:
SR.3_34 = SR.18_27  0x0;
which is likely UNDEFINED

is not 100% true - the value is only partially undefined (only the defined
pieces will be used later).  But of course that's splitting hairs somewhat
(but it might be the easiest fix for this bug).

tree-ssa-ccp.c:likely_value needs to look at regular rhs operands for
literal constants (see trunk version) but also make sure to re-set
all_undefined_operands if it encounters such.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-04-02 11:31:52 |2010-04-02 11:47:23
   date||


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



[Bug bootstrap/43531] [4.5 Regression] host files being used during cross compilation

2010-04-02 Thread corsepiu at gcc dot gnu dot org


--- Comment #21 from corsepiu at gcc dot gnu dot org  2010-04-02 11:48 
---
(In reply to comment #20)
 Is this fixed now?

Partially, I'd say.

The hard-breakdown due is gone, but now I am observing another bug:
T=`${PWDCMD-pwd}`/ \
 cd ../../.././gcc \
 make
GCC_FOR_TARGET=/users/rtems/src/toolchains/gcc-trunk/BUILD/./gcc/xgcc
-B/users/rtems/src/toolchains/gcc-trunk/BUILD/./gcc/ -nostdinc
-B/users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/newlib/ -isystem
/users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/newlib/targ-include
-isystem /users/rtems/src/toolchains/gcc-trunk/newlib/libc/include
-B/opt/rtems-4.11/h8300-rtems4.11/bin/ -B/opt/rtems-4.11/h8300-rtems4.11/lib/
-isystem /opt/rtems-4.11/h8300-rtems4.11/include
-isystem /opt/rtems-4.11/h8300-rtems4.11/sys-include\
  MULTILIB_CFLAGS=-g -O2 -mh \
  T=$T \
  T_TARGET=${T}crtbegin.o ${T}crtend.o ${T}crti.o ${T}crtn.o \
  T_TARGET
make[5]: Entering directory `/users/rtems/src/toolchains/gcc-trunk/BUILD/gcc'
/users/rtems/src/toolchains/gcc-trunk/BUILD/./gcc/xgcc
-B/users/rtems/src/toolchains/gcc-trunk/BUILD/./gcc/ -nostdinc 
-B/users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/newlib/ 
-isystem
/users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/newlib/targ-include 
-isystem /users/rtems/src/toolchains/gcc-trunk/newlib/libc/include
-B/opt/rtems-4.11/h8300-rtems4.11/bin/ -B/opt/rtems-4.11/h8300-rtems4.11/lib/
-isystem /opt/rtems-4.11/h8300-rtems4.11/include -
isystem /opt/rtems-4.11/h8300-rtems4.11/sys-include-O2 -g -O2 -DIN_GCC
-DCROSS_DIRECTORY_STRUCTURE  
-W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -I. 
-I/users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/h8300h/libgcc
-I../../gcc
-I../../gcc//users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/h8300h/libgcc
 
-I../../gcc/../include -I../../gcc/../libcpp/include 
-I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/dpd -I../libdecnumber 
-DCLOOG_PPL_BACKEND   
-g -O2 -mh -g0 -finhibit-size-directive -fno-inline -fno-exceptions
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize
-Dinhibit_libc  \
  -c ../../gcc/crtstuff.c -DCRT_BEGIN \
  -o
/users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/h8300h/libgcc/crtbegin.o

Note the
-I../../gcc//users/rtems/src/toolchains/gcc-trunk/BUILD/h8300-rtems4.11/h8300h/libgcc


-- 


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



[Bug c/43624] Bad code generation: introduces strict aliasing warnings and references to uninitialized memory

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-04-02 11:59 ---
It means that the C frontend did not properly merge the _rand_ctx types.


-- 


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



[Bug other/43620] Uploading to gnu.org will fail due to automake security issue

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-04-02 12:01 ---
I think we want no-dist on the branches and an update on trunk (possibly
adding no-dist to GCC local pieces anyway).


-- 


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #20 from rguenth at gcc dot gnu dot org  2010-04-02 12:09 
---
The obvious bug is that nonoverlapping_memrefs_p thinks that a NULL
MEM_OFFSET is equal to MEM_OFFSET == const0_rtx.  It is not, it's
unknown offset.

The following should fix that.

Index: gcc/alias.c
===
--- gcc/alias.c (revision 157942)
+++ gcc/alias.c (working copy)
@@ -2268,6 +2268,10 @@ nonoverlapping_memrefs_p (const_rtx x, c
   : MEM_SIZE (rtly) ? INTVAL (MEM_SIZE (rtly)) :
   -1);

+  /* If the offset is unknown we cannot determine anything.  */
+  if (!moffsetx || !moffsety)
+return 0;
+
   /* If we have an offset for either memref, it can update the values computed
  above.  */
   if (moffsetx)


-- 


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #21 from rguenth at gcc dot gnu dot org  2010-04-02 12:15 
---
Or rather the code tries to account for that but fails to notice that
the spill-slot decl isn't really a decl.  Thus the following is better:

Index: gcc/alias.c
===
--- gcc/alias.c (revision 157942)
+++ gcc/alias.c (working copy)
@@ -2147,6 +2147,11 @@ nonoverlapping_memrefs_p (const_rtx x, c
   if (exprx == 0 || expry == 0)
 return 0;

+  /* We can only handle real decls, not the fake spill slot.  */
+  if (exprx == get_spill_slot_decl (false)
+  || expry == get_spill_slot_decl (false))
+return 0;
+
   /* If both are field references, we may be able to determine something.  */
   if (TREE_CODE (exprx) == COMPONENT_REF
TREE_CODE (expry) == COMPONENT_REF


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-04-02 12:19 ---
The issue is for certain the many manually unrolled loops and possibly the
new autoinc code.

What's your native arch?  I can't reproduce this on a core i?86.


-- 


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



[Bug c++/43630] New: [4.3/4.4/4.5 Regression] ICE: SIGSEGV with invalid template specialization

2010-04-02 Thread zsojka at seznam dot cz
Command line:
g++ testcase.C

Tested revisions:
r157877 - crash
4.4 r157895 - crash
4.3.4 - crash (bails out, no checking)
3.4.6 - crash (bails out, no checking)
3.3.6 - OK (no checking)

Valgrind output:
$ valgrind -q --trace-children=yes /mnt/svn/gcc-trunk/binary-157877-lto/bin/g++
testcase.C
testcase.C:3:30: error: template parameters not used in partial specialization:
testcase.C:3:30: error: 'template-parameter-1-1'
==5113== Invalid read of size 8
==5113==at 0x785580: size_binop_loc (fold-const.c:2157)
==5113==by 0x7D83FA: gimplify_compound_lval (gimplify.c:1987)
==5113==by 0x7D3BCF: gimplify_expr (gimplify.c:6569)
==5113==by 0x7E71C9: gimplify_modify_expr (gimplify.c:4460)
==5113==by 0x7D4B34: gimplify_expr (gimplify.c:6614)
==5113==by 0x7DB326: gimplify_stmt (gimplify.c:5264)
==5113==by 0x7DBD32: gimplify_and_add (gimplify.c:391)
==5113==by 0x7DCCDC: gimplify_return_expr (gimplify.c:1241)
==5113==by 0x7D41CE: gimplify_expr (gimplify.c:6763)
==5113==by 0x7DB326: gimplify_stmt (gimplify.c:5264)
==5113==by 0x7E7FFA: gimplify_body (gimplify.c:7523)
==5113==by 0x7E83E4: gimplify_function_tree (gimplify.c:7619)
==5113==  Address 0x10 is not stack'd, malloc'd or (recently) free'd
==5113==
testcase.C: In member function 'int Aint::f()':
testcase.C:11:10: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: [4.3/4.4/4.5 Regression] ICE: SIGSEGV with invalid
template specialization
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug c++/43630] [4.3/4.4/4.5 Regression] ICE: SIGSEGV with invalid template specialization

2010-04-02 Thread zsojka at seznam dot cz


--- Comment #1 from zsojka at seznam dot cz  2010-04-02 12:28 ---
Created an attachment (id=20288)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20288action=view)
reduced testcase

It is very similiar to pr34491, but it segfaults instead of assert.


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #7 from jv244 at cam dot ac dot uk  2010-04-02 12:28 ---
(In reply to comment #6)
 What's your native arch?  I can't reproduce this on a core i?86.

-v output:


/data03/vondele/gcc_trunk/build/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/f951
hog.f90 -march=k8-sse3 -mcx16 -msahf --param l1-cache-size=64 --param
l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=k8 -quiet -dumpbase
hog.f90 -auxbase hog -g -O3 -version -fbounds-check -ffast-math -funroll-loops
-ftree-vectorize -fintrinsic-modules-path
/data03/vondele/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/finclude
-o /tmp/ccA2YvFn.s


-- 


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #22 from rguenth at gcc dot gnu dot org  2010-04-02 12:33 
---
Or a combination of both.  In particular the code doesn't account for
the negative offsets we offset the spill-slot decl with when trying to
handle a NULL MEM_OFFSET conservatively.

I wonder what sizex / sizey is for the spill-slot-decl, or rather what
mode or size it has ...

Least pessimizing patch follows, it looks like nobody else would
disambiguate spill slots otherwise (apart from the tree oracle calls).

Index: gcc/alias.c
===
--- gcc/alias.c (revision 157942)
+++ gcc/alias.c (working copy)
@@ -2147,6 +2147,13 @@ nonoverlapping_memrefs_p (const_rtx x, c
   if (exprx == 0 || expry == 0)
 return 0;

+  /* For spill-slot accesses make sure we have valid offsets.  */
+  if ((exprx == get_spill_slot_decl (false)
+! MEM_OFFSET (x))
+  || (expry == get_spill_slot_decl (false)
+  ! MEM_OFFSET (y)))
+return 0;
+
   /* If both are field references, we may be able to determine something.  */
   if (TREE_CODE (exprx) == COMPONENT_REF
TREE_CODE (expry) == COMPONENT_REF


-- 


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



[Bug other/43620] Uploading to gnu.org will fail due to automake security issue

2010-04-02 Thread rwild at gcc dot gnu dot org


--- Comment #4 from rwild at gcc dot gnu dot org  2010-04-02 12:40 ---
(In reply to comment #3)
 I think we want no-dist on the branches and an update on trunk (possibly
 adding no-dist to GCC local pieces anyway).

Is that an approval for
http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00059.html ?


-- 


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



[Bug other/43620] Uploading to gnu.org will fail due to automake security issue

2010-04-02 Thread rguenther at suse dot de


--- Comment #5 from rguenther at suse dot de  2010-04-02 12:44 ---
Subject: Re:  Uploading to gnu.org will fail due to automake
 security issue

On Fri, 2 Apr 2010, rwild at gcc dot gnu dot org wrote:

 
 
 --- Comment #4 from rwild at gcc dot gnu dot org  2010-04-02 12:40 ---
 (In reply to comment #3)
  I think we want no-dist on the branches and an update on trunk (possibly
  adding no-dist to GCC local pieces anyway).
 
 Is that an approval for
 http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00059.html ?

I can't approve it.  It's approved from a RM point - let me followup
on that thread.


-- 


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



[Bug c++/43630] [4.3/4.4/4.5 Regression] ICE: SIGSEGV with invalid template specialization

2010-04-02 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.5


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



[Bug tree-optimization/43629] [4.3/4.4/4.5 Regression] Struct to register optimization fails

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-04-02 12:50 ---
Really a CCP bug.

int flag;
extern void abort (void);
int main()
{
  int x;
  if (flag)
x = -1;
  else
x = 0xff;
  if (x  ~0xff)
abort ();
  return 0;
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.3/4.4 Regression] Struct |[4.3/4.4/4.5 Regression]
   |to register optimization|Struct to register
   |fails   |optimization fails


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



[Bug c++/43621] [4.5 Regression] ICE: in poplevel_class, at cp/name-lookup.c:2615 with invalid qualified name

2010-04-02 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2010-04-02 12:58 ---
Created an attachment (id=20289)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20289action=view)
patch

Here's a patch for when 4.5 unfreezes.


-- 


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #23 from rguenth at gcc dot gnu dot org  2010-04-02 13:54 
---
(In reply to comment #17)
 So what is happening is that the cfg cleanup pass in the CSA pass is merging
 the tails of two basic blocks.  These blocks both contain an insn that loads a
 DI value into R0/R1 from the address in R1.  Because the 'base' values for the
 two loads are different (and the calculation for that is not merged),
 merge_memattrs squishes the MEM_OFFSET field, setting it to NULL_RTX.
 The BBRO pass then splits this set of insns up again and puts them back in
 their original BBs.
 Finally the scheduling pass runs and calls nonoverlapping_memrefs_p on the 
 load
 instruction and a preceding store.  That then appears to assume that the two
 memory accesses cannot overlap and thus cannot alias each other; and finally
 the scheduler moves the store after the load.
 
 This smells very generic to me so setting back to P3 for release maintainer
 review.

In addition to making nonoverlapping_memrefs_p more robust here I wonder
how we ended up with mismatching MEM_OFFSETs in the first place.

Anyway, it would be nice if somebody could verify if the patch in
comment #22 fixes the issue on the arm.  I will bootstrap  test it
on x86_64 today.


-- 


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



[Bug c++/41796] ambiguous subobject diagnostic given too early

2010-04-02 Thread schaub-johannes at web dot de


--- Comment #6 from schaub-johannes at web dot de  2010-04-02 14:02 ---
(In reply to comment #4)
 Thanks for pointing out that this has changed since C++03, though the change
 was to fix to something that was clearly broken.
 
 In any case, I disagree with issue 983.  The point of the example is that it
 doesn't matter what subobject it refers to, as the type of D::i is 'int 
 B::*'.
 

I notified Daniel Kruegler about this, since the DR got CD2 status. He replied
that you might want to consider reopening it.


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-04-02 14:07 ---
Confirmed on x86_64-linux with -O2 -fbounds-check.

find_loop_niter_by_eval takes a lot of time in each of the ints2bits_*
routines because the loops have a lot of exits (due to -fbounds-check).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 GCC target triplet||x86_64-*-*


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #9 from jv244 at cam dot ac dot uk  2010-04-02 14:07 ---
Created an attachment (id=20290)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20290action=view)
smaller testcase (needs 3s, 80% in tree canonical iv)


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2010-04-02 14:08 
---
Created an attachment (id=20291)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20291action=view)
reduced testcase


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2010-04-02 14:13 
---
Compared to 4.4 we no longer eliminate most of the bound checks in 4.5.


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread jv244 at cam dot ac dot uk


--- Comment #12 from jv244 at cam dot ac dot uk  2010-04-02 14:17 ---
(In reply to comment #9)
 Created an attachment (id=20290)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20290action=view) [edit]
 smaller testcase (needs 3s, 80% in tree canonical iv)

from valgrind, I see some 1300 cals to get_val_for / fold_binary_loc, for
the small testcase


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2010-04-02 14:23 
---
Testcase for that:

MODULE hfx_compression_core_methods

  IMPLICIT NONE

  INTEGER, PARAMETER :: int_8=8

  CONTAINS

  SUBROUTINE ints2bits_3(Ndata,packed_data,full_data)
INTEGER, INTENT(IN)  :: Ndata
INTEGER(KIND=int_8), INTENT(OUT) :: packed_data(*)
INTEGER(KIND=int_8), INTENT(IN)  :: full_data(*)

INTEGER, PARAMETER   :: Nbits = 3

INTEGER  :: idata, ipack, kdata, Ndata_rep
INTEGER(KIND=int_8)  :: data_tmp, pack_tmp

   idata=0
   ipack=0
   Ndata_rep=(Ndata/2)*2
   DO kdata=1,Ndata_rep,2
   pack_tmp=0
 idata=idata+1
data_tmp = full_data(idata)
data_tmp = ISHFT(data_tmp,61)
pack_tmp = IOR(pack_tmp,data_tmp)
pack_tmp = ISHFT(pack_tmp,-3)
 idata=idata+1
data_tmp = full_data(idata)
data_tmp = ISHFT(data_tmp,61)
pack_tmp = IOR(pack_tmp,data_tmp)
pack_tmp = ISHFT(pack_tmp,0)
   pack_tmp = ISHFT(pack_tmp,0)
   ipack = ipack + 1
   packed_data(ipack) = pack_tmp
   ENDDO
  END SUBROUTINE ints2bits_3

END MODULE hfx_compression_core_methods


likely caused by

2010-02-16  Richard Guenther  rguent...@suse.de

PR tree-optimization/41043
* tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
(vrp_visit_assignment_or_call): Do not ask SCEV for regular
statements ...
(vrp_visit_phi_node): ... but only for loop PHI nodes.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-04-02 10:25:15 |2010-04-02 14:23:22
   date||


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2010-04-02 14:26 
---
Interestingly it works on i?86 ...


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #15 from rguenth at gcc dot gnu dot org  2010-04-02 14:39 
---
C testcase for the missed VRP, fails with long on x86_64 only, with
long long also on i?86:

extern void link_error (void) __attribute__((noreturn));
int n;
float *x;
int main()
{
  if (n  0)
{
  int i = 0;
  do
{
  long index;
  i = i + 1;
  index = i;
  if (index = 0)
link_error ();
  x[index] = 0;
  i = i + 1;
  index = i;
  if (index = 0)
link_error ();
  x[index] = 0;
}
  while (i  n);
}
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||missed-optimization


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #16 from rguenth at gcc dot gnu dot org  2010-04-02 14:53 
---
It's the strict-overflow stuff that cripples VRP again here.  I have a kludge.


-- 


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



[Bug tree-optimization/43629] [4.3/4.4/4.5 Regression] Struct to register optimization fails

2010-04-02 Thread julien dot etienne at gmail dot com


--- Comment #4 from julien dot etienne at gmail dot com  2010-04-02 15:03 
---
What about using -O1 -fno-tree-ccp as a workaround rather than -O1
-fno-tree-rsa ?
Isn't it more efficient and more related to the root cause ?

Thanks for your help.

FYI: I was unable to check out the trunk due to firewall restriction (even on
http). I will try it from another connection.


-- 


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



[Bug tree-optimization/43629] [4.3/4.4/4.5 Regression] Struct to register optimization fails

2010-04-02 Thread rguenther at suse dot de


--- Comment #5 from rguenther at suse dot de  2010-04-02 15:04 ---
Subject: Re:  [4.3/4.4/4.5 Regression] Struct
 to register optimization fails

On Fri, 2 Apr 2010, julien dot etienne at gmail dot com wrote:

 --- Comment #4 from julien dot etienne at gmail dot com  2010-04-02 15:03 
 ---
 What about using -O1 -fno-tree-ccp as a workaround rather than -O1
 -fno-tree-rsa ?
 Isn't it more efficient and more related to the root cause ?
 
 Thanks for your help.
 
 FYI: I was unable to check out the trunk due to firewall restriction (even on
 http). I will try it from another connection.

Disabling constant propagation is going to affect code quality a lot
more (and might uncover latent bugs).  Anyway, I have a patch for
trunk already.


-- 


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



[Bug tree-optimization/43627] [4.5 Regression] slow compilation (tree canonical iv takes 75%)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #17 from rguenth at gcc dot gnu dot org  2010-04-02 15:10 
---
Created an attachment (id=20292)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20292action=view)
minimal patch

I'm testing this minimal patch.


-- 


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #24 from rguenth at gcc dot gnu dot org  2010-04-02 15:20 
---
Alternative patch as suggested by Richard on IRC - it doesn't make sense to
retain MEM_EXPR w/o MEM_OFFSET.

Index: gcc/cfgcleanup.c
===
--- gcc/cfgcleanup.c(revision 157942)
+++ gcc/cfgcleanup.c(working copy)
@@ -891,18 +891,14 @@ merge_memattrs (rtx x, rtx y)
  set_mem_alias_set (y, 0);
}

- if (! mem_expr_equal_p (MEM_EXPR (x), MEM_EXPR (y)))
+ if (! mem_expr_equal_p (MEM_EXPR (x), MEM_EXPR (y))
+ || MEM_OFFSET (x) != MEM_OFFSET (y))
{
  set_mem_expr (x, 0);
  set_mem_expr (y, 0);
  set_mem_offset (x, 0);
  set_mem_offset (y, 0);
}
- else if (MEM_OFFSET (x) != MEM_OFFSET (y))
-   {
- set_mem_offset (x, 0);
- set_mem_offset (y, 0);
-   }

  if (!MEM_SIZE (x))
mem_size = NULL_RTX;


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|rguenther at suse dot de|jakub at gcc dot gnu dot
   ||org, rguenth at gcc dot gnu
   ||dot org


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



[Bug middle-end/43631] New: var-tracking inserts notes with non-NULL BLOCK_FOR_INSN in between basic blocks

2010-04-02 Thread steven at gcc dot gnu dot org
Seen on ia64-unknown-linux, but probably reproducible elsewhere, also:

$ cat t.c
typedef unsigned int UDItype __attribute__ ((mode (DI)));
typedef int TItype __attribute__ ((mode (TI)));

struct DWstruct {UDItype low, high;};
typedef union
{
  struct DWstruct s;
  TItype ll;
} DWunion;

TItype
__multi3 (TItype u, TItype v)
{
  const DWunion uu = {.ll = u};
  const DWunion vv = {.ll = v};
  DWunion w = {.ll = ({DWunion __w; __asm__ (xma.hu %0 = %2, %3, f0\n\txma.l
%1 = %2, %3, f0 : =f (__w.s.high), =f (__w.s.low) : f (uu.s.low), f
(vv.s.low)); __w.ll; })};
  w.s.high += (uu.s.low * vv.s.high + uu.s.high * vv.s.low);
  return w.ll;
}
$ ./cc1 -quiet -g -O2 t.c
t.c: In function '__multi3':
t.c:19:1: error: insn 111 outside of basic blocks has non-NULL bb field
t.c:19:1: error: insn 110 outside of basic blocks has non-NULL bb field
t.c:19: confused by earlier errors, bailing out


Needs a patch to var-tracking.c to expose the problem:
Index: var-tracking.c
===
--- var-tracking.c  (revision 157942)
+++ var-tracking.c  (working copy)
@@ -115,6 +115,8 @@
 #include pointer-set.h
 #include recog.h

+#undef ENABLE_CHECKING
+#define ENABLE_CHECKING 1
 /* var-tracking.c assumes that tree code with the same value as VALUE rtx code
has no chance to appear in REG_EXPR/MEM_EXPRs and isn't a decl.
Currently the value is the same as IDENTIFIER_NODE, which has such
@@ -8489,6 +8491,7 @@ variable_tracking_main (void)

   flag_var_tracking_assignments = save;

+  verify_flow_info ();
   return ret;
 }


This comes from emit_notes_for_differences. I have no idea what the purpose is
of the notes between basic blocks. Apparently the CFG has to be frozen at this
point, or the notes make no sense to begin with. But it's also not clear to me
where the notes should be emitted.

Help sought from a VTA guy, i.e. Jakub or Alexandre :-)


-- 
   Summary: var-tracking inserts notes with non-NULL BLOCK_FOR_INSN
in between basic blocks
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: wrong-debug
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steven at gcc dot gnu dot org


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



[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #25 from rguenth at gcc dot gnu dot org  2010-04-02 16:14 
---
Ok, I reproduced the issue and comment #22 looks like the correct fix.
merge_memattrs is doing the right thing, just nonoverlapping_memrefs_p
conservative fallback for NULL MEM_OFFSET assumes DECLs are not offsetted
with negative offsets - which is not true for the spill slot decl.


-- 


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



[Bug c++/43621] [4.5 Regression] ICE: in poplevel_class, at cp/name-lookup.c:2615 with invalid qualified name

2010-04-02 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-04-02 02:38:03 |2010-04-02 16:17:22
   date||


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



[Bug translation/43626] No locale support for Kosovo

2010-04-02 Thread joseph at codesourcery dot com


--- Comment #2 from joseph at codesourcery dot com  2010-04-02 16:19 ---
Subject: Re:   New: No locale support for Kosovo

Note that the existence of a zh_TW language team
http://translationproject.org/team/zh_TW.html
and associated translations for GCC shows that there is no restriction to 
UN member states.


-- 


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



[Bug tree-optimization/43629] [4.3/4.4/4.5 Regression] Struct to register optimization fails

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-04-02 16:50 ---
Subject: Bug 43629

Author: rguenth
Date: Fri Apr  2 16:50:04 2010
New Revision: 157944

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157944
Log:
2010-04-02  Richard Guenther  rguent...@suse.de

PR tree-optimization/43629
* tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
if we have seen a constant value.

* gcc.c-torture/execute/pr43629.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr43629.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-ccp.c


-- 


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



[Bug tree-optimization/43629] [4.3/4.4 Regression] Struct to register optimization fails

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2010-04-02 16:50 ---
Fixed for 4.5 sofar.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail|4.3.0 4.3.4 4.4.0 4.4.3 |4.3.0 4.3.4 4.4.0 4.4.3
   |4.5.0   |
  Known to work|4.2.4   |4.2.4 4.5.0
Summary|[4.3/4.4/4.5 Regression]|[4.3/4.4 Regression] Struct
   |Struct to register  |to register optimization
   |optimization fails  |fails


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



[Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-04-02 Thread dodji at gcc dot gnu dot org


-- 

dodji at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dodji at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-04-02 16:57:42
   date||


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



[Bug tree-optimization/43611] [4.5 Regression] ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-04-02 17:43 ---
The patch probably only papers over the problem.  Honza, can you have a look
here?


-- 


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



[Bug other/43620] Uploading to gnu.org will fail due to automake security issue

2010-04-02 Thread rwild at gcc dot gnu dot org


--- Comment #6 from rwild at gcc dot gnu dot org  2010-04-02 18:18 ---
Subject: Bug 43620

Author: rwild
Date: Fri Apr  2 18:18:06 2010
New Revision: 157949

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157949
Log:
Update to Automake 1.11.1.

gcc/:
PR other/43620
* doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
* aclocal.m4: Regenerate.

lto-plugin/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.

intl/:
* aclocal.m4: Regenerate.

boehm-gc/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* include/Makefile.in: Regenerate.

fixincludes/:
* aclocal.m4: Regenerate.

libcpp/:
* aclocal.m4: Regenerate.

libdecnumber/:
* aclocal.m4: Regenerate.

libffi/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* include/Makefile.in: Regenerate.
* man/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libgfortran/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.

libgomp/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
* HACKING: Update required Automake version.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* doc/Makefile.in: Regenerate.
* doc/api/Makefile.in: Regenerate.
* examples/Makefile.in: Regenerate.
* external/Makefile.in: Regenerate.
* external/jsr166/Makefile.in: Regenerate.
* external/relaxngDatatype/Makefile.in: Regenerate.
* external/sax/Makefile.in: Regenerate.
* external/w3c_dom/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* lib/Makefile.in: Regenerate.
* native/Makefile.in: Regenerate.
* native/fdlibm/Makefile.in: Regenerate.
* native/jawt/Makefile.in: Regenerate.
* native/jni/Makefile.in: Regenerate.
* native/jni/classpath/Makefile.in: Regenerate.
* native/jni/gconf-peer/Makefile.in: Regenerate.
* native/jni/gstreamer-peer/Makefile.in: Regenerate.
* native/jni/gtk-peer/Makefile.in: Regenerate.
* native/jni/java-io/Makefile.in: Regenerate.
* native/jni/java-lang/Makefile.in: Regenerate.
* native/jni/java-math/Makefile.in: Regenerate.
* native/jni/java-net/Makefile.in: Regenerate.
* native/jni/java-nio/Makefile.in: Regenerate.
* native/jni/java-util/Makefile.in: Regenerate.
* native/jni/midi-alsa/Makefile.in: Regenerate.
* native/jni/midi-dssi/Makefile.in: Regenerate.
* native/jni/native-lib/Makefile.in: Regenerate.
* native/jni/qt-peer/Makefile.in: Regenerate.
* native/jni/xmlj/Makefile.in: Regenerate.
* native/plugin/Makefile.in: Regenerate.
* resource/Makefile.in: Regenerate.
* scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate.

libjava/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libjava/libltdl/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.

libmudflap/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* testsuite/Makefile.in: Regenerate.

libobjc/:
* aclocal.m4: Regenerate.

libssp/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.

libstdc++-v3/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

zlib/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.

Modified:
trunk/boehm-gc/ChangeLog
trunk/boehm-gc/Makefile.in
trunk/boehm-gc/aclocal.m4
trunk/boehm-gc/include/Makefile.in
trunk/fixincludes/ChangeLog
trunk/fixincludes/aclocal.m4
trunk/gcc/ChangeLog
trunk/gcc/aclocal.m4
trunk/gcc/doc/install.texi
trunk/intl/ChangeLog
trunk/intl/aclocal.m4
trunk/libcpp/ChangeLog
trunk/libcpp/aclocal.m4
trunk/libdecnumber/ChangeLog
trunk/libdecnumber/aclocal.m4
trunk/libffi/ChangeLog
trunk/libffi/Makefile.in
trunk/libffi/aclocal.m4
trunk/libffi/include/Makefile.in
trunk/libffi/man/Makefile.in
trunk/libffi/testsuite/Makefile.in
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.in
trunk/libgfortran/aclocal.m4
trunk/libgomp/ChangeLog
trunk/libgomp/Makefile.in
trunk/libgomp/aclocal.m4
trunk/libgomp/testsuite/Makefile.in
trunk/libjava/ChangeLog
trunk/libjava/HACKING

[Bug translation/43626] No locale support for Kosovo

2010-04-02 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-04-02 18:53 ---
Also locale support is in glibc and not in GCC.


-- 


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



[Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-04-02 Thread dodji at gcc dot gnu dot org


--- Comment #1 from dodji at gcc dot gnu dot org  2010-04-02 19:09 ---
Patch posted to http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00100.html


-- 


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



[Bug c++/43632] New: -g option became very slow after r157834

2010-04-02 Thread roman at binarylife dot net
$ svn up -r157834 ~/src/gcc
...
$ make -C ~/src/gcc install
...
$ time g++ -std=c++0x -O2 -c test.cpp -g
real4m47.882s
user4m47.226s
sys 0m0.577s
$ time g++ -std=c++0x -O2 -c test.cpp
real0m28.247s
user0m27.935s
sys 0m0.282s

For comparison:

$ svn up -r157833 ~/src/gcc
...
$ make -C ~/src/gcc install
...
$ time g++ -std=c++0x -O2 -c test.cpp -g
real0m38.055s
user0m37.476s
sys 0m0.475s
$ time g++ -std=c++0x -O2 -c test.cpp 
real0m28.149s
user0m27.861s
sys 0m0.278s


-- 
   Summary: -g option became very slow after r157834
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: roman at binarylife dot net
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug c++/43632] -g option became very slow after r157834

2010-04-02 Thread roman at binarylife dot net


--- Comment #1 from roman at binarylife dot net  2010-04-02 19:42 ---
Created an attachment (id=20293)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20293action=view)
test.cpp


-- 


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



[Bug tree-optimization/43629] [4.3/4.4 Regression] Struct to register optimization fails

2010-04-02 Thread julien dot etienne at gmail dot com


--- Comment #8 from julien dot etienne at gmail dot com  2010-04-02 20:12 
---
Thanks for your help.
I will try the 4.5.0 version as soon as I can access svn.


-- 


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



[Bug c++/43632] -g option became very slow after r157834

2010-04-02 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-04-02 20:24 ---
The function is huge,  2000 basic blocks, tracking almost 7000 preserved
VALUEs.  Most of the time is spent in vt_find_locations (understandably with so
many bbs), but the hash table sizes don't grow quickly enough to trigger
maximum hash table size limit.  You can certainly compile with --param
max-vartrack-size=1000 or something similar, or
-fno-var-tracking-assignments as a workaround.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu dot
   ||org


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



[Bug libstdc++/43623] FAIL: abi_check sparc

2010-04-02 Thread davem at davemloft dot net


--- Comment #3 from davem at davemloft dot net  2010-04-02 20:25 ---
Sorry, I overlooked that I'd been building with --disable-nls, I'll
rebuild with --enable-nls and see how things look after that.


-- 


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



[Bug rtl-optimization/43632] [4.5 Regression] -g option became very slow after r157834

2010-04-02 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-04-02 20:26 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |rtl-optimization
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-04-02 20:26:03
   date||
Summary|-g option became very slow  |[4.5 Regression] -g option
   |after r157834   |became very slow after
   ||r157834
   Target Milestone|--- |4.5.0


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



[Bug libstdc++/43623] FAIL: abi_check sparc

2010-04-02 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-04-02 20:39 
---
I don't think it can be the whole story. Please, double check that you have the
required localedata installed, per:

  
http://gcc.gnu.org/onlinedocs/libstdc++/manual/setup.html#manual.intro.setup.prereq

and which locale model ends up being selected by [GLIBCXX_ENABLE_CLOCALE]. The
ABI baselines have been generated for the GNU locale model, are not suited for
the generic locale model.


-- 


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



[Bug rtl-optimization/43632] [4.5 Regression] -g option became very slow after r157834

2010-04-02 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2010-04-02 21:03 
---
Another datapoint: I now get

WARNING: program timed out.
FAIL: gcc.c-torture/compile/limits-fnargs.c  -O3 -g  (test for excess errors)

consistently on a somewhat old machine.  It hadn't showed up for months
(years?).


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org


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



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #20 from developer at sandoe-acoustics dot co dot uk  
2010-04-02 21:15 ---
(In reply to comment #18)
 TREE_USED then?

It looks to me like the problem is more subtle.
I think it is to do with the fact that the emutls variables are proxies for the
actual ones and that the proxies are not being finalized.

I've patched current tree (+ the tree-profile.c patch) with the one below ...  
... this fixes the unresolved vars problems ..  but, maybe causes one
regression in g++ and a few in libgomp.fortran,
I'm looking into those -- but would really welcome input from people who know
more about emutls.

Index: gcc/varpool.c
===
--- gcc/varpool.c   (revision 157942)
+++ gcc/varpool.c   (working copy)
@@ -281,6 +281,17 @@
 varpool_finalize_decl (tree decl)
 {
   struct varpool_node *node = varpool_node (decl);
+  
+  /* When emulating tls, we actually see references to the control
+ variable, rather than the user-level variable.  Make sure that 
+ these control variables are finalized. */
+  if (!targetm.have_tls
+   TREE_CODE (decl) == VAR_DECL
+   DECL_THREAD_LOCAL_P (decl))
+{
+  tree control = emutls_decl (decl);
+  varpool_finalize_decl (control);
+}

   /* FIXME: We don't really stream varpool datastructure and instead rebuild
it
  by varpool_finalize_decl.  This is not quite correct since this way we
can't


-- 


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



[Bug c/43553] libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use

2010-04-02 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #21 from developer at sandoe-acoustics dot co dot uk  
2010-04-02 21:31 ---
(In reply to comment #20)

 I'm looking into those -- but would really welcome input from people who know
 more about emutls.

for example, is this really something that should be handled in some way from
emutls_finish()?


-- 


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



[Bug libstdc++/43623] FAIL: abi_check sparc

2010-04-02 Thread davem at davemloft dot net


--- Comment #5 from davem at davemloft dot net  2010-04-02 21:42 ---
I've double checked that I have the locales and everything installed.

I'm building a fixed setup now, and I validated that gnu instead of
generic is now choosen for the c++locale.h header file by
libstdc++'s configure.

I'll report the abi_check result when it's ready.


-- 


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



[Bug bootstrap/43619] Bootstrap failure: /lib/cpp fails sanity check

2010-04-02 Thread mckelvey at maskull dot com


--- Comment #11 from mckelvey at maskull dot com  2010-04-02 22:31 ---
(In reply to comment #10)
 (In reply to comment #8)
 
  cygcheck shows a reference to a sjlj dll, 
 
   Woah, deja vu!  
 
  although --disable-sjlj-exceptions is specified:
 
   So, you must still have the related .dll.a file in /usr/local/lib, so it
 linked against that DLL even though it isn't present.  Get rid of your entire
 old /usr/local prefix, or make sure it's not visible when you build.
 

I did that and it's now at stage3, so I believe it's going to be OK. I can't
wait around for it to finish. I'll see if it works Monday morning.
Thanks for all of your help.


-- 


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



[Bug libstdc++/43623] FAIL: abi_check sparc

2010-04-02 Thread joseph at codesourcery dot com


--- Comment #6 from joseph at codesourcery dot com  2010-04-02 22:54 ---
Subject: Re:  FAIL: abi_check sparc

--enable-nls ought not to affect the choice of locale model; it should be 
solely about translations of GCC's own messages.  (If libstdc++'s messages 
were actually usefully translated - domain registered with the TP and 
translations handled through the TP, regeneration part of procedures 
documented at http://gcc.gnu.org/translation.html - then it would also be 
desirable to be able to configure message translation for host and target 
separately.)


-- 


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



[Bug c/43633] New: sizeof returns wrong size for large long long values when using -std=c99

2010-04-02 Thread sje at cup dot hp dot com
If I compile a program with -std=c99 and do a sizeof of a constant that is
larger then LONG_LONG_MAX but smaller then ULONG_LONG_MAX I get 16 instead of
8.  For values larger then ULONG_LONG_MAX I get 8.  I can reproduce this on x86
Linux and IA64 HP-UX (and probably other systems).Here is a test case that
should show the problem on any systems where LONG LONG is 8 bytes.  Compiled
without -std=c99 all the prints will print '8', with '-std=c99' the middle two
prints will print out 16 instead of 8.  Reproducable with ToT and going back to
at least 4.1.0.

#include stdio.h
main()
{
/* LONG_LONG_MAX */
printf(%ld\n, sizeof(9223372036854775807LL));
/* LONG_LONG_MAX + 1 */
printf(%ld\n, sizeof(9223372036854775808LL));
/* ULONG_LONG_MAX as a long long type */
printf(%ld\n, sizeof(18446744073709551615LL));
/* ULONG_LONG_MAX + 1 as a long long type */
printf(%ld\n, sizeof(18446744073709551616LL));
}


-- 
   Summary: sizeof returns wrong size for large long long values
when using -std=c99
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sje at cup dot hp dot com


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



[Bug c/43633] sizeof returns wrong size for large long long values when using -std=c99

2010-04-02 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-04-02 23:04 ---
t.c:7:32: warning: integer constant is so large that it is unsigned
t.c:9:32: warning: integer constant is so large that it is unsigned
t.c:11:32: warning: integer constant is too large for its type


-- 


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



[Bug libstdc++/43634] New: std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com
gcc version 4.4.3 20100108 (prerelease) (Debian 4.4.2-9)

basic_string::replace(size_type __pos, size_type __n1, const _CharT* __s)
replaces length(__s) characters even if __n1length(__s), which is not the
behavior documented in the header, on
http://www.cplusplus.com/reference/string/string/replace/ , or in Josuttis The
C++ Standard Library (Addison Wesley).

Suggested fix: it would suffice to take the min() of __n1 and length(__s)
instead of just the latter. In my version, that's on line 1324 of
/usr/include/c++/4.4.3/bits/basic_string.h

Workaround: use the other replace() signature that allows to explicitly set a C
string length.

See also test_std_string.cpp:

// g++ -Wall -g -O0 -o test_std_string test_std_string.cpp

#include string
#include iostream

int main(int argc, char ** argv)
{
  static char const * foo_cstr(fooXXX);
  std::string foo(something else);
  foo.resize(3);
  foo.replace(0, 3, foo_cstr);
  if (foo != foo) {
std::cout  foo.replace(0, 3, foo_cstr) failed: got \  foo  \
instead of \foo\\n;
  }
  foo.resize(3);
  foo.replace(0, 3, foo_cstr, 3);
  if (foo != foo) {
std::cout  foo.replace(0, 3, foo_cstr, 3) failed: got \  foo  \
instead of \foo\\n;
  }
}


-- 
   Summary: std::string::replace with C string can replace too many
characters
   Product: gcc
   Version: 4.4.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: poftwaresatent at gmail dot com
GCC target triplet: i486-linux-gnu


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com


--- Comment #1 from poftwaresatent at gmail dot com  2010-04-02 23:48 
---
Created an attachment (id=20294)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20294action=view)
source file to trigger the bug and see that the workaround works


-- 


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com


--- Comment #2 from poftwaresatent at gmail dot com  2010-04-02 23:49 
---
Created an attachment (id=20295)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20295action=view)
.o from g++ -v -save-temps ...


-- 


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com


--- Comment #3 from poftwaresatent at gmail dot com  2010-04-02 23:49 
---
Created an attachment (id=20296)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20296action=view)
.ii from g++ -v -save-temps ...


-- 


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com


--- Comment #4 from poftwaresatent at gmail dot com  2010-04-02 23:50 
---
Created an attachment (id=20297)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20297action=view)
.s from g++ -v -save-temps ...


-- 


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com


--- Comment #5 from poftwaresatent at gmail dot com  2010-04-02 23:50 
---
Created an attachment (id=20298)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20298action=view)
console output of g++ -v -save-temps ...


-- 


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



[Bug objc++/23716] obj-c++.dg/comp-types-10.mm ICE with the GNU runtime

2010-04-02 Thread mrs at gcc dot gnu dot org


--- Comment #12 from mrs at gcc dot gnu dot org  2010-04-02 23:57 ---
Ok.  Ok for gcc-4.5.


-- 


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



[Bug objc/35996] ICE while building simple ObjC code with -fobjc-gc

2010-04-02 Thread mrs at gcc dot gnu dot org


--- Comment #6 from mrs at gcc dot gnu dot org  2010-04-03 00:05 ---
Ok.


-- 


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread paolo dot carlini at oracle dot com


--- Comment #6 from paolo dot carlini at oracle dot com  2010-04-03 00:51 
---
Our behavior is conforming to the C++03 ISO Standard, which we are
implementing, see in particular 21.3.5.6/8. And, by the way, SunStudio, which
uses a completely different run-time library behaves exactly the same.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug libstdc++/43634] std::string::replace with C string can replace too many characters

2010-04-02 Thread poftwaresatent at gmail dot com


--- Comment #7 from poftwaresatent at gmail dot com  2010-04-03 01:38 
---
So, looks more like a documentation issue then, fine by me.

Quote from basic_string.h: Removes the characters in the range [pos,pos + n1)
from this string. In place, the first @a n characters of @a s are inserted.

I interpreted that as meaning when s is longer than n, just use the first n
characters of it and disregards whatever follows. Similarly, Josuttis (pg 519
of 10th printing) says: Both forms replace, at most, len characters of
*this...

Thanks for the quick reply!


-- 


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



[Bug libstdc++/43623] FAIL: abi_check sparc

2010-04-02 Thread davem at davemloft dot net


--- Comment #7 from davem at davemloft dot net  2010-04-03 01:51 ---
Ok, once I straightened out all of the locale issues the abi_check
failure went away.  Closing.


-- 

davem at davemloft dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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