Re: CSE compare/branch template problem
There are some other quirks with the MicroBlaze architecture. The cmp/cmpu instructions only take a register. Other instructions which can be used for equality or signed comparisons (xor or sub) can take an immediate operand. I'll see how they can be added. You can probably convince combine to merge the compare and branch insns into a single pattern, that is immediately split to a xor+branch-if-equal. Paolo
in asm: where does .zero 2102063220 come from?
Hi all. I'm in the process of revamping the fortran-frontend to use trees instead of linked lists in its array-constructor representation (initial patch at [1]). By now, I'm hunting down the last regressions. For one regression, I have no idea how to deal with it. The problem: for some reason the .o file for a small fortran program may be blown up to multiple GB. The diff below shows the differences in assembler of the testcase gfortran.dg/actual_array_substr_2.f90, once compiled with current trunk, once with my local tree. The only difference is the .zero $bignumber - it's not overly far fetched to link $bignumber with the object file size. It is to assume that I either dropped a required initialization or introduced one that should not be there. Simply reading the diff doesn't help me much as (a) it's rather big by now and (b) whenever I identified a candidate and put a breakpoint there, execution never actually stopped there ^^ Hints where these .zero lines are generated and why, where to put a breakpoint and what to look for -- or anything else that puts me on the right track -- would be appreciated. Thanks Daniel --- actual_array_substr_2.s.orig2009-12-27 04:50:39.0 +0100 +++ actual_array_substr_2.s 2009-12-27 04:48:36.0 +0100 @@ -871,7 +871,9 @@ .type teststring.1574, @object .size teststring.1574, 24 teststring.1574: + .zero 12 .ascii abc def ghij + .zero 2102025972 .ascii klm nop qrst .align 4 .type m.1571, @object @@ -903,7 +905,9 @@ .type foostring.1518, @object .size foostring.1518, 24 foostring.1518: + .zero 12 .ascii 0123456789#$ + .zero 2102063220 .ascii $#9876543210 - .ident GCC: (GNU) 4.5.0 20091226 (experimental) + .ident GCC: (GNU) 4.5.0 20091217 (experimental) .section.note.GNU-stack,,@progbits [1] http://gcc.gnu.org/ml/fortran/2009-12/msg00170.html
[Bug c/42506] New: remove useless '-fkeep-inline-functions' from gcc flags
One of users managed to add '-fkeep-inline-functions' flag to his CFLAGS and managed to break build of our project. Simple example: /* a.c: */ extern int foo(void); static inline int unused_function(void) { return foo(); } int main(void){ return 42; } /* shell: */ $ /tmp:gcc a.c -o a # all ok $ /tmp:LANG=C gcc -fkeep-inline-functions a.c -o a # breaks! /tmp/cc65My6h.o: In function `unused_function': a.c:(.text+0x5): undefined reference to `foo' collect2: ld returned 1 exit status Exploring this option a little more I've decided it's completely useless: * as this option is only for 'static inline' functions - we always have function's definition in translation unit. * If inlining of all calls takes place - why we would need that unaddressable junk, generated by that flag? * If there is _no_ callers - why we would need that junk? * If inlining does not take place - we get such behaviour w/o this flag So, I propose to remove it. -- Summary: remove useless '-fkeep-inline-functions' from gcc flags Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: slyfox at inbox dot ru GCC build triplet: x86_64-pc-linux-gnu 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=42506
[Bug middle-end/42290] strange 'warning: ISRA.2 may be used uninitialized in this function'
--- Comment #4 from zsojka at seznam dot cz 2009-12-26 10:50 --- Created an attachment (id=19393) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19393action=view) even more reduced testcase I have a suspicion this warning is valid. There is an app that (sometimes) crashes when code construction like this one is called. valgrind warns about using uninitialized variable. Also, it started crashing when compiled with gcc r154886 (r154830 was fine). -- zsojka at seznam dot cz changed: What|Removed |Added Attachment #19231|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42290
[Bug c/42506] remove useless '-fkeep-inline-functions' from gcc flags
--- Comment #1 from jakub at gcc dot gnu dot org 2009-12-26 10:55 --- It is not useless, the reason you in some cases want to keep out of line copies of inline functions is e.g. debugging, if there is no out of line copy of a function, you can't call it from within the debugger. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42506
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #9 from paolo dot carlini at oracle dot com 2009-12-26 11:03 --- I understand can be closed as fixed now. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42507] New: internal compiler error: verify_stmts failed
I get an ICE when compiling this file using this command (file to be attached.) C:\g++ -c -Wreturn-type -fno-strict-aliasing -O2 -frtti -fexceptions -mthreads -o RenderMenuList.o RenderMenuList.ii rendering/RenderMenuList.cpp: In member function 'WebCore::RenderMenuList::contr olClipRect(int, int) const': rendering/RenderMenuList.cpp:217:9: error: address taken, but ADDRESSABLE bit no t set retval platform/graphics/IntRect.h:179:19: note: in statement # .MEM_119 = VDEF .MEM_117 WebCore::IntRect::intersect (retval, innerBox); rendering/RenderMenuList.cpp:217:9: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. -- Summary: internal compiler error: verify_stmts failed Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jarrod dot chesney at gmail dot com GCC build triplet: x86_64-w64-mingw32 GCC host triplet: x86_64-w64-mingw32 GCC target triplet: x86_64-w64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42507
[Bug tree-optimization/42508] New: wrong code with -O1 -fipa-sra
+++ This bug was initially created as a clone of Bug #42290 +++ Command line: g++ -O1 -fipa-sra testcase.cpp ./a.out (-Wall shows valid (but misleading?) warnings as described in bug 42290) Tested versions: r155434 - broken r154886 - broken r154830 - OK r153685 - OK Output: g++ -O1 -fipa-sra testcase.cpp ./a.out 2 -1419800576 Expected output: g++ -O1 -fipa-sra testcase.cpp ./a.out 2 1 -- Summary: wrong code with -O1 -fipa-sra Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42508
[Bug tree-optimization/42508] wrong code with -O1 -fipa-sra
--- Comment #1 from zsojka at seznam dot cz 2009-12-26 11:20 --- Created an attachment (id=19394) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19394action=view) testcase Command line: g++ -O1 -fipa-sra pr42508.cpp ./a.out -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42508
[Bug middle-end/42290] strange 'warning: ISRA.2 may be used uninitialized in this function'
--- Comment #5 from zsojka at seznam dot cz 2009-12-26 11:23 --- I opened the wrong code bug as pr42508 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42290
[Bug target/42509] New: bootstrap failure in stage3 (integer overflow in preprocessor expression)
current trunk (including all changes from 20091223), native build configured with --with-arch=armv7-a --with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb, fails in stage3 (--with-mode=thumb the option to trigger this): if [ x-fPIC != x ]; then \ /home/packages/gcc/4.5/gcc-4.5-4.5-20091223/build/./prev-gcc/xgcc -B/home/packages/gcc/4.5/gcc-4.5-4.5-20091223/build/./prev-gcc/ -B/usr/arm-linux-gnueabi/bin/ -B/usr/arm-linux-gnueabi/bin/ -B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem /usr/arm-linux-gnueabi/sys-include-c -DHAVE_CONFIG_H -g -O2 -fno-stack-protector -I. -I../../src/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic -fPIC ../../src/libiberty/sha1.c -o pic/sha1.o; \ else true; fi ../../src/libiberty/sha1.c:46:3: error: #error invalid BLOCKSIZE make[5]: *** [sha1.o] Error 1 make[5]: Leaving directory `/home/packages/gcc/4.5/gcc-4.5-4.5-20091223/build/libiberty' make[4]: *** [all-stage3-libiberty] Error 2 #define BLOCKSIZE 4096 #if BLOCKSIZE % 64 != 0 # error invalid BLOCKSIZE #endif building with -O0 doesn't show the error, just adding -save-temps as well :-/ going on with the build, more warnings: ../../src/gcc/hwint.h:59:5: warning: integer overflow in preprocessor expression #if HOST_BITS_PER_LONG = 64 || !defined NEED_64BIT_HOST_WIDE_INT ../../src/gcc/../libcpp/include/cpplib.h:251:27: warning: integer overflow in preprocessor expression #if CHAR_BIT * SIZEOF_INT = 32 -- Summary: bootstrap failure in stage3 (integer overflow in preprocessor expression) Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: doko at ubuntu dot com GCC target triplet: arm-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42509
[Bug c++/14870] Explicit template instantiation in wrong scope accepted
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 12:38 --- Has been fixed a lot of time ago. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.2.5 4.3.3 4.4.2 4.5.0 Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14870
[Bug c++/17359] Can't convert function pointer
--- Comment #5 from paolo dot carlini at oracle dot com 2009-12-26 12:43 --- Works in mainline, not a regression, closing. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.5.0 Resolution||WORKSFORME Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17359
[Bug c++/20041] request for member `operator delete' is ambiguous
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 12:47 --- Fixed a lot of time ago. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.2.5 4.3.3 4.4.2 4.5.0 Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20041
[Bug c++/33492] [4.3 regression] Broken diagnostic: 'must_not_throw_expr' not supported by dump_expr
--- Comment #8 from paolo dot carlini at oracle dot com 2009-12-26 13:52 --- Will not be fixed in 4_3-branch. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.3.5 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33492
[Bug c++/40749] [4.3 Regression] g++ doesnt report missing return if return is of type const type
--- Comment #8 from paolo dot carlini at oracle dot com 2009-12-26 13:53 --- Will not be fixed in 4_3-branch. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.3.5 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40749
[Bug c++/40434] [C++0x] g++ does not obey 8.3.5p5?!
--- Comment #4 from paolo dot carlini at oracle dot com 2009-12-26 13:57 --- Works fine in mainline indeed. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||WORKSFORME Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40434
[Bug c++/42355] Segmentation fault
--- Comment #7 from paolo dot carlini at oracle dot com 2009-12-26 14:04 --- Please provide a self-contained .ii, see: http://gcc.gnu.org/bugs/#report -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42355
[Bug c++/42355] Segmentation fault
--- Comment #8 from paolo dot carlini at oracle dot com 2009-12-26 14:06 --- Also, please do your best to minimize it, see: http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42355
[Bug c++/33504] redundant temporary object is created
--- Comment #5 from paolo dot carlini at oracle dot com 2009-12-26 14:20 --- Feedback not forthcoming. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33504
[Bug c++/32054] Storage classes on anonymous unions in classes
-- paolo dot carlini at oracle dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |paolo dot carlini at oracle |dot org |dot com Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32054
[Bug c++/32053] Anonymous union members' names should be distinct within enclosing scope
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 14:32 --- Yes, fixed long time ago. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Known to work|3.4.3 4.2.1 |3.4.3 4.2.1 4.4.0 Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32053
[Bug c++/31860] Spurious error on udecl to class 'n' with object 'n' in the current scope
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 14:38 --- Fixed a long time ago. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Known to work||4.4.0 4.5.0 Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31860
[Bug target/42503] gcc-4.4-20091215 broke libjava on ARM
--- Comment #1 from mikpe at it dot uu dot se 2009-12-26 14:59 --- Reverting r155171 allows gcc-4.4-20091215 to build a working libjava again. URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155171 Log: 2009-12-11 Ramana Radhakrishnan ramana.radhakrish...@arm.com PR target/42263 2009-08-11 Andrew Haley a...@redhat.com * config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize. I suspect ARM's static libgcc has more symbols than the shared one bug is involved here (see PR40133 and PR40134). -- mikpe at it dot uu dot se changed: What|Removed |Added CC||ramana dot radhakrishnan at ||arm dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42503
[Bug c/42506] remove useless '-fkeep-inline-functions' from gcc flags
--- Comment #2 from slyfox at inbox dot ru 2009-12-26 15:34 --- (In reply to comment #1) It is not useless, the reason you in some cases want to keep out of line copies of inline functions is e.g. debugging, if there is no out of line copy of a function, you can't call it from within the debugger. Aha, thanks! Sounds perfectly reasonable. Worth addind that note to documentation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42506
[Bug middle-end/42510] New: Invalid memory access in graphite
gcc.dg/graphite/block-4.c fails at random. On Linux/x86-64, valgrind reports: ==11194== Invalid read of size 8 ==11194==at 0xC714EE: lst_interchange_select_inner (graphite-interchange.c:708) ==11194==by 0xC72725: lst_interchange_select_outer (graphite-interchange.c:732) ==11194==by 0xC7278D: lst_interchange_select_outer (graphite-interchange.c:743) ==11194==by 0xC7278D: lst_interchange_select_outer (graphite-interchange.c:743) ==11194==by 0xC727CB: scop_do_interchange (graphite-interchange.c:754) ==11194==by 0xC681A1: scop_do_block (graphite-blocking.c:293) ==11194==by 0xBE5A57: apply_poly_transforms (graphite-poly.c:253) ==11194==by 0xBDF68F: graphite_transform_loops (graphite.c:276) ==11194==by 0x883286: graphite_transforms (tree-ssa-loop.c:300) ==11194==by 0x70F54A: execute_one_pass (passes.c:1561) ==11194==by 0x70F7D4: execute_pass_list (passes.c:1616) ==11194==by 0x70F7E6: execute_pass_list (passes.c:1617) ==11194== Address 0xb6aeb70 is 16 bytes inside a block of size 24 free'd ==11194==at 0x4A04D72: free (vg_replace_malloc.c:325) ==11194==by 0xC725B7: lst_interchange_select_inner (graphite-poly.h:704) ==11194==by 0xC72725: lst_interchange_select_outer (graphite-interchange.c:732) ==11194==by 0xC7278D: lst_interchange_select_outer (graphite-interchange.c:743) ==11194==by 0xC7278D: lst_interchange_select_outer (graphite-interchange.c:743) ==11194==by 0xC727CB: scop_do_interchange (graphite-interchange.c:754) ==11194==by 0xC681A1: scop_do_block (graphite-blocking.c:293) ==11194==by 0xBE5A57: apply_poly_transforms (graphite-poly.c:253) ==11194==by 0xBDF68F: graphite_transform_loops (graphite.c:276) ==11194==by 0x883286: graphite_transforms (tree-ssa-loop.c:300) ==11194==by 0x70F54A: execute_one_pass (passes.c:1561) ==11194==by 0x70F7D4: execute_pass_list (passes.c:1616) ==11194== -- Summary: Invalid memory access in graphite Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42510
[Bug middle-end/42510] [4.5 Regression] Invalid memory access in graphite
--- Comment #1 from hjl dot tools at gmail dot com 2009-12-26 16:22 --- Gcc 4.4.2 runs cleanly under valgrind. -- hjl dot tools at gmail dot com changed: What|Removed |Added Summary|Invalid memory access in|[4.5 Regression] Invalid |graphite|memory access in graphite http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42510
[Bug c++/42331] [4.4/4.5 regression] ICE with invalid array initializer
--- Comment #9 from jason at gcc dot gnu dot org 2009-12-26 16:25 --- Subject: Bug 42331 Author: jason Date: Sat Dec 26 16:24:53 2009 New Revision: 155474 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155474 Log: PR c++/42331 * typeck.c (cp_build_modify_expr): Fix thinko. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist29.C Modified: branches/gcc-4_4-branch/gcc/cp/ChangeLog branches/gcc-4_4-branch/gcc/cp/typeck.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42331
[Bug c++/42331] [4.4/4.5 regression] ICE with invalid array initializer
--- Comment #10 from jason at gcc dot gnu dot org 2009-12-26 16:25 --- Fixed. -- jason at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42331
[Bug bootstrap/42511] New: boostrap error in stage3 on alpha-linux-gnu
seen with trunk 20091226, lowering optimization to -O1 works around the problem. Matthias if [ x-fPIC != x ]; then \ /home/doko/gcc/gcc-4.5-4.5-20091226/build/./prev-gcc/xgcc -B/home/doko/gcc/gcc-4.5-4.5-20091226/build/./prev-gcc/ -B/usr/alpha-linux-gnu/bin/ -B/usr/alpha-linux-gnu/bin/ -B/usr/alpha-linux-gnu/lib/ -isystem /usr/alpha-linux-gnu/include -isystem /usr/alpha-linux-gnu/sys-include-c -DHAVE_CONFIG_H -g -O2 -I. -I../../src/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic -fPIC ../../src/libiberty/regex.c -o pic/regex.o; \ else true; fi In file included from ../../src/libiberty/regex.c:638:0: ../../src/libiberty/regex.c: In function 'byte_re_compile_fastmap': ../../src/libiberty/regex.c:4660:20: warning: '({anonymous})' may be used uninitialized in this function ../../src/libiberty/regex.c: In function 'byte_re_match_2_internal': ../../src/libiberty/regex.c:5543:1: internal compiler error: in mark_operand_necessary, at tree-ssa-dce.c:250 Please submit a full bug report, with preprocessed source if appropriate. make[5]: *** [regex.o] Error 1 make[5]: Leaving directory `/home/doko/gcc/gcc-4.5-4.5-20091226/build/libiberty' make[4]: *** [all-stage3-libiberty] Error 2 make[4]: Leaving directory `/home/doko/gcc/gcc-4.5-4.5-20091226/build' make[3]: *** [stage3-bubble] Error 2 -- Summary: boostrap error in stage3 on alpha-linux-gnu Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: debian-gcc at lists dot debian dot org GCC target triplet: alpha-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42511
[Bug bootstrap/42511] boostrap error in stage3 on alpha-linux-gnu
--- Comment #1 from debian-gcc at lists dot debian dot org 2009-12-26 18:01 --- Created an attachment (id=19395) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19395action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42511
[Bug c++/36002] Error messages report wrong, invalid function type.
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 18:20 --- The error message is fine in the released 4.4.0, not a regression, closing. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Known to fail||4.3.3 Known to work||4.4.0 4.5.0 Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36002
[Bug c++/36086] Internal Compiler Error on AIX 5.3 compiling Boost 1.35.0
--- Comment #3 from paolo dot carlini at oracle dot com 2009-12-26 18:23 --- No feedback for 20 months, closing. CC-ing David in case he wants to add something... -- paolo dot carlini at oracle dot com changed: What|Removed |Added CC||dje dot gcc at gmail dot com Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36086
[Bug c++/36625] bogus error on __attribute__((aligned(N))) in template code
--- Comment #5 from paolo dot carlini at oracle dot com 2009-12-26 18:31 --- Let's CC Jason about this (frankly, I have *always* used double parentheses, I thought that was the only legal syntax ;) -- paolo dot carlini at oracle dot com changed: What|Removed |Added CC||jason at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36625
[Bug c++/37260] [4.3 Regression] infinite loop in init
--- Comment #8 from paolo dot carlini at oracle dot com 2009-12-26 18:36 --- Will not be fixed in 4_3-branch. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.3.5 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37260
[Bug c++/37656] template specialization of static member constants causes multiple definition error
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 18:43 --- This is definitely invalid. The linkage isn't weak, and you get exactly into the same problem of a plain: struct u { static int const v; }; int const u::v = 42; -- 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=37656
[Bug libstdc++/37557] mixing wide and plain streams causes stream-errors (g++ 4.1.0 also affected)
--- Comment #1 from paolo dot carlini at oracle dot com 2009-12-26 18:50 --- Yes, this is exactly what the Standard says, see 27.3/2, the behavior changed, we are more conforming lately. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Component|c++ |libstdc++ Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37557
[Bug c++/38543] Cannot specialize variadic template function
-- paolo dot carlini at oracle dot com changed: What|Removed |Added Severity|major |normal http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38543
[Bug c++/39554] -Wdisallowed-function-list fails when #including algorithm
--- Comment #7 from paolo dot carlini at oracle dot com 2009-12-26 19:03 --- Jakub, I guess we can close this? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39554
[Bug c++/40750] Side-effect of member function call not produced in certain circumstances
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 19:10 --- I find this disturbing. Let's CC Jason... -- paolo dot carlini at oracle dot com changed: What|Removed |Added CC||jason at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40750
[Bug c++/40821] C++ compiler accepts __attribute__ with missing parens
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 19:12 --- Maybe related to c++/36625 ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40821
[Bug c++/36625] bogus error on __attribute__((aligned(N))) in template code
--- Comment #6 from paolo dot carlini at oracle dot com 2009-12-26 19:13 --- Maybe related to c++/40821 ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36625
[Bug c++/39987] [4.3 Regression] Rejects default argument that is a template via access failure
--- Comment #10 from paolo dot carlini at oracle dot com 2009-12-26 19:16 --- Dodji, can we close this one at this point? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39987
[Bug c++/38242] Overeager ADL searches associated namespaces of base class's template arguments
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 19:19 --- Fix (by Jason, I think) in mainline, not a regression, closing. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.5.0 Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38242
[Bug middle-end/42510] [4.5 Regression] Invalid memory access in graphite
--- Comment #2 from hjl dot tools at gmail dot com 2009-12-26 19:22 --- This is caused by revision 155418: http://gcc.gnu.org/ml/gcc-cvs/2009-12/msg00562.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42510
[Bug c++/39554] -Wdisallowed-function-list fails when #including algorithm
--- Comment #8 from jakub at gcc dot gnu dot org 2009-12-26 19:26 --- The feature has been removed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39554
[Bug c/42512] New: possible integer wrong code bug
reg...@john-home:~$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/home/regehr/z/tmp/gcc-r155465-install/libexec/gcc/i686-pc-linux-gnu/4.5.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/tmp/gcc-r155465-install --program-prefix=r155465- --enable-languages=c,c++ Thread model: posix gcc version 4.5.0 20091225 (experimental) (GCC) reg...@john-home:~$ current-gcc -O2 small.c -o small reg...@john-home:~$ ./small g_3 = -1 reg...@john-home:~$ current-gcc -O3 small.c -o small reg...@john-home:~$ ./small g_3 = 255 reg...@john-home:~$ cat small.c #include stdio.h int g_3; int main (void) { long long l_2; for (l_2 = -1; l_2 != 0; l_2 = (unsigned char)(l_2 - 1)) { g_3 |= l_2; } printf(g_3 = %d\n, g_3); return 0; } -- Summary: possible integer wrong code bug Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: regehr at cs dot utah dot edu GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42512
[Bug bootstrap/42068] [4.5 regression] ICE in function_and_variable_visibility breaks Tru64 UNIX Ada bootstrap
--- Comment #5 from ebotcazou at gcc dot gnu dot org 2009-12-26 19:44 --- Jan, you're responsible for fixing things you broke. There is a reduced testcase and the ICE can be reproduced with a cross on x86_64-linux. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added Last reconfirmed|2009-11-19 12:31:17 |2009-12-26 19:44:00 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42068
[Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop
--- Comment #1 from jakub at gcc dot gnu dot org 2009-12-26 20:00 --- This breaks during ivopts. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Priority|P3 |P1 Last reconfirmed|-00-00 00:00:00 |2009-12-26 20:00:19 date|| Summary|integer wrong code bug with |[4.5 Regression] integer |loop|wrong code bug with loop Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42512
[Bug fortran/42484] ICE with -fopenmp
--- Comment #3 from janus at gcc dot gnu dot org 2009-12-26 20:11 --- There is a pass 'diagnose_omp_blocks', which generates the error message for the C code. Its execution function is 'diagnose_omp_structured_block_errors' in omp-low.x, which is correctly called also for Fortran code. However, the checks in 'diagnose_sb_0' and 'diagnose_sb_2' don't seem to work for the Fortran test case. For the C code in comment #2, the GIMPLE_RETURN branch in diagnose_sb_2 is in effect and calls diagnose_sb_0, which throws the errror. For the Fortran case this does not work, since the RETURN is translated to a GOTO. However, GOTOs jumping out of an OMP CRITICAL section should also be rejected. (I still don't see where things go wrong.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42484
[Bug c++/39987] [4.3 Regression] Rejects default argument that is a template via access failure
--- Comment #11 from dodji at gcc dot gnu dot org 2009-12-26 20:31 --- Yes, I forgot to do it. Sorry about that. Setting the target milestone to 4.4 and closing. -- dodji at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.3.6 |4.4.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39987
[Bug tree-optimization/42508] wrong code with -O1 -fipa-sra
--- Comment #2 from hjl dot tools at gmail dot com 2009-12-26 21:04 --- It is caused by revision 154880: http://gcc.gnu.org/ml/gcc-cvs/2009-12/msg00024.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||jakub at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42508
[Bug bootstrap/42068] [4.5 regression] ICE in function_and_variable_visibility breaks Tru64 UNIX Ada bootstrap
--- Comment #6 from rupp at gnat dot com 2009-12-26 21:18 --- ICE on alpha64-dec-openvms* with 20091224 sources. -- rupp at gnat dot com changed: What|Removed |Added CC||rupp at gnat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42068
[Bug c/42513] New: -ftree-vectorize and zlib: firefox crashes with segmentation faults on start
When using all O3 flags without -ftree-vectorize, all work good. So, I think there is a trouble which can be determined by testing this option on sys-libs/zlib - package. -- Summary: -ftree-vectorize and zlib: firefox crashes with segmentation faults on start Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mecareful at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42513
[Bug c/42513] -ftree-vectorize and zlib: firefox crashes with segmentation faults on start
--- Comment #1 from hjl dot tools at gmail dot com 2009-12-26 21:44 --- Try adding -mstackrealign. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42513
[Bug fortran/42477] Runtime segfault with -fopenmp -static
--- Comment #4 from janus at gcc dot gnu dot org 2009-12-26 21:44 --- I'm curious why this problem only appears for Fortran code and not for C. If it is a 'glibc feature', then both should be equally affected, or am I mistaken? The following C program does not show the runtime segfault with -fopenmp -static: #include stdio.h #include omp.h int main () { printf (Number of processors: %i\n, omp_get_num_procs()); } -- janus at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|DUPLICATE | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42477
[Bug c++/37260] [4.3 Regression] infinite loop in init
-- paolo dot carlini at oracle dot com changed: What|Removed |Added Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37260
[Bug c++/33492] [4.3 regression] Broken diagnostic: 'must_not_throw_expr' not supported by dump_expr
-- paolo dot carlini at oracle dot com changed: What|Removed |Added Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33492
[Bug c++/40749] [4.3 Regression] g++ doesnt report missing return if return is of type const type
-- paolo dot carlini at oracle dot com changed: What|Removed |Added Target Milestone|--- |4.4.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40749
[Bug c/42513] -ftree-vectorize and zlib: firefox crashes with segmentation faults on start
--- Comment #2 from mecareful at gmail dot com 2009-12-26 22:01 --- (In reply to comment #1) Try adding -mstackrealign. Now firefox works and does not segfaults on start and works later. (And thunderbird works now too) Thanks a lot! :-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42513
[Bug fortran/42477] Runtime segfault with -fopenmp -static
--- Comment #5 from pinskia at gcc dot gnu dot org 2009-12-26 22:10 --- Still a glibc feature as using the shared glibc/pthreads works. Also does on darwin and other targets. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42477
[Bug fortran/42477] Runtime segfault with -fopenmp -static
--- Comment #6 from pinskia at gcc dot gnu dot org 2009-12-26 22:11 --- Oh and the most likely reason is that why Fortran fails and C works is because libgfortran weakly imports some pthread symbols which causes the pthread static library not to be fully included. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42477
[Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop
--- Comment #2 from hjl dot tools at gmail dot com 2009-12-26 22:13 --- It may be caused by revision 147716: http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00693.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||ebotcazou at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42512
[Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop
--- Comment #3 from hjl dot tools at gmail dot com 2009-12-26 22:16 --- It is related to PR 41497. -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||spop at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42512
[Bug target/42513] -ftree-vectorize and zlib: firefox crashes with segmentation faults on start
--- Comment #3 from hjl dot tools at gmail dot com 2009-12-26 22:19 --- *** This bug has been marked as a duplicate of 40838 *** -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42513
[Bug rtl-optimization/40838] gcc shouldn't assume that the stack is aligned
--- Comment #66 from hjl dot tools at gmail dot com 2009-12-26 22:19 --- *** Bug 42513 has been marked as a duplicate of this bug. *** -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||mecareful at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838
[Bug c++/35815] [C++0x] partial specialization of variadic templates with different order of parameter results in different semantics
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-26 22:27 --- Not a regression, works in current release branch and mainline. Closing. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Known to work||4.4.0 4.5.0 Resolution||WORKSFORME Summary|partial specialization of |[C++0x] partial |variadic templates with |specialization of variadic |different order of parameter|templates with different |results in different|order of parameter results |semantics |in different semantics http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35815
[Bug fortran/42484] ICE with -fopenmp
--- Comment #4 from janus at gcc dot gnu dot org 2009-12-26 22:31 --- Here are test cases in Fortran and C, which both use GOTOs. Again, the Fortran code ICEs, while the C code gives an error message: subroutine sub integer :: nRead !$omp critical if (nRead3) goto 100 !$omp end critical 100 nRead=4 end subroutine void sub () { int nRead; #pragma omp critical if (nRead3) goto out; out: nRead=4; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42484
[Bug c++/40966] [cxx0x-lambda] ICE
--- Comment #3 from paolo dot carlini at oracle dot com 2009-12-26 22:40 --- Feedback not forthcoming. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40966
[Bug fortran/42484] ICE with -fopenmp
--- Comment #5 from janus at gcc dot gnu dot org 2009-12-26 22:46 --- For the Fortran test case in comment #4, diagnose_sb_2 (omp-low.c) is called six times, with the following statements: * GIMPLE_BIND * GIMPLE_OMP_CRITICAL * GIMPLE_COND * GIMPLE_LABEL * GIMPLE_LABEL * GIMPLE_ASSIGN For the C case, it is called eight times: * GIMPLE_BIND * GIMPLE_OMP_CRITICAL * GIMPLE_COND * GIMPLE_LABEL * GIMPLE_GOTO * GIMPLE_LABEL * GIMPLE_LABEL * GIMPLE_ASSIGN The question is why GIMPLE_GOTO is missing for the Fortran case?!? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42484
[Bug target/42496] wrong if conversion optimization
--- Comment #2 from steven at gcc dot gnu dot org 2009-12-27 00:45 --- *** This bug has been marked as a duplicate of 21803 *** -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42496
[Bug target/21803] [ia64] gcc produces really odd predicated code
--- Comment #3 from steven at gcc dot gnu dot org 2009-12-27 00:45 --- *** Bug 42496 has been marked as a duplicate of this bug. *** -- steven at gcc dot gnu dot org changed: What|Removed |Added CC||carrot at google dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21803
[Bug c++/38837] Compatibilty with MPICH2
--- Comment #3 from paolo dot carlini at oracle dot com 2009-12-27 01:47 --- Feedback not forthcoming. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38837
[Bug c++/41341] gcc fails to reject inclass partial specialization of inherited class template
--- Comment #2 from paolo dot carlini at oracle dot com 2009-12-27 01:54 --- Fixed for 4.5.0, not a regression, closing as fixed. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Known to work||4.5.0 Resolution||WORKSFORME Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41341
[Bug c++/42514] New: Invalid Destructor Name of A Template Class Is Accepted
Obviously the following code of the definition of class destructor is wrong, but it passed g++ 4.4.2 in Fedora 12. However g++ 4.1.2 and g++ 3.4.6 in Fedora 12 reported the error. The testing code is list below: #include iostream template typename T class Base { public: Base(); ~Base(); }; template typename T BaseT::Base() { std::cout Base() std::endl; } template typename T BaseT::~BaseTypo() { std::cout ~BaseTypo() std::endl; } int main() { Baseint* pObj = new Baseint (); delete pObj; return 0; } -- Summary: Invalid Destructor Name of A Template Class Is Accepted Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: shreks2099 at yahoo dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42514