[Bug middle-end/49905] Better sanity checking on sprintf src dest to produce warning for dodgy code ?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49905 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 07:40:29 UTC --- Author: jakub Date: Thu Aug 4 07:40:24 2011 New Revision: 177316 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177316 Log: PR middle-end/49905 * tree.h (init_attributes): New prototype. * attribs.c (init_attributes): No longer static. * decl.c (cxx_init_decl_processing): Add alloc_size (1) attribute for operator new and operator new []. Call init_attributes. * g++.dg/ext/builtin-object-size3.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/builtin-object-size3.C Modified: trunk/gcc/ChangeLog trunk/gcc/attribs.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree.h
[Bug fortran/49638] [OOP] length parameter is ignored when overriding type bound character functions with constant length.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49638 --- Comment #9 from janus at gcc dot gnu.org 2011-08-04 07:41:43 UTC --- Hi Mikael, 4.5.7.3 (type-bound procedure overriding) has: • Either both shall be subroutines or both shall be functions having the same result characteristics (12.3.3). 12.3.3 (Characteristics of function results): If a type parameter of a function result or a bound of a function result array is not a constant expression, the exact dependence on the entities in the expression is a characteristic So the standards asks for same-expression-ness. Whether a compiler should diagnose it is another question. thanks for digging out these references. That makes it pretty clear. I understand reversed operands (for commutative operators) as having an equal exact dependence on the entities. And same for associative operators. Thus it is bound to be very complicated in the general case. Yes, these are the kinds of things that I have also been worrying about. They will complicate matters a bit, but I think one can handle it. About the functions to reuse there is also gfc_dep_compare_expr and its sub-functions (they should handle functions, variables and arithmetic operators). Yes, Tobias already suggested this to me, and indeed it looks very much like what we need here. I don't know however how you will have two corresponding dummy arguments (from different procedures) compare equal. Well, the patch in comment #7 handles this by just comparing the names of the arguments (which have to be the same in overridden procedures, so I this this will be enough): +case EXPR_VARIABLE: + if (strcmp (e1-symtree-n.sym-name, e1-symtree-n.sym-name) != 0) +return FAILURE; gfc_dep_compare_expr relies on a function called 'gfc_are_identical_variables'. This really checks for equal symbols, which is too strict for our case here (so we may add an extra argument to loosen this restriction?). Thanks for the feedback ...
[Bug c/49923] __attribute__((packed)) on ARM is sometimes dropped
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49923 --- Comment #7 from Søren Holm sgh at sgh dot dk 2011-08-04 08:00:14 UTC --- It works on the target too. From my perspective your patch fixes this issue. Thank you very much Martin.
[Bug fortran/49638] [OOP] length parameter is ignored when overriding type bound character functions with constant length.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49638 --- Comment #10 from Tobias Burnus burnus at gcc dot gnu.org 2011-08-04 08:09:26 UTC --- (In reply to comment #9) + if (strcmp (e1-symtree-n.sym-name, e1-symtree-n.sym-name) != 0) That can be done quicker as: if (e1-symtree-n.sym-name == e1-symtree-n.sym-name) well, not in the general case - but as long as gfc_get_string was used to obtain the value.
[Bug ada/47880] Free in System.Pool_Local raises Storage_Error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47880 --- Comment #1 from Arnaud Charlet charlet at gcc dot gnu.org 2011-08-04 08:32:58 UTC --- Author: charlet Date: Thu Aug 4 08:32:54 2011 New Revision: 177332 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177332 Log: 2011-08-04 Thomas Quinot qui...@adacore.com PR ada/47880 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only allocated object. Modified: trunk/gcc/ada/s-pooloc.adb
[Bug ada/47880] Free in System.Pool_Local raises Storage_Error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47880 Arnaud Charlet charlet at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||charlet at gcc dot gnu.org Resolution||FIXED Target Milestone|--- |4.7.0 --- Comment #2 from Arnaud Charlet charlet at gcc dot gnu.org 2011-08-04 08:34:36 UTC --- Fixed
[Bug middle-end/49971] Missing uninitialized warning; may involve return statements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49971 Manuel López-Ibáñez manu at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||manu at gcc dot gnu.org Resolution||DUPLICATE --- Comment #2 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-08-04 08:41:02 UTC --- (In reply to comment #1) This is the standard CCP optimization getting in the way of uninitialized variable warnings. Correct. *** This bug has been marked as a duplicate of bug 18501 ***
[Bug tree-optimization/18501] [4.4/4.5/4.6/4.7 Regression] Missing 'used uninitialized' warning (CCP)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18501 Manuel López-Ibáñez manu at gcc dot gnu.org changed: What|Removed |Added CC||cernekee at gmail dot com --- Comment #54 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-08-04 08:41:02 UTC --- *** Bug 49971 has been marked as a duplicate of this bug. ***
[Bug debug/49951] [4.5/4.6/4.7 Regression] Debug stepping behavior regarding g++ Class destructor has changed for the worse starting at gcc 4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49951 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 08:42:45 UTC --- Started with http://gcc.gnu.org/viewcvs?root=gccview=revrev=149722
[Bug middle-end/49968] ICE in calls.c:3141 / assert after emit_stack_restore
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49968 --- Comment #4 from Ulrich Weigand uweigand at gcc dot gnu.org 2011-08-04 09:10:44 UTC --- Tests have completed now; the patch fixes all regressions introduced by the original commit, and introduced no new ones. Looks good to me.
[Bug tree-optimization/49772] [4.7 Regression] ICE: in ipa_pta_execute, at tree-ssa-structalias.c:6790 with -fipa-pta
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49772 --- Comment #4 from rguenther at suse dot de rguenther at suse dot de 2011-08-04 09:20:21 UTC --- On Wed, 3 Aug 2011, hubicka at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49772 --- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org 2011-08-03 19:57:06 UTC --- Hmm, we should never make the cgrpah point to inline variant in this case, so rest of compilation should go smoothly after the error is output. I don't think it is what is confusing ipa-pta, especially now when it is run after inlining? What happens is that in expand_call_inline we fail the inlining via an error, but at this point of course the edge points to the inline clone and that stays so. I suppose when expand_call_inline fails we have to re-direct the edge to the original function (huh, eventually make sure it is not optimized away as well). Or, finally, _never_ fail that late Richard.
[Bug tree-optimization/49413] over-optimization that causes valid code to segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #10 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 09:35:13 UTC --- There are two camps of users, some want the compiler to treat *(double *) as aligned because, damn, they said so (especially on targets where accessing unaligned data is costly)! Others want the compiler to figure out misalignment properly, thus, treat *(double *) as aligned only if it knows (for sure?). We can't serve both camps. Consider void foo (double *p, double *q, int n) { int i; for (i = 0; i n; ++i) p[i] += q[i]; } do you want the compiler to vectorize the above or not? The C standard says we can assume *p and *q are properly aligned for what the ABI says about doubles. But you say, well, I may als well call this function with some misaligned data where I think the compiler should figure this out for me. Now, I say not so.
[Bug libfortran/49970] make prefix=... install doesn't work
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49970 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 09:36:28 UTC --- libtool bug.
[Bug middle-end/49969] not vectorized: data ref analysis failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49969 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.08.04 09:44:45 CC||spop at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 09:44:45 UTC --- Well, that's because the evolution of D.1565_31 is {{(stride.2_11 + offset.3_21) + 1, +, 1}_1, +, stride.2_11}_2 the loop needs interchange to be vectorized, but that doesn't work either (no idea for the reason - the .graphite dump isn't very informative here, well, maybe it runs into the exactly same issue and already gives up?) Sebastian? Confirmed anyway. Supposed to be vectorized with -floop-interchange.
[Bug rtl-optimization/49972] New: Invalid .gcc_except_table with -freorder-blocks-and-partition
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49972 Summary: Invalid .gcc_except_table with -freorder-blocks-and-partition Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: amo...@gmail.com /home/amodra/build/gcc-curr/gcc/testsuite/g++/../../g++ -B/home/amodra/build/gcc-curr/gcc/testsuite/g++/../../ /home/amodra/src/gcc-current/gcc/testsuite/g++. dg/tree-prof/partition2.C -nostdinc++ -I/home/amodra/build/gcc-curr/powerpc-linux/64/libstdc++-v3/include/powerpc-linux -I/home/amodra/build/gcc-curr/powerpc-linux/ 64/libstdc++-v3/include -I/home/amodra/src/gcc-current/libstdc++-v3/libsupc++ -I/home/amodra/src/gcc-current/libstdc++-v3/include/backward -I/home/amodra/src/gcc-cu rrent/libstdc++-v3/testsuite/util -fmessage-length=0 -Os -fnon-call-exceptions -freorder-blocks-and-partition -fprofile-use -L/home/amodra/build/gcc-curr/powerpc-li nux/64/libstdc++-v3/src/.libs -B/home/amodra/build/gcc-curr/powerpc-linux/64/libstdc++-v3/src/.libs -L/home/amodra/build/gcc-curr/powerpc-linux/64/libstdc++-v3/src/ .libs -lm -m64 -o /home/amodra/build/gcc-curr/gcc/testsuite/g++/partition2.x62 /tmp/ccMQV8TI.s: Assembler messages: /tmp/ccMQV8TI.s:105: Error: invalid operands (.text.unlikely and .text.startup sections) for `-' /home/amodra/gnu/powerpc-linux/bin/as: BFD (GNU Binutils) 2.21.52.20110621 assertion fail /home/amodra/src/binutils-current/bfd/elf.c:2826 g++: internal compiler error: Segmentation fault (program as)
[Bug rtl-optimization/49972] Invalid .gcc_except_table with -freorder-blocks-and-partition
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49972 --- Comment #1 from Alan Modra amodra at gmail dot com 2011-08-04 10:08:58 UTC --- Created attachment 24913 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24913 faulty assembly
[Bug ada/49944] [4.5/4.6/4.7 regression] Bootstrapping on x86_64-pc-kfreebsd-gnu fails with s-taprop.adb:856:10: pthread_attr_setaffinity_np is undefined (more references follow)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49944 --- Comment #5 from Ludovic Brenta ludo...@ludovic-brenta.org 2011-08-04 10:21:20 UTC --- OK, here is another patch which changes GCC to use s-taprop-posix.ad[bs] on GNU/kFreeBSD. The changes in s-osinte-kfreebsd-gnu.ads are more extensive than in the previous patch I sent to gcc-patches; they greatly reduce the difference between s-osinte-kfreebsd-gnu.ads and s-osinte-freebsd.ads. http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00440.html
[Bug c++/49973] New: Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 Summary: Column numbers count special characters as multiple columns Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: timothy...@msn.com int main() { /* 中 */ asdf; } g++ -finput-charset=utf8 hello.cpp hello.cpp: In function ‘int main()’: hello.cpp:3:12: error: ‘asdf’ was not declared in this scope The column number should be 10, not 12.
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 10:27:53 UTC --- Depends on how the column numbers are defined. I think gcc uses bytes from the beginning of the line, then 12 is correct (and e.g. for tab characters gcc counts them as one instead of 1-8 depending on position too).
[Bug rtl-optimization/49972] Invalid .gcc_except_table with -freorder-blocks-and-partition
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49972 --- Comment #2 from Alan Modra amodra at gmail dot com 2011-08-04 10:34:27 UTC --- Entries in the call-site table for start of the instructions for the current call site, and the pointer to the landing pad for this sequence of instructions, are byte offsets from the landing pad base. This basically means the landing pad base, the landing pads, and call sites must all be in the same section.
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 --- Comment #2 from Timothy Liang timothy003 at msn dot com 2011-08-04 10:36:53 UTC --- (In reply to comment #1) Depends on how the column numbers are defined. I think gcc uses bytes from the beginning of the line, then 12 is correct (and e.g. for tab characters gcc counts them as one instead of 1-8 depending on position too). That isn't the case here. Substituting the '中' for another character makes the column number 10. Setting -finput-charset=latin1 makes the column number 15.
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 --- Comment #3 from Andreas Schwab sch...@linux-m68k.org 2011-08-04 10:55:13 UTC --- Why 10? /* 中 */ has 12 characters (and 14 bytes as utf8).
[Bug libgomp/48841] [regression] lot more libgomp testsuite failures compared to 4.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48841 --- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-08-04 10:55:04 UTC --- Okay... did the plain configure and make and no relative path, and watching my 4.6.1 make -k check - I'll be summiting the result later to the testsuite mailing list; but it is currently spilling a lot of Unaligned access pid=353493 a.28.1.exe va=0x14000ad5e pc=0x3ff81006d00 ra=0x3ff81006c44 inst=0xb3e9 --- messages, with a different ?.exe. and I looked, and it is currently doing make check inside libgomp . So it looks like there was some kind of alignment regression after 4.4.5 . This is not a regression, but a bug inside librt. Already reported (PR libgomp/45351) and worked around for gcc 4.7.0. Rainer
[Bug libgomp/48841] [regression] lot more libgomp testsuite failures compared to 4.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48841 --- Comment #9 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-08-04 10:56:24 UTC --- Please ignore last comment 6. With 4.6.1: === libgomp Summary === # of expected passes2586 # of unsupported tests3 So the problem is not seen in 4.6.1. It is, but the unaligned accesses are fixed up by the kernel, so this just gives (admittedly ugly) warnings, no errors/failures. Rainer
[Bug fortran/49638] [OOP] length parameter is ignored when overriding type bound character functions with constant length.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49638 --- Comment #11 from janus at gcc dot gnu.org 2011-08-04 10:59:18 UTC --- (In reply to comment #10) (In reply to comment #9) + if (strcmp (e1-symtree-n.sym-name, e1-symtree-n.sym-name) != 0) That can be done quicker as: if (e1-symtree-n.sym-name == e1-symtree-n.sym-name) well, not in the general case - but as long as gfc_get_string was used to obtain the value. Can we be sure that this is the case? With the strcmp we should be on the safe side. And of course there is a typo above: One of the 'e1's should be an 'e2'!
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 --- Comment #4 from Timothy Liang timothy003 at msn dot com 2011-08-04 11:03:32 UTC --- (In reply to comment #3) Why 10? /* 中 */ has 12 characters (and 14 bytes as utf8). The four spaces is supposed to be a tab. Also, the column number starts from one. So: /* 中 */ asdf | 1234567890 Since I set the input charset as UTF-8, g++ should count the '中' as one character, not three. And when I set it to latin1, g++ should count the '中' as three, not six.
[Bug fortran/49638] [OOP] length parameter is ignored when overriding type bound character functions with constant length.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49638 --- Comment #12 from Mikael Morin mikael at gcc dot gnu.org 2011-08-04 11:14:36 UTC --- If we are willing to do some simple expression comparisons, here is what I think should be supported (most common cases): - constants: this is the minimum - variables/dummies: for the case len=n - sub-components: for the case len=derived%char_length_comp - function calls: for the case len=len(some_char) - arithmetic operators: for the case len=n+1 So, only missing in your preliminary patch are sub-components and function. (In reply to comment #9) I don't know however how you will have two corresponding dummy arguments (from different procedures) compare equal. Well, the patch in comment #7 handles this by just comparing the names of the arguments (which have to be the same in overridden procedures, so I this this will be enough): +case EXPR_VARIABLE: + if (strcmp (e1-symtree-n.sym-name, e1-symtree-n.sym-name) != 0) +return FAILURE; Ah, yes. gfc_dep_compare_expr relies on a function called 'gfc_are_identical_variables'. This really checks for equal symbols, which is too strict for our case here (so we may add an extra argument to loosen this restriction?). Yes, makes sense. Then you have components and functions almost for free.
[Bug fortran/49638] [OOP] length parameter is ignored when overriding type bound character functions with constant length.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49638 --- Comment #13 from Mikael Morin mikael at gcc dot gnu.org 2011-08-04 11:16:41 UTC --- (In reply to comment #11) (In reply to comment #10) (In reply to comment #9) + if (strcmp (e1-symtree-n.sym-name, e1-symtree-n.sym-name) != 0) That can be done quicker as: if (e1-symtree-n.sym-name == e1-symtree-n.sym-name) well, not in the general case - but as long as gfc_get_string was used to obtain the value. Can we be sure that this is the case? With the strcmp we should be on the safe side. If it's not the case there is a bug. ;-)
[Bug debug/48220] DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48220 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 11:51:19 UTC --- Fixed.
[Bug debug/49901] gfortran.dg/debug/[pr35154-dwarf2.f/pr37738.f] failures on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49901 --- Comment #3 from Iain Sandoe iains at gcc dot gnu.org 2011-08-04 12:10:36 UTC --- Created attachment 24914 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24914 fix PR49901 The output from the tests is a little misleading. These tests also set other flags in addition to those listed; including -gno-strict-dwarf ... ... which exposes the Darwin back-end to the new .debug_macro section, for which it has no suitable section description. Choices; 1) skip the tests on Darwin. 2) provide the section - although that doesn't imply that the remainder of the tool-chain will do anything useful with it. Here's an untested patch for choice 2.
[Bug debug/49901] gfortran.dg/debug/[pr35154-dwarf2.f/pr37738.f] failures on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49901 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 12:16:48 UTC --- If the tests succeed, I think your patch is good. Users that use -gno-strict-dwarf on Darwin must know what they are doing.
[Bug rtl-optimization/49686] [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49686 --- Comment #6 from Kazumoto Kojima kkojima at gcc dot gnu.org 2011-08-04 12:18:09 UTC --- It seems that the problem comes back on trunk revision 177305 for SH. There are many EH test failures which went away with -fno-delayed-branch and the testcase in #1 is assembled to foo: .LFB0: tstr4,r4 bt/s.L2 sts.lpr,@-r15 mov.l.L3,r0 jsr@r0 nop with -O1 -fexceptions -fnon-call-exceptions.
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 Manuel López-Ibáñez manu at gcc dot gnu.org changed: What|Removed |Added CC||manu at gcc dot gnu.org --- Comment #5 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-08-04 12:18:19 UTC --- GNU Emacs 23.2.1 counts it as two, and puts the cursor at s. For the simpler case of: /* ñ */ asdf; we print test.c:3:10: error: ‘asdf’ was not declared in this scope whereas emacs counts only 1 char, so it again puts the cursor at s. I am not sure whether Emacs is following some GNU standard, but the case of ñ versus n, should at least produce the same result. Unfortunately, I don't have time to work on this.
[Bug c++/49974] New: missing warning for indirectly returning reference to local/temporary
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49974 Summary: missing warning for indirectly returning reference to local/temporary Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org Although probably not easy, it would be useful to get warnings from this code which creates dangling references: struct X { }; inline const X f(const X r) { return r; } const X g() { X x; return f(x); // !!! } const X h() { return f(X()); // !!! } Another case involves a reference as a member of a class: struct Y { Y(int i) : r(i) { } int r; }; Y f() { int i=0; return Y(i); }
[Bug tree-optimization/49957] Fails to SLP in 410.bwaves
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49957 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.7.0 --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 12:23:10 UTC --- Fixed.
[Bug tree-optimization/49957] Fails to SLP in 410.bwaves
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49957 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 12:22:47 UTC --- Author: rguenth Date: Thu Aug 4 12:22:42 2011 New Revision: 177368 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177368 Log: 2011-08-04 Richard Guenther rguent...@suse.de PR fortran/49957 * trans-array.c (add_to_offset): New function. (gfc_conv_array_ref): Build the array index expression in optimally associated order. (gfc_walk_variable_expr): Adjust for the backward walk. * gfortran.dg/vect/O3-pr49957.f: New testcase. Added: trunk/gcc/testsuite/gfortran.dg/vect/O3-pr49957.f Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-array.c trunk/gcc/testsuite/ChangeLog
[Bug c++/49974] missing warning for indirectly returning reference to local/temporary
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49974 Manuel López-Ibáñez manu at gcc dot gnu.org changed: What|Removed |Added CC||manu at gcc dot gnu.org --- Comment #1 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-08-04 12:29:21 UTC --- Isn't this related to PR986?
[Bug rtl-optimization/38644] [4.4/4.5/4.6/4.7 Regression] Optimization flag -O1 -fschedule-insns2 causes wrong code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38644 --- Comment #37 from Sebastian Huber sebastian.hu...@embedded-brains.de 2011-08-04 12:30:29 UTC --- Is this problem also related to this bug (GCC 4.6.1 20110627) with comments inside: objdump -d -C /opt/rtems-4.11/lib/gcc/arm-rtems4.11/4.6.1/thumb/vfp/libstdc++.a | grep -A 94 new_opnt.o new_opnt.o: file format elf32-littlearm Disassembly of section .text._ZnwmRKSt9nothrow_t: operator new(unsigned long, std::nothrow_t const): 0: b5f0push{r4, r5, r6, r7, lr} 2: 465fmov r7, fp 4: 4656mov r6, sl 6: 464dmov r5, r9 8: 4644mov r4, r8 a: b4f0push{r4, r5, r6, r7} c: b090sub sp, #64 ; 0x40 e: 4b2aldr r3, [pc, #168] ; (b8 operator new(unsigned long, std::nothrow_t const)+0xb8) 10: af00add r7, sp, #0 12: 627bstr r3, [r7, #36] ; 0x24 14: 4b29ldr r3, [pc, #164] ; (bc operator new(unsigned long, std::nothrow_t const)+0xbc) 16: 62bbstr r3, [r7, #40] ; 0x28 18: 4b29ldr r3, [pc, #164] ; (c0 operator new(unsigned long, std::nothrow_t const)+0xc0) 1a: 6078str r0, [r7, #4] 1c: 2240movsr2, #64 ; 0x40 1e: 1c38addsr0, r7, #0 20: 19d2addsr2, r2, r7 22: 633bstr r3, [r7, #48] ; 0x30 24: 300caddsr0, #12 26: 466bmov r3, sp 28: 62fastr r2, [r7, #44] ; 0x2c 2a: 637bstr r3, [r7, #52] ; 0x34 2c: f7ff fffe bl 0 _Unwind_SjLj_Register 30: 687aldr r2, [r7, #4] 32: 2a00cmp r2, #0 34: d101bne.n 3a operator new(unsigned long, std::nothrow_t const)+0x3a 36: 2301movsr3, #1 38: 607bstr r3, [r7, #4] 3a: 6878ldr r0, [r7, #4] 3c: f7ff fffe bl 0 malloc 40: 6038str r0, [r7, #0] 42: 2800cmp r0, #0 44: d123bne.n 8e operator new(unsigned long, std::nothrow_t const)+0x8e 46: 4a1fldr r2, [pc, #124] ; (c4 operator new(unsigned long, std::nothrow_t const)+0xc4) 48: 6813ldr r3, [r2, #0] 4a: 2b00cmp r3, #0 4c: d104bne.n 58 operator new(unsigned long, std::nothrow_t const)+0x58 4e: e021b.n 94 operator new(unsigned long, std::nothrow_t const)+0x94 50: 4a1cldr r2, [pc, #112] ; (c4 operator new(unsigned long, std::nothrow_t const)+0xc4) 52: 6813ldr r3, [r2, #0] 54: 2b00cmp r3, #0 56: d009beq.n 6c operator new(unsigned long, std::nothrow_t const)+0x6c 58: 2201movsr2, #1 5a: 613astr r2, [r7, #16] 5c: f000 f834 bl c8 operator new(unsigned long, std::nothrow_t const)+0xc8 60: 6878ldr r0, [r7, #4] 62: f7ff fffe bl 0 malloc 66: 60b8str r0, [r7, #8] 68: 2800cmp r0, #0 6a: d0f1beq.n 50 operator new(unsigned long, std::nothrow_t const)+0x50 6c: 1c38addsr0, r7, #0 6e: 300caddsr0, #12 70: f7ff fffe bl 0 _Unwind_SjLj_Unregister BAD CODE BEGIN 74: 46bdmov sp, r7 r7 is now the current stack pointer. 76: b010add sp, #64 ; 0x40 Current stack frame is free now, r7 points to obsolete stack frame. 78: 68b8ldr r0, [r7, #8] Here we read from the stack frame freed previously. This is a disaster in multi-threaded environments, because the exception code will use the stack of an interrupted thread. BAD CODE END 7a: bc3cpop {r2, r3, r4, r5} 7c: 4690mov r8, r2 7e: 4699mov r9, r3 80: 46a2mov sl, r4 82: 46abmov fp, r5 84: bdf0pop {r4, r5, r6, r7, pc} 86: f7ff fffe bl 0 __cxa_begin_catch 8a: f7ff fffe bl 0 __cxa_end_catch 8e: 683bldr r3, [r7, #0] 90: 60bbstr r3, [r7, #8] 92: e7ebb.n 6c operator new(unsigned long, std::nothrow_t const)+0x6c 94: 2200movsr2, #0 96: 60bastr r2, [r7, #8] 98: e7e8b.n 6c operator new(unsigned long, std::nothrow_t const)+0x6c 9a: 3f40subsr7, #64 ; 0x40 9c: 69bbldr r3, [r7, #24] 9e: 6978ldr r0, [r7, #20] a0: 2b01cmp r3, #1 a2: d0f0beq.n 86 operator new(unsigned long, std::nothrow_t const)+0x86 a4: 1c5aaddsr2, r3, #1 a6:
[Bug c++/49974] missing warning for indirectly returning reference to local/temporary
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49974 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Severity|normal |enhancement --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-04 12:40:15 UTC --- Maybe related, but not the same. PR986 involves creating a temporary and binding the reference to it, that should be easier to warn about. Here's a similar case to PR986 where a reference member is dangling after the constructor, which we fail to warn about: struct Y { Y(int local) : ref(local) { } int ref; }; That, and the example in 986, should be easy to warn about. When the reference is bound we can know if the initializer is local/temporary. This PR is different, the references passed to f and Y::Y are valid during those calls. The reference only becomes invalid when it escapes from the function that declares the local variable. This requires some more complex analysis, only possible if the bodies of f and Y::Y are visible, and maybe only possible with optimization enabled so inlining happens.
[Bug c++/49974] missing warning for indirectly returning reference to local/temporary
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49974 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.08.04 12:48:48 Ever Confirmed|0 |1 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 12:48:48 UTC --- You could try to rely on points-to information. When it says that all possible pointees are automatic variable it's for sure an error (or a points-to bug).
[Bug c++/986] g++ misses warning for reference on temporary that invokes undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=986 --- Comment #31 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-04 13:01:31 UTC --- A similar case I've just added to a comment of PR 49974 struct Y { Y(int local) : ref(local) { } int ref; }; The reference is dangling as soon as the constructor exits, but in this case it's bound to a block-scope function parameter with automatic storage duration, not to a temporary. I would imagine this could be caught in perform_member_init() by checking if the member has reference type, then if the initializer has the same type but DECL_FUNCTION_SCOPE_P is true warn about binding to a local. But I haven't tried to do that.
[Bug c/49966] gcc.c-torture/execute/pr45034.c execution timeouts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49966 --- Comment #3 from Iain Sandoe iains at gcc dot gnu.org 2011-08-04 13:09:05 UTC --- NOT seen on: i686-darwin9 @r177287 xcode 3.1.4 x86_64-darwin10 @177314 xcode 3.2.5 x86_64-darwin10 @177355 xcdoe 3.2.6 is this still affecting darwin11?
[Bug c/49975] New: warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 Summary: warn on malformed __attribute((...))__ Product: gcc Version: unknown Status: UNCONFIRMED Severity: minor Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: e...@sidvind.com Recently I ran into a linker error multiple definition of `__' which was caused by struct with a IMO malformed attribute. Consider the following struct in a header: struct foo { int bar; } __attribute((unused))__; At a first glance it seems like there is nothing wrong here but since the __ is placed after )) it happily creates an uninitialized global called __. This global will then be created in multiple files and when linking will lead to the multiple definition error. First of all, I think whitespace should be required after )) to make it really clear what is going happen. Secondly I don't think __attribute(( should work at all since the documentation states that __attribute__ is the keyword. I've tried this with many different versions of gcc (including older versions like gcc-3.3) and they all have this behaviour.
[Bug c/49975] warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 13:26:29 UTC --- The above is a perfectly valid program, so we shouldn't reject it IMNSHO. __attribute((...)) is a supported alternate spelling of __attribute__((...)).
[Bug rtl-optimization/49686] [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49686 --- Comment #7 from Hans-Peter Nilsson hp at gcc dot gnu.org 2011-08-04 13:30:48 UTC --- (In reply to comment #6) It seems that the problem comes back on trunk revision 177305 for SH. At a glance that may have happened for cris-elf too, worked r177217, (additional) regressions observed r177225, still there r177330: g++.sum g++.dg/torture/pr49115.C libstdc++.sum 23_containers/unordered_map/requirements/exception/basic.cc libstdc++.sum 23_containers/unordered_multimap/requirements/exception/basic.cc libstdc++.sum 27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc libstdc++.sum 27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc Maybe open a new PR?
[Bug c++/49976] New: Cross (Linux-AIX) GCC crashes with Segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49976 Summary: Cross (Linux-AIX) GCC crashes with Segmentation fault Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ba...@list.ru I am using GCC 4.6.1 on Linux x86_64 to build images for AIX 5.2. It crashes on specific file from ACE 5.6.8 library. Command line * /emc/sukhav/cross/aix/bin/powerpc-ibm-aix5.2.0.0-g++ -pthread -W -Wall -DACE_AIX_VERS=502 -maix32 -O2 -g -O2 -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -I/emc/sukhav/cross/aix/ACE_wrappers -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -I.. -DACE_BUILD_DLL -c -o Log_Msg.o -save-temps -v Log_Msg.cpp Output *** Using built-in specs. COLLECT_GCC=/emc/sukhav/cross/aix/bin/powerpc-ibm-aix5.2.0.0-g++ COLLECT_LTO_WRAPPER=/home/sukhav/cross/aix/bin/../libexec/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/lto-wrapper Target: powerpc-ibm-aix5.2.0.0 Configured with: ../../gcc-4.6.1/configure --prefix=/emc/sukhav/cross/aix --with-sysroot=/emc/sukhav/cross/aix/sysroot --target=powerpc-ibm-aix5.2.0.0 --with-gnu-ld --with-gnu-as --enable-languages=c,c++ Thread model: aix gcc version 4.6.1 (GCC) COLLECT_GCC_OPTIONS='-pthread' '-Wextra' '-Wall' '-D' 'ACE_AIX_VERS=502' '-maix32' '-O2' '-g' '-O2' '-D' 'ACE_HAS_CUSTOM_EXPORT_MACROS=0' '-I' '/emc/sukhav/cross/aix/ACE_wrappers' '-D' 'ACE_HAS_EXCEPTIONS' '-D' '__ACE_INLINE__' '-I' '..' '-D' 'ACE_BUILD_DLL' '-c' '-o' 'Log_Msg.o' '-save-temps' '-v' '-shared-libgcc' /home/sukhav/cross/aix/bin/../libexec/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/cc1plus -E -quiet -v -I /emc/sukhav/cross/aix/ACE_wrappers -I .. -imultilib pthread -iprefix /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/ -isysroot /home/sukhav/cross/aix/bin/../sysroot -D_ALL_SOURCE -D_THREAD_SAFE -D ACE_AIX_VERS=502 -D ACE_HAS_CUSTOM_EXPORT_MACROS=0 -D ACE_HAS_EXCEPTIONS -D __ACE_INLINE__ -D ACE_BUILD_DLL Log_Msg.cpp -maix32 -Wextra -Wall -g -fworking-directory -O2 -O2 -fpch-preprocess -o Log_Msg.ii ignoring duplicate directory /home/sukhav/cross/aix/bin/../lib/gcc/../../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include/c++/4.6.1 ignoring duplicate directory /home/sukhav/cross/aix/bin/../lib/gcc/../../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include/c++/4.6.1/powerpc-ibm-aix5.2.0.0/pthread ignoring duplicate directory /home/sukhav/cross/aix/bin/../lib/gcc/../../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include/c++/4.6.1/backward ignoring duplicate directory /home/sukhav/cross/aix/bin/../lib/gcc/../../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/include ignoring nonexistent directory /home/sukhav/cross/aix/bin/../sysroot/usr/local/include ignoring duplicate directory /home/sukhav/cross/aix/bin/../lib/gcc/../../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/include-fixed ignoring duplicate directory /home/sukhav/cross/aix/bin/../lib/gcc/../../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include ignoring duplicate directory .. #include ... search starts here: #include ... search starts here: /emc/sukhav/cross/aix/ACE_wrappers /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include/c++/4.6.1 /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include/c++/4.6.1/powerpc-ibm-aix5.2.0.0/pthread /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include/c++/4.6.1/backward /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/include /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/include-fixed /home/sukhav/cross/aix/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/../../../../powerpc-ibm-aix5.2.0.0/include /home/sukhav/cross/aix/bin/../sysroot/usr/include End of search list. COLLECT_GCC_OPTIONS='-pthread' '-Wextra' '-Wall' '-D' 'ACE_AIX_VERS=502' '-maix32' '-O2' '-g' '-O2' '-D' 'ACE_HAS_CUSTOM_EXPORT_MACROS=0' '-I' '/emc/sukhav/cross/aix/ACE_wrappers' '-D' 'ACE_HAS_EXCEPTIONS' '-D' '__ACE_INLINE__' '-I' '..' '-D' 'ACE_BUILD_DLL' '-c' '-o' 'Log_Msg.o' '-save-temps' '-v' '-shared-libgcc' /home/sukhav/cross/aix/bin/../libexec/gcc/powerpc-ibm-aix5.2.0.0/4.6.1/cc1plus -fpreprocessed Log_Msg.ii -quiet -dumpbase Log_Msg.cpp -maix32 -auxbase-strip Log_Msg.o -g -O2 -O2 -Wextra -Wall -version -o Log_Msg.s GNU C++ (GCC) version 4.6.1 (powerpc-ibm-aix5.2.0.0) compiled by GNU C version 4.3.2, GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++ (GCC) version 4.6.1 (powerpc-ibm-aix5.2.0.0) compiled by GNU C version 4.3.2, GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.8.2 GGC heuristics:
[Bug c/49975] warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 --- Comment #2 from David Sveningsson ext at sidvind dot com 2011-08-04 13:33:21 UTC --- Might be valid, but confusing. If whitespace were required after )) it would make more sense as it is clear that a global is created. As the documentation states that __attribute__ is the keyword, I think a warning would be appropriate even if it is retained for compatibility.
[Bug c++/49976] Cross (Linux-AIX) GCC crashes with Segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49976 --- Comment #1 from Vasily basil at list dot ru 2011-08-04 13:37:27 UTC --- Created attachment 24915 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24915 compressed preprocessed file
[Bug tree-optimization/49768] [4.6/4.7 Regression] C99 style union initializations does not work as expected with optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49768 --- Comment #10 from Valtteri Rahkonen vrahkone at gmail dot com 2011-08-04 13:44:38 UTC --- I tested latest gcc 4.6.1 from Debian unstable containing the patch and it seems to work. I'm not going to dare to mark this as verified though because I don't know your bugzilla policies ;). Thanks.
[Bug c/49975] warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 --- Comment #3 from Andreas Schwab sch...@linux-m68k.org 2011-08-04 13:45:13 UTC --- It doesn't make sense to require whitespace after a paren, that will likely break a lot of programs.
[Bug c/49975] warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 --- Comment #4 from David Sveningsson ext at sidvind dot com 2011-08-04 13:48:55 UTC --- (In reply to comment #3) It doesn't make sense to require whitespace after a paren, that will likely break a lot of programs. In this quite specific case? __attribute((..))foo makes no sense to me and I am surprised it is even legal code.
[Bug c/49975] warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 13:49:22 UTC --- And similarly warning for __attribute(()) form, e.g. X11/Xfuncproto.h header uses it.
[Bug target/49868] Implement named address space to place/access data in flash memory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49868 --- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-08-04 13:51:28 UTC --- Created attachment 24916 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24916 Draft work on AS against r177314 This is just an update of my local work on a named address support for AVR. There are still problems, see http://gcc.gnu.org/ml/gcc/2011-08/msg00083.html http://gcc.gnu.org/ml/gcc/2011-08/msg00095.html
[Bug c/49975] warn on malformed __attribute((...))__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49975 --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-04 13:56:46 UTC --- Google codesearch shows __attribute is used widely in the android kernel and many other places. Whitespace is not significant in C, it would be strange for ))foo to be different to )) foo, and of course )), and )); must be allowed.
[Bug rtl-optimization/49686] [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49686 --- Comment #8 from Kazumoto Kojima kkojima at gcc dot gnu.org 2011-08-04 13:57:14 UTC --- Thanks for checking cris-elf. I'd like to open a new PR.
[Bug rtl-optimization/49977] New: [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49977 Summary: [4.7 Regression] CFI notes are missed for delayed slot Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: kkoj...@gcc.gnu.org CC: r...@gcc.gnu.org, h...@gcc.gnu.org Target: sh4-unknown-linux-gnu, cris-elf Many EH tests fail on SH and CRIS. These failures went away with -fno-delayed-branch on SH. The symptoms are quite similar to those of PR49686.
[Bug middle-end/49806] [4.7 Regression] FAIL: gcc.dg/tree-ssa/vrp47.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49806 --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-08-04 14:11:35 UTC --- Author: rguenth Date: Thu Aug 4 14:11:30 2011 New Revision: 177392 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177392 Log: 2011-08-04 Richard Guenther rguent...@suse.de PR tree-optimization/49806 * tree-vrp.c (op_with_boolean_value_range_p): New function. (simplify_truth_ops_using_ranges): Simplify. Allow inserting a new statement for a final conversion to bool. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-vrp.c
[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773 Marc Glisse marc.glisse at normalesup dot org changed: What|Removed |Added Attachment #24874|0 |1 is obsolete|| --- Comment #107 from Marc Glisse marc.glisse at normalesup dot org 2011-08-04 14:20:12 UTC --- Created attachment 24917 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24917 tested patch I tested this patch on S10 (the headers are really the same as in S11) and it doesn't seem to cause unexpected failures in libstdc++. The mangling patch, on the other hand, is broken: it forgets const, for example in const std::tm*. I am not sure what I am doing wrong (I basically copied the code used to give a special mangling to std::string). The list of all structs in namespace std is: div_t, lconv, ldiv_t, tm.
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 --- Comment #6 from joseph at codesourcery dot com joseph at codesourcery dot com 2011-08-04 14:38:16 UTC --- The GCS says column numbers should start from 1 at the beginning of the line ... Calculate column numbers assuming that space and all ASCII printing characters have equal width, and assuming tab stops every 8 columns.. This doesn't say how other characters should be counted, although for the results of wcswidth seem appropriate.
[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773 --- Comment #108 from Paolo Carlini paolo.carlini at oracle dot com 2011-08-04 14:40:21 UTC --- Excellent. Can we sort out separately with C++ front-end people like Jason this mangling (and demangling too, I suppose) issue? If I understand correctly it's something which we are going to need for C++11 anyway, right?
[Bug tree-optimization/49948] ICE with -ftree-parallelize-loops: address taken, but ADDRESSABLE bit not set
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49948 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added AssignedTo|rguenth at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 14:42:17 UTC --- Fixed for 4.6+ so far.
[Bug tree-optimization/49712] internal compiler error: in gen_lsm_tmp_name, at tree-ssa-loop-im.c:2048
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49712 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2011-08-04 15:17:44 UTC --- Fixed.
[Bug fortran/49638] [OOP] length parameter is ignored when overriding type bound character functions with constant length.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49638 kargl at gcc dot gnu.org changed: What|Removed |Added CC||kargl at gcc dot gnu.org --- Comment #14 from kargl at gcc dot gnu.org 2011-08-04 15:18:43 UTC --- (In reply to comment #10) (In reply to comment #9) + if (strcmp (e1-symtree-n.sym-name, e1-symtree-n.sym-name) != 0) That can be done quicker as: if (e1-symtree-n.sym-name == e1-symtree-n.sym-name) well, not in the general case - but as long as gfc_get_string was used to obtain the value. Hopefully, the above is optimized away by the c compiler. I suspect that one of the 'e1' should be an 'e2'.
[Bug c++/49973] Column numbers count special characters as multiple columns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49973 Manuel López-Ibáñez manu at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.08.04 15:18:20 Ever Confirmed|0 |1 --- Comment #7 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-08-04 15:18:20 UTC --- (In reply to comment #6) The GCS says column numbers should start from 1 at the beginning of the line ... Calculate column numbers assuming that space and all ASCII printing characters have equal width, and assuming tab stops every 8 columns.. This doesn't say how other characters should be counted, although for the results of wcswidth seem appropriate. Then GCC is not using wcswidth to count or it is setting the locale inappropriately because it is counting 2 for ñ and 3 for 中, while it should be 1 and 2.
[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773 --- Comment #109 from Marc Glisse marc.glisse at normalesup dot org 2011-08-04 15:21:36 UTC --- (In reply to comment #108) Excellent. Can we sort out separately with C++ front-end people like Jason this mangling (and demangling too, I suppose) issue? Yes. There are independent pieces: *fixincludes *libstdc++ *mangling and libcpp is the big red button that can only be pressed at the end. None of the changes should have any noticable effect as long as we haven't pressed the red button. If I understand correctly it's something which we are going to need for C++11 anyway, right? Ah, no. It is something we only need if we want to keep binary compatibility between __cplusplus=1 and __cplusplus=199711L binaries on Solaris. As soon as we break the ABI (libstdc++-v7?), it should be reverted as useless. About demangling, I don't know if we wan't to change it (and it would have to be Solaris-only). std::tm will be printed as tm, but that doesn't seem so bad... PS: wasn't there a discussion some time ago about adding macros like __SunOS_5_10 (name taken from sunpro) so we can detect the Solaris version?
[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773 --- Comment #110 from Paolo Carlini paolo.carlini at oracle dot com 2011-08-04 15:29:58 UTC --- Yes. There are independent pieces: *fixincludes *libstdc++ *mangling and libcpp is the big red button that can only be pressed at the end. None of the changes should have any noticable effect as long as we haven't pressed the red button. This is very, very good, thanks. If I understand correctly it's something which we are going to need for C++11 anyway, right? Ah, no. It is something we only need if we want to keep binary compatibility between __cplusplus=1 and __cplusplus=199711L binaries on Solaris. As soon as we break the ABI (libstdc++-v7?), it should be reverted as useless. I think we really need some feedback from Rainer, then. Sorry, but it's the first time I see the mangling machinery at issue only for a specific target. At some point we'll have to involve the front-end people anyway, because the code lives in cp/. About demangling, I don't know if we wan't to change it (and it would have to be Solaris-only). std::tm will be printed as tm, but that doesn't seem so bad... Ok. PS: wasn't there a discussion some time ago about adding macros like __SunOS_5_10 (name taken from sunpro) so we can detect the Solaris version? Rainer?
[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773 --- Comment #111 from Marc Glisse marc.glisse at normalesup dot org 2011-08-04 15:38:52 UTC --- (In reply to comment #110) Ah, no. It is something we only need if we want to keep binary compatibility between __cplusplus=1 and __cplusplus=199711L binaries on Solaris. As soon as we break the ABI (libstdc++-v7?), it should be reverted as useless. I think we really need some feedback from Rainer, then. Sorry, but it's the first time I see the mangling machinery at issue only for a specific target. At some point we'll have to involve the front-end people anyway, because the code lives in cp/. Well, it's not everyday you move struct tm from the global namespace to namespace std... I can't think of many ways to keep binary compatibility with such a change, except through mangling. And I don't think people would be happy if we broke binary compatibility on Solaris just so we can set __cplusplus. More fixinclude doesn't sound very good either.
[Bug middle-end/49968] ICE in calls.c:3141 / assert after emit_stack_restore
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49968 --- Comment #5 from Richard Henderson rth at gcc dot gnu.org 2011-08-04 15:39:43 UTC --- Author: rth Date: Thu Aug 4 15:39:40 2011 New Revision: 177404 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177404 Log: PR middle-end/49968 * calls.c (expand_call): Use fixup_args_size_notes for emit_stack_restore. * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets in non-standard modes. Modified: trunk/gcc/ChangeLog trunk/gcc/calls.c trunk/gcc/expr.c
[Bug bootstrap/49964] Bootstrap failed with AVX turned on
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49964 --- Comment #9 from Richard Henderson rth at gcc dot gnu.org 2011-08-04 15:47:50 UTC --- Author: rth Date: Thu Aug 4 15:47:42 2011 New Revision: 177408 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177408 Log: PR target/49964 * config/i386/i386.c (ix86_expand_call): Don't create nested PARALLELs for TARGET_VZEROUPPER. (ix86_split_call_vzeroupper): Fix extraction of the original call. * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't recognize nested PARALLELs. (*call_pop_vzeroupper, *sibcall_pop_vzeroupper, *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper, *sibcall_value_pop_vzeroupper): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.md
[Bug ada/49084] [4.7 regression] bootstrap failure with Ada enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49084 --- Comment #6 from Anh Vo anhvofrcaus at gmail dot com 2011-08-04 16:01:59 UTC --- The configuration --enable-languages=ada --without-build-config --disable-werror was used. Now it causes gcc to fail when configuration --enable-languages=ada,c,c++ is used. Below is the trailing error message. [...] /c/Gcc/Build/./prev-gcc/g++ -B/c/Gcc/Build/./prev-gcc/ -B/usr/local/i686-pc-mingw32/bin/ -nostdinc++ -B/c/Gcc/Build/prev-i686-pc-mingw32/libstdc++-v3/src/.libs -B/c/Gcc/Build/prev-i686-pc-mingw32/libstdc++-v3/libsupc++/.libs -I/c/Gcc/Build/prev-i686-pc-mingw32/libstdc++-v3/include/i686-pc-mingw32 -I/c/Gcc/Build/prev-i686-pc-mingw32/libstdc++-v3/include -I/c/Gcc/gcc-4.7-20110730/libstdc++-v3/libsup c++ -L/c/Gcc/Build/prev-i686-pc-mingw32/libstdc++-v3/src/.libs -L/c/Gcc/Build/prev-i686-pc-mingw32/libstdc++-v3/libsupc++/.libs -c -g -O2 -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-o verlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.7-20110730/gcc -I../../gcc-4.7-20110730/gcc/. -I../../gcc-4.7-20110730/gcc/../include -I./../intl -I../../gcc-4.7-20110730/gcc/../libcpp/include -I../../gcc-4.7-20110730/gcc/../libdecnumber -I../../gcc-4.7-20110730/gcc/../libdecnumber/bid -I../libdecnumber ../../gcc-4.7-20110730/gcc/implicit-zee.c -o implicit-zee.o ../../gcc-4.7-20110730/gcc/implicit-zee.c: In function 'unsigned int find_and_re move_ze()': ../../gcc-4.7-20110730/gcc/implicit-zee.c:950:59: error: unknown conversion type character 'l' in format [-Werror=format] ../../gcc-4.7-20110730/gcc/implicit-zee.c:950:59: error: unknown conversion type character 'l' in format [-Werror=format] ../../gcc-4.7-20110730/gcc/implicit-zee.c:950:59: error: too many arguments for format [-Werror=format-extra-args] cc1plus.exe: all warnings being treated as errors make[3]: *** [implicit-zee.o] Error 1 make[3]: Leaving directory `/c/Gcc/Build/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/c/Gcc/Build' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/c/Gcc/Build' make: *** [all] Error 2
[Bug other/49978] New: make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 Summary: make pdf error on OS X Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: h...@oz.net I got the following error when I tried make pdf after a full make bootstrap: ... Doing pdf in libiberty texi2pdf ../../gcc-4.6.1/libiberty/libiberty.texi sed: 2: s/\(^\|.* \)@documenten ...: whitespace after branch sed: 4: s/\(^\|.* \)@documenten ...: whitespace after label sed: 6: s/\(^\|.* \)@documenten ...: undefined label 'found ' This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011) restricted \write18 enabled. entering extended mode (/Users/perkins/src/nobackup/gcc-4.6.1/libiberty/libiberty.texi (/usr/local/texlive/2011/texmf-dist/tex/texinfo/texinfo.tex Loading texinfo [version 2011-05-23.16]: pdf, fonts, markup, glyphs, page headings, tables, conditionals, indexing, sectioning, toc, environments, defuns, macros, cross references, insertions, (/usr/local/texlive/2011/texmf-dist/tex/generic/epsf/epsf.tex This is `epsf.tex' v2.7.4 14 February 2011 ) localization, formatting, and turning on texinfo input format.) [1{/usr/local /texlive/2011/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2] [-1] Chapter 1 Chapter 2 [1] [2] (/Users/perkins/src/nobackup/gcc-4.6.1/libiberty/obstacks.texi Chapter 3 [3] [4] Cross reference values unknown; you must run TeX again. [5] [6] [7] [8] [9] [10] [11] [12] [13]) Chapter 4 [14] (/Users/perkins/src/nobackup/gcc-4.6.1/libiberty/functions.texi [15] [16] [17] [18] [19] [20] [21] Underfull \hbox (badness 1) in paragraph at lines 669--673 []@textrm For ex-am-ple, if @textsl bin[]prefix @textrm is @texttt /alpha/beta /gamma/gcc/delta[]@textrm , @textsl pre-fix @textrm is [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35]) Appendix A [36] (/Users/perkins/src/nobackup/gcc-4.6.1/libiberty/copying-lib.texi [37] [38] [39] [40] [41] [42] /Users/perkins/src/nobackup/gcc-4.6.1/libiberty/copying-lib.texi:480: This comm and can appear only outside of any environment, not in environment @enumerate. @badenverr ...temp , not @inenvironment @thisenv } @checkenv ...@ifx @thisenv @temp @else @badenverr @fi @sectionheading #1#2#3#4-{@checkenv {} @csname #2fonts@endcsname @rmisbold @... @\heading ...tionheading {#1}{sec}{Yomitfromtoc}{} @suppressfirstparagraphin... l.480 @heading NO WARRANTY ? Setup: OS X 10.6.8, xcode 3.2.6, new installation of MacTeX/TexLive 2011. I originally saw this a few months ago using the previous mactex/texlive 2010 but wanted to wait to report it until I could try it with the new annual release of tex. The gcc build used the full 4.6.1 release with gmp, mpc, and mpfr added into the tree (gmp 5.0.2, mpc 0.9, mpfr 3.0.1). Configure options were --enable-languages=c,c++,fortran --enable-checking=release. The actual gcc bootstrap completed successfully, the problem was with make doc right after that.
[Bug other/49978] make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-04 16:48:06 UTC --- that looks like a problem with the sed command used by texi2pdf, not a problem with gcc
[Bug fortran/49591] [OOP] Multiple identical specific procedures in type-bound operator not detected
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49591 janus at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.08.04 16:49:55 Summary|[OOP] Multiple identical|[OOP] Multiple identical |specific procedures in |specific procedures in |type-bound generic not |type-bound operator not |detected|detected Ever Confirmed|0 |1 --- Comment #1 from janus at gcc dot gnu.org 2011-08-04 16:49:55 UTC --- Adjusting title. The problem really only applies to (type-bound) *operators*, right?
[Bug other/49978] make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 --- Comment #2 from hal at oz dot net 2011-08-04 16:58:30 UTC --- It's the same version of sed that's been there for two years (date is may 2009), and make pdf used to work with it. Maybe something in the script changed in a way that exposed a problem? Can you send me a sample sed script/command and input to try to see if the problem can be narrowed down?
[Bug testsuite/49979] New: FAIL: gcc.dg/20030711-1.c execution test
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49979 Summary: FAIL: gcc.dg/20030711-1.c execution test Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassig...@gcc.gnu.org ReportedBy: dang...@gcc.gnu.org Host: hppa*-*-* Target: hppa*-*-* Build: hppa*-*-* The PA backend does not have cmpstrnsi, so __builtin_strncmp is not expanded. As a result, the strncmp library call is used in function test. Because the compare operation extends beyond the mmap'd region after unmapping, it may cause a segv. It is not clear at this time why the segv isn't consistent. I have never seen it with HP-UX 11.11 or Linux. First seen on HP-UX 11.00: -bash-3.2$ ./xgcc -B./ -v Reading specs from ./specs COLLECT_GCC=./xgcc COLLECT_LTO_WRAPPER=./lto-wrapper Target: hppa64-hp-hpux11.00 Configured with: ../gcc/configure --with-gnu-as --with-as=/opt/gnu64/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --with-local-prefix=/opt/gnu64 --prefix=/opt/gnu64/gcc/gcc-4.7 --build=hppa64-hp-hpux11.00 --disable-nls --disable-build-poststage1-with-cxx --with-gmp=/opt/gnu64/gcc/gmp --enable-languages=c,c++,fortran,objc,obj-c++ Thread model: posix gcc version 4.7.0 20110731 (experimental) [trunk revision 176976] (GCC)
[Bug other/49978] make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-04 17:22:41 UTC --- That sed command comes from texi2pdf not gcc's makefile, so it must be a change in texi2pdf Try: echo foo | sed s/\(^\|.* \)@documenten/bar/ In GNU's texi2pdf the corresponding rule is done differently, so you could try: pgm='s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/ t found d :found q' echo foo | sed -e $pgm
[Bug fortran/49961] [OOP] type-bound function can not return a pointer of a array
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49961 janus at gcc dot gnu.org changed: What|Removed |Added Keywords||ice-on-valid-code CC||janus at gcc dot gnu.org Summary|type bounded function can |[OOP] type-bound function |not return a pointer of a |can not return a pointer of |array |a array --- Comment #3 from janus at gcc dot gnu.org 2011-08-04 17:24:29 UTC --- Here's maximally reduced test case: module aa type bb end type contains function getcc(this) result(cc) class(bb) :: this integer,dimension(2) :: cc end function end module use aa type(bb) :: b1 print *,getcc(b1) end Apparently this PR is a duplicate of PR42051/PR43896 and has supposedly been fixed by r160622: http://gcc.gnu.org/viewcvs?view=revisionrevision=160622 The patch looks very simple and it may be feasible to backport it to 4.5.
[Bug testsuite/49979] FAIL: gcc.dg/20030711-1.c execution test
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49979 --- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-08-04 17:30:29 UTC --- I think this is a HP-UX 11.00 libc bug exposed by the following change: 2011-07-25 Rainer Orth r...@cebitec.uni-bielefeld.de * lib/target-supports.exp (check_effective_target_mmap): New proc. * gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__. * gcc.c-torture/execute/loop-2g.c: Likewise. * gcc.c-torture/execute/loop-2f.x: Load target-supports.exp. Require mmap support. * gcc.c-torture/execute/loop-2g.x: Likewise. * gcc.dg/20030711-1.c: Replace dg-do target list by mmap. (MAP_ANON): Provide default. * gcc.dg/20050826-1.c: Likewise. * gcc.target/i386/pr36533.c: Likewise. * gcc.dg/vect/pr49038.c: Remove dg-do run. Use dg-require-effective-target mmap. There was a similar bug in HP-UX 10.20 where strncmp would segmentation fault when one of the strings ended adjacent to an unmapped page boundary. This was supposedly fixed...
[Bug other/49978] make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 --- Comment #4 from hal at oz dot net 2011-08-04 17:35:34 UTC --- Here's what it looks like: $ echo foo | sed s/\(^\|.* \)@documenten/bar/ foo $ pgm='s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/ t found d :found q' $ echo foo | sed -e $pgm $ echo $pgm s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/ t found d :found q
[Bug other/49978] make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-04 17:41:40 UTC --- maybe you'll need to look in texi2pdf to see exactly what it's doing, but whatever it is, it's not something gcc is doing
[Bug other/49978] make pdf error on OS X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49978 --- Comment #6 from hal at oz dot net 2011-08-04 17:44:42 UTC --- Well, ok, but who is responsible for that? And it still remains the case that make pdf doesn't work.
[Bug fortran/49961] [OOP] type-bound function can not return a pointer of a array
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49961 --- Comment #4 from janus at gcc dot gnu.org 2011-08-04 17:46:35 UTC --- (In reply to comment #3) http://gcc.gnu.org/viewcvs?view=revisionrevision=160622 The patch looks very simple and it may be feasible to backport it to 4.5. I just checked: It's indeed easy to backport this, and it will also make the original test case run and produce correct results. Dear bug reporter: Would it help you if we backport this fix to the 4.5 branch, so that it becomes part of release 4.5.4, or is it possible for you to use gfortran 4.6.x?
[Bug target/49967] The -static-libstdc++ does not work on HP-UX (IA64 B.11.23, probably others)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49967 Steve Ellcey sje at cup dot hp.com changed: What|Removed |Added CC||sje at cup dot hp.com --- Comment #1 from Steve Ellcey sje at cup dot hp.com 2011-08-04 17:49:12 UTC --- A patch for this has been submitted to gcc-patc...@gcc.gnu.org. http://gcc.gnu.org/ml/gcc-patches/2011-07/msg02704.html I am waiting for approval of the gcc.c part that is needed to handle the fact that there is no static system unwind library on HP-UX.
[Bug fortran/49962] [OOP] ICE when using type-bound function returning vector
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49962 janus at gcc dot gnu.org changed: What|Removed |Added CC||janus at gcc dot gnu.org Summary|internal compiler error |[OOP] ICE when using |when using type-bounded |type-bound function |function returning vector |returning vector --- Comment #4 from janus at gcc dot gnu.org 2011-08-04 17:58:55 UTC --- This is certainly a duplicate of PR49961, and has been fixed by r160622, which could also be backported to the 4.5 branch. Since we got two apparently independent bug reports for this on the same day: Is there any real-world code which is affected by this bug? Or in other words: How did you come across this bug?
[Bug fortran/49962] [OOP] ICE when using type-bound function returning vector
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49962 --- Comment #5 from wangmianzhi wangmianzhi1 at linuxmail dot org 2011-08-04 18:07:07 UTC --- On 2011年08月04日 13:59, janus at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49962 janus at gcc dot gnu.org changed: What|Removed |Added CC||janus at gcc dot gnu.org Summary|internal compiler error |[OOP] ICE when using |when using type-bounded |type-bound function |function returning vector |returning vector --- Comment #4 from janus at gcc dot gnu.org 2011-08-04 17:58:55 UTC --- This is certainly a duplicate of PR49961, and has been fixed by r160622, which could also be backported to the 4.5 branch. Since we got two apparently independent bug reports for this on the same day: Is there any real-world code which is affected by this bug? Or in other words: How did you come across this bug? We can simply use subroutine instead of function to return vectors. But I think it would be definitely not as decent as using functions for the case of type-bounded procedures. I think it would make many people's life easier if this fix could be back ported to 4.5, considering the fact that most clusters for engineering computation tend to use old compilers. Thanks. Mianzhi
[Bug rtl-optimization/49977] [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49977 John David Anglin danglin at gcc dot gnu.org changed: What|Removed |Added Target|sh4-unknown-linux-gnu, |sh4-unknown-linux-gnu, |cris-elf|cris-elf, ||hppa64-hp-hpux11.11 Status|UNCONFIRMED |NEW Last reconfirmed||2011.08.04 18:20:05 CC||danglin at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-08-04 18:20:05 UTC --- On hppa64-hp-hpux11.11, I'm seeing the the following g++ eh fails with revision 177282: FAIL: g++.dg/compat/eh/unexpected1 cp_compat_x_tst.o-cp_compat_y_tst.o execute FAIL: g++.dg/eh/crossjump1.C execution test FAIL: g++.dg/eh/forced1.C execution test FAIL: g++.dg/eh/uncaught1.C execution test FAIL: g++.dg/eh/unexpected1.C execution test FAIL: g++.old-deja/g++.abi/cxa_vec.C execution test FAIL: g++.old-deja/g++.eh/badalloc1.C execution test FAIL: g++.old-deja/g++.eh/fntry1.C execution test FAIL: g++.old-deja/g++.eh/rethrow1.C execution test FAIL: g++.old-deja/g++.eh/rethrow2.C execution test FAIL: g++.old-deja/g++.eh/rethrow3.C execution test FAIL: g++.old-deja/g++.eh/rethrow4.C execution test FAIL: g++.old-deja/g++.eh/rethrow5.C execution test FAIL: g++.old-deja/g++.eh/rethrow6.C execution test FAIL: g++.old-deja/g++.mike/eh23.C execution test FAIL: g++.old-deja/g++.mike/eh39.C execution test FAIL: g++.old-deja/g++.mike/eh40.C execution test FAIL: g++.old-deja/g++.robertl/eb31.C execution test
[Bug tree-optimization/49772] [4.7 Regression] ICE: in ipa_pta_execute, at tree-ssa-structalias.c:6790 with -fipa-pta
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49772 --- Comment #5 from Jan Hubicka hubicka at ucw dot cz 2011-08-04 18:32:27 UTC --- What happens is that in expand_call_inline we fail the inlining via an error, but at this point of course the edge points to the inline clone and that stays so. I suppose when expand_call_inline fails we have to re-direct the edge to the original function (huh, eventually make sure it is not optimized away as well). Well, the problem is that the original function don't have to exist at this point, just an inline clone with posisbly constants propagated into it and thus some edges removed. Undoing this is nontrivial/impossible. Or, finally, _never_ fail that late Yep, we need to avoid failing late. Honza
[Bug debug/49901] gfortran.dg/debug/[pr35154-dwarf2.f/pr37738.f] failures on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49901 Iain Sandoe iains at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.08.04 18:34:02 Ever Confirmed|0 |1 --- Comment #5 from Iain Sandoe iains at gcc dot gnu.org 2011-08-04 18:34:02 UTC --- works for me on Darwin9 Darwin10. Don't have access to Darwin11 as yet - but if someone could check it there.
[Bug target/49956] [4.7 Regression] FAIL: gfortran.dg/debug/(pr35154-dwarf2.f|pr37738.f) -gdwarf-2 -g3 (internal compiler error) on *-apple-darwin*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49956 Dominique d'Humieres dominiq at lps dot ens.fr changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-08-04 18:46:27 UTC --- Duplicate of pr49901. *** This bug has been marked as a duplicate of bug 49901 ***
[Bug debug/49901] gfortran.dg/debug/[pr35154-dwarf2.f/pr37738.f] failures on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49901 Dominique d'Humieres dominiq at lps dot ens.fr changed: What|Removed |Added CC||dominiq at lps dot ens.fr --- Comment #6 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-08-04 18:46:27 UTC --- *** Bug 49956 has been marked as a duplicate of this bug. ***
[Bug target/49781] [x32] Unnecessary lea in x32 mode
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49781 --- Comment #16 from Uros Bizjak ubizjak at gmail dot com 2011-08-04 18:49:32 UTC --- (In reply to comment #14) /export/build/gnu/gcc-x32-test/release/usr/gcc-4.7.0-x32/bin/gcc -mx32 -std=gnu99 -fgnu89-inline -O2-S testcase.c testcase.c:634:2: 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. Sometimes, a subreg is returned as base or index register. This patch strips subregs and fixes ICE (I wonder, why the ICE didn't show earlier): Index: i386.c === --- i386.c(revision 177411) +++ i386.c(working copy) @@ -14088,6 +14101,20 @@ gcc_assert (ok); + if (parts.base GET_CODE (parts.base) == SUBREG) +{ + rtx tmp = SUBREG_REG (parts.base); + parts.base = simplify_subreg (GET_MODE (parts.base), +tmp, GET_MODE (tmp), 0); +} + + if (parts.index GET_CODE (parts.index) == SUBREG) +{ + rtx tmp = SUBREG_REG (parts.index); + parts.index = simplify_subreg (GET_MODE (parts.index), + tmp, GET_MODE (tmp), 0); +} + base = parts.base; index = parts.index; disp = parts.disp; However, I think we should hanlde plus (zero_extend (...addr...)(const_int)) offsetable operands, too. Otherwise there will be no benefit for SSE operands...
[Bug target/49781] [x32] Unnecessary lea in x32 mode
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49781 Uros Bizjak ubizjak at gmail dot com changed: What|Removed |Added Attachment #24899|0 |1 is obsolete|| --- Comment #17 from Uros Bizjak ubizjak at gmail dot com 2011-08-04 18:53:06 UTC --- Created attachment 24918 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24918 WIP patch that exploits addr32. The patch ATM limits addr32 optimization to MODE_SIZE (op) = WORD_SIZE due to inability to handle offsetable operands. But please test it on x32 anyway.
[Bug tree-optimization/49911] SRA + DOM + VRP + -fstrict-enums incorrectly remove predicate
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911 --- Comment #10 from Rafael Avila de Espindola rafael.espindola at gmail dot com 2011-08-04 18:59:20 UTC --- Created attachment 24919 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24919 test patch I ported http://gcc.gnu.org/ml/gcc-patches/2011-04/msg00741.html to gcc 4.5 and was able to to build a working firefox in the environment that mozilla's bots use. Thanks!
[Bug rtl-optimization/49977] [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49977 Richard Henderson rth at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.7.0 --- Comment #2 from Richard Henderson rth at gcc dot gnu.org 2011-08-04 19:05:11 UTC --- Mine. Kaz, can you enumerate some specific tests that are now failing? It'll save me time trying to track down the problem. E.g. a cross to CRIS is hanging in the simulator for *every* execution test, so I assume there's something wrong with my cris-sim dejagnu setup. I havn't tried sh-sim yet, but will do so while looking at hppa...
[Bug bootstrap/49964] Bootstrap failed with AVX turned on
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49964 Richard Henderson rth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #10 from Richard Henderson rth at gcc dot gnu.org 2011-08-04 19:09:42 UTC --- Fixed.
[Bug middle-end/49968] ICE in calls.c:3141 / assert after emit_stack_restore
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49968 Richard Henderson rth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||FIXED --- Comment #6 from Richard Henderson rth at gcc dot gnu.org 2011-08-04 19:10:36 UTC --- Fixed.
[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375 --- Comment #107 from Jan Hubicka hubicka at gcc dot gnu.org 2011-08-04 19:16:29 UTC --- Now my build dies on what appears to be configure confussion: /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:43:17: error: 'close' was not declared in this scope /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:52:26: error: 'read' was not declared in this scope /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:52:26: error: invalid type in declaration before ';' token /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:62:39: error: 'write' was not declared in this scope /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:62:39: error: invalid type in declaration before ';' token /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:74:7: error: 'close' was not declared in this scope /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:74:7: error: invalid type in declaration before ';' token /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:76:7: error: 'close' was not declared in this scope /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:76:7: error: invalid type in declaration before ';' token While I could definitely get around by adding the proper #includes, it seems that things simply gets misconfigured. Martin, you mentioned similar problem earlier, perhaps you already have solution?
[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375 --- Comment #108 from Andrew Pinski pinskia at gcc dot gnu.org 2011-08-04 19:22:50 UTC --- (In reply to comment #107) Now my build dies on what appears to be configure confussion: /abuild/jh/mozilla-central2/mozilla-central/ipc/chromium/src/base/file_util_linux.cc:43:17: error: 'close' was not declared in this scope Actually I think this was caused by the removal of the #include of unistd.h in gthr-posix.h which means the version of mozilla you are trying to use has not be updated for that change.
[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375 --- Comment #109 from Markus Trippelsdorf markus at trippelsdorf dot de 2011-08-04 19:25:09 UTC --- Yep. See: http://gcc.gnu.org/viewcvs?view=revisionrevision=176335 http://thread.gmane.org/gmane.comp.gcc.devel/121989
[Bug fortran/49591] [OOP] Multiple identical specific procedures in type-bound operator not detected
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49591 --- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2011-08-04 19:36:03 UTC --- I think I found the place where this example came from, though at that point it probably was not yet on the server: http://www.j3-fortran.org/doc/meeting/195/11-214.txt