[Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53602 --- Comment #12 from Richard Henderson 2012-06-09 06:18:53 UTC --- Author: rth Date: Sat Jun 9 06:18:38 2012 New Revision: 188358 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188358 Log: PR c++/53602 Added: trunk/gcc/testsuite/g++.dg/torture/pr53602.C
[Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53602 --- Comment #11 from Richard Henderson 2012-06-09 06:17:27 UTC --- Author: rth Date: Sat Jun 9 06:17:12 2012 New Revision: 188357 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188357 Log: PR c++/53602 * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE note to a clobber insn when no other insn is available. Modified: trunk/gcc/ChangeLog trunk/gcc/combine-stack-adj.c
[Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53602 --- Comment #10 from Richard Henderson 2012-06-09 06:14:34 UTC --- Author: rth Date: Sat Jun 9 06:14:27 2012 New Revision: 188356 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188356 Log: PR c++/53602 * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE note to a clobber insn when no other insn is available. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/torture/pr53602.C Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/combine-stack-adj.c
[Bug c++/53618] segfault on self-referential class partial specialization argument
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53618 David Krauss changed: What|Removed |Added Severity|normal |minor --- Comment #1 from David Krauss 2012-06-09 05:47:53 UTC --- I have been alerted to the fact that the sizeof expression is invalid because it can't be applied to an incomplete type. So this is crashes on invalid code. And the crashing specialization is extraneous anyway, such a case should be handled by the primary template. (Which can be said in general of such a mechanism, should anyone want it.)
[Bug c++/53618] New: segfault on self-referential class partial specialization argument
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53618 Bug #: 53618 Summary: segfault on self-referential class partial specialization argument Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: pot...@mac.com I was trying a new approach to SFINAE on 4.7.0 and ICEd instead. Not sure if this is valid. The idea is to check whether the specialization is already a complete class while forming the partial specialization arguments. (http://stackoverflow.com/questions/10958435) --- template< int > struct ic; template< typename t, typename c = ic< 0 > > struct is_dereferenceable; template< typename t > struct is_dereferenceable< t, ic< true? 0 : * t() > > {}; template< typename t > struct is_dereferenceable< t, ic< sizeof (is_dereferenceable< t >) > > {}; is_dereferenceable< char * > i;
[Bug target/53617] New: Suboptimal PC-relative addressing code on x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53617 Bug #: 53617 Summary: Suboptimal PC-relative addressing code on x86 Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: bug...@aerifal.cx Consider a function of the form: int *foo() { static int x; return &x; } When GCC compiles this, the result is similar to the following hand-written asm: call 1f 1: pop %ecx add $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx lea x@GOTOFF(%ecx),%eax ret i.e. it loads the address of the GOT in a register, then computes the GOT-relative address of the variable. This makes sense when the GOT address will be needed for more than one address lookup, but it's unnecessarily costly in the case where it's only used for a single variable, in which case the following code would be better: call 1f 1: pop %eax add $[x-1b], %eax ret The same principle applies to a great deal more code, and of course it works when __i686.get_pc_thunk.cx or similar is being used, too. Is there any way GCC could be enhanced to generate this superior code when possible?
[Bug c++/53415] problematic error message for ambiguity
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53415 Manuel López-Ibáñez changed: What|Removed |Added Keywords||diagnostic Status|UNCONFIRMED |NEW Last reconfirmed||2012-06-08 CC||manu at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Manuel López-Ibáñez 2012-06-08 23:47:03 UTC --- I think there are quite a few bugs here. Starting with the template-parameter-1-1 output. Clang is not very helpful in this case: /tmp/webcompile/_14729_0.cc:23:5: error: no matching function for call to 'foo' foo(1); ^~~ /tmp/webcompile/_14729_0.cc:19:20: note: candidate template ignored: substitution failure [with X = int] S<0 + T::value> foo(X); ^ 1 error generated.
[Bug target/53256] [avr] Attribute 'interrupt' shall override attribute 'signal'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53256 --- Comment #4 from Georg-Johann Lay 2012-06-08 22:42:27 UTC --- See also the following AVR-LibC bug report: http://savannah.nongnu.org/bugs/index.php?26734
[Bug middle-end/53616] [4.8 Regression] 416.gamess in SPEC CPU 2006 miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53616 H.J. Lu changed: What|Removed |Added CC||rguenth at gcc dot gnu.org Target Milestone|--- |4.8.0 --- Comment #1 from H.J. Lu 2012-06-08 22:15:39 UTC --- It is caused by revision 188261: http://gcc.gnu.org/ml/gcc-cvs/2012-06/msg00171.html
[Bug tree-optimization/51938] missed optimization: 2 comparisons
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51938 Marc Glisse changed: What|Removed |Added Attachment #27590|0 |1 is obsolete|| --- Comment #7 from Marc Glisse 2012-06-08 20:03:35 UTC --- Created attachment 27591 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27591 incomplete patch The same with one less typo and more up-to-date comments.
[Bug tree-optimization/51938] missed optimization: 2 comparisons
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51938 --- Comment #6 from Marc Glisse 2012-06-08 19:49:07 UTC --- Created attachment 27590 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27590 incomplete patch I wonder if this is the right direction. At least it passes the testsuite and optimizes the original testcase.
[Bug fortran/52552] [OOP] ICE when trying to allocate non-allocatable object giving a dynamic type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52552 --- Comment #8 from gccbgz.lionm at xoxy dot net 2012-06-08 18:56:19 UTC --- Nice! Thanks for fixing!
[Bug fortran/52531] [OOP] Compilation fails with polymorphic dummy argument and OpenMP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52531 --- Comment #4 from kaladhorn at me dot com 2012-06-08 18:46:11 UTC --- (In reply to comment #3) > (In reply to comment #2) > > Out of curiosity, would there be a technical issue in this case? > > It sure seemed natural to me. > > AFAICS there should not be any huge issues. One might consider to implement > this as an extension. If it does not hurt, I think it would be a good thing. As far as I am concerned, I engineered around it, as it is really an edge case we do not want to rely on. It arguably makes some code uglier, though.
[Bug c++/53611] class with hidden visibility cause function returns pointer to class also be hidden
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53611 --- Comment #2 from Andrew Pinski 2012-06-08 18:44:18 UTC --- I think this is expected behavior as if someone defines a "__cook" in the executable which links to the shared library, it will be considered a different type.
[Bug c/38308] -Wformat does not work for wide strings
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38308 Andrew Pinski changed: What|Removed |Added CC||vhaisman at gmail dot com --- Comment #4 from Andrew Pinski 2012-06-08 18:42:45 UTC --- *** Bug 53612 has been marked as a duplicate of this bug. ***
[Bug c/53612] __attribute__((format(...))) does not work with wchar_t format strings
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53612 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #1 from Andrew Pinski 2012-06-08 18:42:45 UTC --- This is PR 38308 really. *** This bug has been marked as a duplicate of bug 38308 ***
[Bug fortran/52265] [OOP] TREE dump confusing with nested SELECT TYPE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52265 janus at gcc dot gnu.org changed: What|Removed |Added CC||janus at gcc dot gnu.org --- Comment #2 from janus at gcc dot gnu.org 2012-06-08 18:21:36 UTC --- (In reply to comment #0) > Expected: Use different variable names, e.g. via > gfc_create_var (type, "__tmp_type_t") I guess the technical problem here is that the temporaries are created already at resolution stage (in resolve_select_type) on a gfc_symtree level, while gfc_create_var operates on tree-level (at translation stage). Do we have any other mechanism for creating temporaries, which could be employed here? Or do we need to generate a numerically-decorated (or 'randomized') name by hand?
[Bug fortran/52552] [OOP] ICE when trying to allocate non-allocatable object giving a dynamic type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52552 janus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from janus at gcc dot gnu.org 2012-06-08 17:38:46 UTC --- Fixed with r188335. Closing. Thanks for the report!
[Bug fortran/52552] [OOP] ICE when trying to allocate non-allocatable object giving a dynamic type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52552 --- Comment #6 from janus at gcc dot gnu.org 2012-06-08 17:26:18 UTC --- Author: janus Date: Fri Jun 8 17:26:11 2012 New Revision: 188335 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188335 Log: 2012-06-08 Janus Weil PR fortran/52552 * match.c (gfc_match_allocate): Modify order of checks. Change wording of error message. Remove FIXME note. * resolve.c (resolve_allocate_expr): Add a comment. 2012-06-08 Janus Weil PR fortran/52552 * gfortran.dg/allocate_alloc_opt_1.f90: Modified. * gfortran.dg/allocate_class_1.f90: Modified. * gfortran.dg/allocate_with_typespec_4.f90: Modified. * gfortran.dg/allocate_class_2.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/allocate_class_2.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/match.c trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 trunk/gcc/testsuite/gfortran.dg/allocate_class_1.f90 trunk/gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90
[Bug libitm/53113] Build fails in x86_avx.cc if AVX disabled but supported by as (Solaris & Linux)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53113 --- Comment #2 from safety0ff.bugz at gmail dot com 2012-06-08 17:20:28 UTC --- Created attachment 27589 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27589 This patch works for me (I have no clue whether it is the "proper" fix.) This patch works for me (I have no clue whether it is the "proper" fix.) Compiles, I can compile stuff with the resulting g++, compiled stuff runs...
[Bug middle-end/53616] New: [4.8 Regression] 416.gamess in SPEC CPU 2006 miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53616 Bug #: 53616 Summary: [4.8 Regression] 416.gamess in SPEC CPU 2006 miscompiled Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com CC: areg.melikadam...@gmail.com On Linux/x86-64, revision 188299 miscompiled 416.gamess in SPEC CPU 2006 with: -O3 -funroll-loops -ffast-math -ffixed-form -DSPEC_CPU_LP64 Running 416.gamess ref peak lnx32e-gcc default *** Miscompare of triazolium.out; for details see /export/gnu/import/git/gcc-test-spec/spec/2006/x86_64/spec/benchspec/CPU2006 /416.gamess/run/run_peak_ref_lnx32e-gcc./triazolium.out.mis *** Miscompare of cytosine.2.out; for details see /export/gnu/import/git/gcc-test-spec/spec/2006/x86_64/spec/benchspec/CPU2006 /416.gamess/run/run_peak_ref_lnx32e-gcc./cytosine.2.out.mis Revision 188248 is OK.
[Bug rtl-optimization/53595] Code size increase of +10% between two 4.7.1 snapshot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53595 --- Comment #11 from Georg-Johann Lay 2012-06-08 17:04:41 UTC --- FYI, the patch attachment 27568 also resolves the strange error described in PR53615, at least for the test case given there.
[Bug other/53615] Buffer overflow in the compiler?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53615 --- Comment #2 from Georg-Johann Lay 2012-06-08 16:52:54 UTC --- Note: In attachment 27588 the long version is commented out. You have to remove the comment and the second CODE32 like so: #define CODE32 \ "out %2, %C1\n\tmovw r30, %1\n\telpm %A0, Z+\n\telpm %B0, Z\n\t" instead of //#define CODE32 \ // "out %2, %C1\n\tmovw r30, %1\n\telpm %A0, Z+\n\telpm %B0, Z\n\t" #define CODE32 \ ";%2, %C1%1%A0, Z+\n\telpm %B0, Z\n\t"
[Bug other/53615] Buffer overflow in the compiler?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53615 --- Comment #1 from Georg-Johann Lay 2012-06-08 16:48:22 UTC --- Created attachment 27588 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27588 wek.c And here is the source file wek.c Compiled with the above options yields: $ avr-gcc -c wek.c -mmcu=atmega2561 -O3 -mstrict-X wek.c: In function 'foo': wek.c:86:20: error: can't find a register in class 'BASE_POINTER_REGS' while reloading 'asm' wek.c:86:20: error: 'asm' operand has impossible constraints At the beginning of the source you see a macro called CODE32 that is defined to a string literal which is used as inline assembler code template. If CODE32 is defined to a shorter string like #define CODE32 \ ";%2, %C1%1%A0, Z+\n\telpm %B0, Z\n\t" the compiler passes. By all of by understanding such an error should not depend on the length of the inline assembler template. Thus, does this indicates a buffer overflow or missing GTY or similar? Notice that the %-operands / %-operand sequence is unchanged in the shorter version of CODE32.
[Bug other/53615] New: Buffer overflow in the compiler?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53615 Bug #: 53615 Summary: Buffer overflow in the compiler? Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@gcc.gnu.org Host: x86-linux-gnu, mingw32 Target: avr Build: x86-linux-gnu This is a bug I observe with the GCC 4.7.1 release snapshot SVN 188257. == Command line == $ avr-gcc -c wek.c -mmcu=atmega2561 -O3 -mstrict-X == configure == Target: avr Configured with: ../../gcc.gnu.org/gcc-4_7-branch/configure --target=avr --prefix=/local/gnu/install/gcc-4.7 --disable-nls --with-dwarf2 --enable-languages=c,c++ --enable-target-optspace=yes Thread model: single gcc version 4.7.1 20120606 (prerelease) (GCC) GNU C (GCC) version 4.7.1 20120606 (prerelease) (avr) compiled by GNU C version 4.3.2 [gcc-4_3-branch revision 141291], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2 The problem can also be seen with canadian cross configured as: ../../gcc.gnu.org/gcc-4_7-branch/configure --target=avr --prefix=/local/gnu/install/gcc-4.7-mingw32 --host=i386-mingw32 --build=i686-linux-gnu --enable-languages=c,c++ --disable-nls --disable-shared --with-dwarf2
[Bug c++/53614] g++ undefined symbols static const data members conditional assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53614 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #3 from Jonathan Wakely 2012-06-08 15:41:15 UTC --- Not a bug, see http://gcc.gnu.org/wiki/VerboseDiagnostics#missing_static_const_definition
[Bug libitm/53113] Build fails in x86_avx.cc if AVX disabled but supported by as (Solaris & Linux)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53113 safety0ff.bugz at gmail dot com changed: What|Removed |Added CC||safety0ff.bugz at gmail dot ||com --- Comment #1 from safety0ff.bugz at gmail dot com 2012-06-08 15:21:52 UTC --- I have this problem too. I'm using Gentoo x86_64, with GNU binutils 2.22 as well. My CPU does support AVX (Intel Sandy Bridge.) It is using the following flags: -g -march=native -mtune=generic -mno-avx -O2 -pipe It is a pain for me because Valgrind doesn't support AVX and compiling programs with my system/default gcc version ends up using the 4.7 libgcc_s.so at run time which will contain AVX code if I compile with AVX enabled.
[Bug c++/53614] g++ undefined symbols static const data members conditional assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53614 --- Comment #2 from Cameron MacMinn 2012-06-08 15:18:59 UTC --- Created attachment 27587 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27587 to verify correctness using -DWORKAROUND, else ignore
[Bug c++/53614] g++ undefined symbols static const data members conditional assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53614 --- Comment #1 from Cameron MacMinn 2012-06-08 15:17:48 UTC --- Created attachment 27586 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27586 2nd output of -save-temps
[Bug c++/53614] New: g++ undefined symbols static const data members conditional assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53614 Bug #: 53614 Summary: g++ undefined symbols static const data members conditional assignment Classification: Unclassified Product: gcc Version: 4.4.6 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: cam888e...@yahoo.com Created attachment 27585 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27585 output of -save-temps I wanted to attach a 2nd file, main.ii. Also a 3rd file, Foo.cc. Looks like this only allows 1 attachment. I will try to send later. main.ii should let you duplicate ld error undefined symbols. Foo.cc if you wish to verify correctness using -DWORKAROUND, otherwise please ignore it. Thanks. % echo ; g++ -v -save-temps -m64 -c Foo.cc ; echo ; g++ -v -save-temps -m64 -odefineMe main.cc Foo.o Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-m64' '-c' '-shared-libgcc' '-mtune=generic' /usr/libexec/gcc/x86_64-redhat-linux/4.4.6/cc1plus -E -quiet -v -D_GNU_SOURCE Foo.cc -m64 -mtune=generic -fpch-preprocess -o Foo.ii ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../x86_64-redhat-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6 /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/x86_64-redhat-linux /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/backward /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.4.6/include /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-m64' '-c' '-shared-libgcc' '-mtune=generic' /usr/libexec/gcc/x86_64-redhat-linux/4.4.6/cc1plus -fpreprocessed Foo.ii -quiet -dumpbase Foo.cc -m64 -mtune=generic -auxbase Foo -version -o Foo.s GNU C++ (GCC) version 4.4.6 20110731 (Red Hat 4.4.6-3) (x86_64-redhat-linux) compiled by GNU C version 4.4.6 20110731 (Red Hat 4.4.6-3), GMP version 4.3.1, MPFR version 2.4.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 42c2a139506c57f2f1525b40cf548e53 COLLECT_GCC_OPTIONS='-v' '-save-temps' '-m64' '-c' '-shared-libgcc' '-mtune=generic' as -V -Qy --64 -o Foo.o Foo.s GNU assembler version 2.20.51.0.2 (x86_64-redhat-linux) using BFD version version 2.20.51.0.2-5.28.el6 20091009 COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.4.6/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.6/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.6/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.6/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.6/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.6/:/usr/lib/gcc/x86_64-redhat-linux/4.4.6/:/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-save-temps' '-m64' '-c' '-shared-libgcc' '-mtune=generic' Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-m64' '-odefineMe' '-shared
[Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53602 Richard Henderson changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rth at gcc dot gnu.org |gnu.org | --- Comment #9 from Richard Henderson 2012-06-08 14:10:29 UTC --- Mine.
[Bug tree-optimization/51938] missed optimization: 2 comparisons
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51938 --- Comment #5 from Marc Glisse 2012-06-08 13:06:52 UTC --- The main difficulty is trapping math. It isn't hard to add to tree-ssa-ifcombine an ifcombine_ifnotandif variant, and we could make it call maybe_fold_and_comparisons (as ifcombine_ifandif does) with invert_tree_comparison (gimple_cond_code (outer_cond),...), but unless we pass -fno-trapping-math, it won't help. combine_comparisons (fold-const.c) has relevant code to determine whether the optimization is safe wrt trapping, but it does so with the semantic that UNLT_EXPR never traps, whereas I am (wrongfully) using it for TRUTH_NOT_EXPR(GE_EXPR). So I guess that means two more versions of maybe_fold_and_comparisons/maybe_fold_or_comparisons are needed :-(
[Bug fortran/52531] [OOP] Compilation fails with polymorphic dummy argument and OpenMP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52531 janus at gcc dot gnu.org changed: What|Removed |Added CC||janus at gcc dot gnu.org --- Comment #3 from janus at gcc dot gnu.org 2012-06-08 13:00:53 UTC --- (In reply to comment #2) > Out of curiosity, would there be a technical issue in this case? > It sure seemed natural to me. AFAICS there should not be any huge issues. One might consider to implement this as an extension.
[Bug c++/53613] Cannot override a inline "= default" virtual destructor.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613 --- Comment #2 from Jonathan Wakely 2012-06-08 11:18:47 UTC --- (In reply to comment #0) > Workaround: define parent destructor outside the class definition. Or add explicit 'noexcept' specifiers to the derived destructors.
[Bug c++/53613] Cannot override a inline "= default" virtual destructor.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613 --- Comment #1 from Jonathan Wakely 2012-06-08 11:16:47 UTC --- Fixed on trunk by patch for PR 50043
[Bug c++/53611] class with hidden visibility cause function returns pointer to class also be hidden
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53611 --- Comment #1 from Kirby Zhou 2012-06-08 11:16:36 UTC --- gcc source base: DATE 20120604 svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_7-branch@188193
[Bug c++/53613] New: Cannot override a inline "= default" virtual destructor.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613 Bug #: 53613 Summary: Cannot override a inline "= default" virtual destructor. Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: kirbyz...@sogou-inc.com [root@djt-17-109-v06 tmp]# cat tover.cpp struct __cook { virtual ~__cook() = default; }; struct __cook1: public __cook { virtual ~__cook1() = default; }; struct __cook2: public __cook { virtual ~__cook2(); }; __cook2::~__cook2() {}; struct __cook3: public __cook { virtual ~__cook3(); }; __cook3::~__cook3() = default; [root@djt-17-109-v06 tmp]# g++47 -c -std=gnu++11 tover.cpp tover.cpp:6:10: error: looser throw specifier for 'virtual __cook1::~__cook1()' tover.cpp:2:10: error: overriding 'virtual __cook::~__cook() noexcept (true)' tover.cpp:10:10: error: looser throw specifier for 'virtual __cook2::~__cook2()' tover.cpp:2:10: error: overriding 'virtual __cook::~__cook() noexcept (true)' tover.cpp:15:10: error: looser throw specifier for 'virtual __cook3::~__cook3()' tover.cpp:2:10: error: overriding 'virtual __cook::~__cook() noexcept (true) ' [root@djt-17-109-v06 tmp]# g++ -c -std=gnu++0x tover.cpp # g++ 4.4.6 works Workaround: define parent destructor outside the class definition. [root@djt-17-109-v06 tmp]# cat tover.cpp struct __cook { virtual ~__cook(); }; __cook::~__cook() = default; /*...*/
[Bug c/53612] New: __attribute__((format(...))) does not work with wchar_t format strings
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53612 Bug #: 53612 Summary: __attribute__((format(...))) does not work with wchar_t format strings Classification: Unclassified Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: vhais...@gmail.com The __attribute__((format(...))) does not work for wchar_t format strings: /*-8<--*/ #include void foo (char const * fmt, ...) __attribute__ ((format (__printf__, 1, 2))); void wide_foo (wchar_t const * fmt, ...) __attribute__ ((format (__printf__, 1, 2))); /*-8<--*/ I get the following error with Cygwin's GCC 4.5.3: ./format_attr_text.c:4:1: error: format string argument not a string type
[Bug c++/53611] New: class with hidden visibility cause function returns pointer to class also be hidden
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53611 Bug #: 53611 Summary: class with hidden visibility cause function returns pointer to class also be hidden Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: kirbyz...@sogou-inc.com [root@djt-17-109-v06 tmp]# cat tvisi.cpp extern "C" typedef struct __cook cook_t; extern "C" cook_t* myopen(); struct __attribute__ ((visibility ("hidden"))) __cook { virtual ~__cook() = 0; }; //__attribute__ ((visibility ("default"))) cook_t* myopen() { return 0; } [root@djt-17-109-v06 tmp]# g++ tvisi.cpp -o libxx.so -shared -fPIC && nm -D libxx.so | fgrep myopen 05cc T myopen The function myopen is exported by g++ 4.4.6 [root@djt-17-109-v06 tmp]# g++47 tvisi.cpp -o libxx.so -shared -fPIC && nm -D libxx.so | fgrep myopen [root@djt-17-109-v06 tmp]# The function myopen is not exported by g++ 4.7.0 Workaround: define '__cook' after the definition of 'myopen'
[Bug c++/53609] Wrong variadic template pack expansion in alias template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53609 Jonathan Wakely changed: What|Removed |Added Keywords||rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed||2012-06-08 CC||dodji at gcc dot gnu.org Summary|Wrong variadic template |Wrong variadic template |pack expansion |pack expansion in alias ||template Ever Confirmed|0 |1 Known to fail||4.7.0, 4.8.0 --- Comment #1 from Jonathan Wakely 2012-06-08 09:49:33 UTC --- Confirmed. It works fine if you rewrite it without alias templates: template struct NumList { typedef List< Z > type; }; then use NumList::type instead of NumList, so the problem is with the alias template substitution. G++ seems to be treating Z... as Z in the type-id of the alias-declaration.
[Bug c++/53494] [4.7/4.8 Regression] ICE with invalid initializer list
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53494 --- Comment #22 from Paolo Carlini 2012-06-08 09:27:34 UTC --- A tad simpler: template struct pair { T first; U second; pair(const T&, const U&); }; template struct array { typedef T value_type; value_type data[1]; }; array const> matchSynonyms{ { 1, 1 } };
[Bug c++/53494] [4.7/4.8 Regression] ICE with invalid initializer list
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53494 --- Comment #21 from Paolo Carlini 2012-06-08 09:20:47 UTC --- No includes: template struct pair { T first; U second; pair(const T&, const U&); }; template struct array { typedef T value_type; value_type data[1]; }; struct string { string(const char*) { } }; array const> const matchSynonyms{ {"smile",1} };
[Bug c++/53610] C++11: constructors accept silly initializers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53610 --- Comment #1 from Jonathan Wakely 2012-06-08 09:14:23 UTC --- This seems to be an incomplete implementation of C99 designated initializers, use -pedantic or -pedantic-errors to get a diagnostic.
[Bug c++/53610] New: C++11: constructors accept silly initializers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53610 Bug #: 53610 Summary: C++11: constructors accept silly initializers Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: akim.demai...@gmail.com Created attachment 27584 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27584 test case Use braces to call a constructor, G++ 4.7 and 4.8 both accept silly arguments, provided the number of members matches the number of expected arguments. #include class bar { public: bar(int a, int b) { std::cerr << a << ' ' << b << std::endl; } }; int main() { bar{.first = 42, .second = 51}; } $ g++-mp-4.7 --version g++-mp-4.7 (MacPorts gcc47 4.7.0_3) 4.7.0 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ g++-mp-4.7 -Wall -std=c++11 bar.cc $ ./a.out 42 51 $ g++-mp-4.8 --version g++-mp-4.8 (MacPorts gcc48 4.8-20120603_1) 4.8.0 20120603 (experimental) Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ g++-mp-4.8 -Wall -std=c++11 bar.cc $ ./a.out 42 51
[Bug c++/53609] New: Wrong variadic template pack expansion
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53609 Bug #: 53609 Summary: Wrong variadic template pack expansion Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: gaetano.checin...@googlemail.com g++-4.7 missinterperts folowing code : template struct List{}; template struct Z{ static constexpr int value=I;}; template using NumList = List< Z... >; templatestruct Mover; templateclass C, class...I> struct Mover> { using NL = NumList< I::value... > ; // aka : List< Z... > // missinterpreted as : List< Z > }; using L=List< Z<1>,Z<2>,Z<3> >; // Works fine using L2= NumList< 1,2,3 >; // Works also fine Mover< L >::NL A; // dont work : should be 1 not 3 args in 'Z'
[Bug target/51643] Incorrect code produced for tail-call of weak function with -O2/-O3 option
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51643 --- Comment #16 from jye2 at gcc dot gnu.org 2012-06-08 08:58:02 UTC --- Author: jye2 Date: Fri Jun 8 08:57:53 2012 New Revision: 188332 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188332 Log: 2012-06-08 Joey Ye Backport r184442 from mainline 2012-02-21 Richard Earnshaw PR target/52294 * thumb2.md (thumb2_shiftsi3_short): Split register and immediate shifts. For register shifts tie operands 0 and 1. (peephole2 for above): Check that register-controlled shifts have suitably tied operands. Backport r183756 from mainline 2012-01-31 Matthew Gretton-Dann * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition. Backport r183349 from mainline 2012-01-20 Jakub Jelinek PR target/51915 * config/arm/arm.c (arm_count_output_move_double_insns): Call output_move_double on a copy of operands array. Backport r183095 from mainline 2012-01-11 Matthew Gretton-Dann * config/arm/arm.md (mov_notscc): Use MVN for false condition. Backport r182628 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous change. Backport r182621 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a weak function on bare-metal EABI targets. Testsuite: Backport r183349 from mainline 2012-01-20 Jakub Jelinek PR target/51915 * gcc.target/arm/pr51915.c: New test. Backport r183095 from mainline 2012-01-11 Matthew Gretton-Dann * gcc.c-torture/execute/20120110-1.c: New testcase. Backport r182621 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * gcc.target/arm/sibcall-2.c: New test. Added: branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.c-torture/execute/20120111-1.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.target/arm/pr51915.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.target/arm/sibcall-2.c Modified: branches/ARM/embedded-4_6-branch/gcc/ChangeLog.arm branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.c branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.md branches/ARM/embedded-4_6-branch/gcc/config/arm/thumb2.md branches/ARM/embedded-4_6-branch/gcc/testsuite/ChangeLog.arm
[Bug target/52294] [4.7 Regression] [ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294 --- Comment #12 from jye2 at gcc dot gnu.org 2012-06-08 08:57:59 UTC --- Author: jye2 Date: Fri Jun 8 08:57:53 2012 New Revision: 188332 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188332 Log: 2012-06-08 Joey Ye Backport r184442 from mainline 2012-02-21 Richard Earnshaw PR target/52294 * thumb2.md (thumb2_shiftsi3_short): Split register and immediate shifts. For register shifts tie operands 0 and 1. (peephole2 for above): Check that register-controlled shifts have suitably tied operands. Backport r183756 from mainline 2012-01-31 Matthew Gretton-Dann * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition. Backport r183349 from mainline 2012-01-20 Jakub Jelinek PR target/51915 * config/arm/arm.c (arm_count_output_move_double_insns): Call output_move_double on a copy of operands array. Backport r183095 from mainline 2012-01-11 Matthew Gretton-Dann * config/arm/arm.md (mov_notscc): Use MVN for false condition. Backport r182628 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous change. Backport r182621 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a weak function on bare-metal EABI targets. Testsuite: Backport r183349 from mainline 2012-01-20 Jakub Jelinek PR target/51915 * gcc.target/arm/pr51915.c: New test. Backport r183095 from mainline 2012-01-11 Matthew Gretton-Dann * gcc.c-torture/execute/20120110-1.c: New testcase. Backport r182621 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * gcc.target/arm/sibcall-2.c: New test. Added: branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.c-torture/execute/20120111-1.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.target/arm/pr51915.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.target/arm/sibcall-2.c Modified: branches/ARM/embedded-4_6-branch/gcc/ChangeLog.arm branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.c branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.md branches/ARM/embedded-4_6-branch/gcc/config/arm/thumb2.md branches/ARM/embedded-4_6-branch/gcc/testsuite/ChangeLog.arm
[Bug target/51915] [4.7 Regression] ICE in output_move_double
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51915 --- Comment #6 from jye2 at gcc dot gnu.org 2012-06-08 08:58:01 UTC --- Author: jye2 Date: Fri Jun 8 08:57:53 2012 New Revision: 188332 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188332 Log: 2012-06-08 Joey Ye Backport r184442 from mainline 2012-02-21 Richard Earnshaw PR target/52294 * thumb2.md (thumb2_shiftsi3_short): Split register and immediate shifts. For register shifts tie operands 0 and 1. (peephole2 for above): Check that register-controlled shifts have suitably tied operands. Backport r183756 from mainline 2012-01-31 Matthew Gretton-Dann * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition. Backport r183349 from mainline 2012-01-20 Jakub Jelinek PR target/51915 * config/arm/arm.c (arm_count_output_move_double_insns): Call output_move_double on a copy of operands array. Backport r183095 from mainline 2012-01-11 Matthew Gretton-Dann * config/arm/arm.md (mov_notscc): Use MVN for false condition. Backport r182628 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous change. Backport r182621 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a weak function on bare-metal EABI targets. Testsuite: Backport r183349 from mainline 2012-01-20 Jakub Jelinek PR target/51915 * gcc.target/arm/pr51915.c: New test. Backport r183095 from mainline 2012-01-11 Matthew Gretton-Dann * gcc.c-torture/execute/20120110-1.c: New testcase. Backport r182621 from mainline 2011-12-21 Richard Earnshaw PR target/51643 * gcc.target/arm/sibcall-2.c: New test. Added: branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.c-torture/execute/20120111-1.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.target/arm/pr51915.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.target/arm/sibcall-2.c Modified: branches/ARM/embedded-4_6-branch/gcc/ChangeLog.arm branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.c branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.md branches/ARM/embedded-4_6-branch/gcc/config/arm/thumb2.md branches/ARM/embedded-4_6-branch/gcc/testsuite/ChangeLog.arm
[Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53602 --- Comment #8 from Jakub Jelinek 2012-06-08 07:57:23 UTC --- Or perhaps just handle this particular case for now, when there has been jump threading right after the sp adjustment sequence that cancelled each other. Thus, if we reach end of bb after the insn without seeing a CALL or or throwing insn and the bb has a single fallthru successor only, keep looking in the successor bb.
[Bug fortran/52552] [OOP] ICE when trying to allocate non-allocatable object giving a dynamic type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52552 --- Comment #5 from janus at gcc dot gnu.org 2012-06-08 07:55:34 UTC --- (In reply to comment #4) > This patch avoids the segfault and correctly rejects the test case. I hope it > does not introduce any other problems (I'll try it on the testsuite soon). It passes the testsuite without any failures.
[Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53602 Jakub Jelinek changed: What|Removed |Added CC||rth at gcc dot gnu.org --- Comment #7 from Jakub Jelinek 2012-06-08 07:51:25 UTC --- We end up with: (insn 38 73 40 5 (parallel [ (set (reg/f:SI 7 sp) (plus:SI (reg/f:SI 7 sp) (const_int 12 [0xc]))) (clobber (reg:CC 17 flags)) ]) pr53602.ii:359 251 {*addsi_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_ARGS_SIZE (const_int 0 [0]) (nil (insn 40 38 41 5 (parallel [ (set (reg/f:SI 7 sp) (plus:SI (reg/f:SI 7 sp) (const_int -12 [0xfff4]))) (clobber (reg:CC 17 flags)) ]) pr53602.ii:64 251 {*addsi_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_ARGS_SIZE (const_int 12 [0xc]) (nil (insn 41 40 42 5 (set (mem/f:SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S4 A32]) (mem/f/c:SI (plus:SI (reg/f:SI 6 bp) (const_int -12 [0xfff4])) [3 D.3489.pData+0 S4 A32])) pr53602.ii:64 43 {*pushsi2} (expr_list:REG_ARGS_SIZE (const_int 16 [0x10]) (nil))) before csa and csa obviously merges the two into sp += 0 that it wants to delete. force_move_args_size is called with prev == NULL (as it is at the start of a bb). But apparently cleanup_cfg at the start of csa pass jump threaded the call sequence starting at insn 41, so the two stack adjustments that cancel each other end up the only insns in a bb. So we trigger: /* ??? We *must* have a place, lest we ICE on the lost adjustment. Options are: dummy clobber insn, nop, or prevent the removal of the sp += 0 insn. Defer that decision until we can prove this can actually happen. */ I guess if we proved that all the predecessors of the bb have the same current REG_ARGS_SIZE, or all the successor have the same current REG_ARGS_SIZE, we could avoid the note altogether. Or do one of the things the comment talks about. Richard, can you please handle this?