Re: print operand modifiers in the manual
David Daney wrote: Mike Stump wrote: David Daney wrote: Ian Lance Taylor wrote: Mike Stump wrote: Where in the manual are the machine specific print operand modifiers documented? I've looked around, and just can seem to find them; surely, I can't be the first to document such a modifier. To the best of my knowledge they are not documented in the manual. The machine-specific asm constraint characters are documented in the manual, but I don't think the print operand modifiers are. Perhaps they should be added to the internals manual. Only if you move extended asms to the internals manual. :-( I got the idea from the Constraints documentation, and for those I always looked in the Internals Manual. But now I see that there is similar, but not identical, Constraints documentation in both the GCC manual and the Internals Manual. I am not so fluent in texinfo that I would attempt it, but it seems that these sections should be factored into separate files so that the same information can appear in both manuals and not have the current divergence of content. I am not sure if that is a good idea. For example, the X constraint is useful/needed in machine description but not at all in inline assembler. It is a bug to use X as inline assembler constraint, and it is confusing to inline assembler authors if it is documented. Other constraint might be p that is useful in md but not at all in inline assembler. Similar applies to the asm print modifiers. Any yes, the common ans useful print modifiers should be documented in the user manual, IMHO. Johann
Re: print operand modifiers in the manual
Ian Lance Taylor wrote: Mike Stump wrote: Where in the manual are the machine specific print operand modifiers documented? I've looked around, and just can seem to find them; surely, I can't be the first to document such a modifier. To the best of my knowledge they are not documented in the manual. The machine-specific asm constraint characters are documented in the manual, but I don't think the print operand modifiers are. Often, when I consult the user manual for target specific buts, I get the impression that the organization of these information is suboptimal because it is scattered all over the user manual: - target specific function attributes (even merged up with each other) - target specific data attributes - target specific type attributes - target specific named address spaces - target specific command options - target specific built-in defines - target specific buitt-in functions - target specific built-in types like __int24 or __int128 - target specific inline assembler constraints - target specific inline assembler print modififers - target specific #pragma - target specific built-in sections - target specific extension support like ISO/IEC TR 18037 - target specific implementation (int, void*, double, accum, fract, ...) - target specific restrictions and caveats (like .text 128KiB on avr) - target specific ABI, at least an outline like register usage, might help (inline) assembler programmers to write code that cooperates with code from GCC - target specific defaults: debug-info, frame layout, exception model, asm clobbers, SFR usage, ... All is scattered over the manual. There is no central place to read about target specific features and caveats. If you start with GCC and/or with a specific target architecture, it is *very* likely you miss some of these sections and get frustrated by non-functional code. Some of the above bits I just dropped in the Target Options section because there is no other canonical place, and the Target Options is likely to be read by the user, cf. [1] for example. Johann -- [1] http://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html
Re: Cgraph Modification Plan
Sorry to interrupt here, but please finish the existing partial C++ transitions instead of starting to work on new ones. Current stage1 will not last forever (stage1 is usually 6 months, so its natural end would be end of September). I'd rather have the current transition to a symbol table finished than having that half-way done and half-way done in C++. Please. I am focusing on getting the transition finished for 4.8. Some discussion about C++ transition (I would like to see done for 4.8 at least in the basic and obvious way) and problems people have with the current design seems good to me. We do not need to implement everything discussed in this thread immediately, but it is good to have the discussion. Btw, I also think the current symtab hierarchy is somewhat flawed. At the core a symtab entry should just be the symbol name and a list of entities associated with it (much similar to the LTO symtab stuff). We do have that. There is list of symtab entries sharing the same symtab hash entry (assembler name). I have WIP patch to make lto-symtab to use these instead of its own hashes. They need more testing and bit of cleanup though. Entities then are callgraph nodes, varpool nodes or alias nodes (or other Having alias nodes separate from callgrap/varpool is difficult thing. The problem is that one realy wants to handle function aliases as functions and variable aliases as variables (i.e. one want to have call to function alias, or read from variable alias but not other ways around). Thus we currently have aliases inherited from functions/variables both on tree declaration level and symbol table level. I have patches to commonize more the alias handling that is now duplicated over former cgraph/vaprool in queue though. stuff). Thus, the current symtab_node_base is too fat, and decls, instead of having DECL_ASSEMBLER_NAME should have a pointer to the (new) symtab node they are associated with. Yes, it is the longer term goal (or rather getting rid of assembler name in favor of real symbol name + flags that are currently encoded in assembler name) At the moment it does seem to make sense though when everything is tied to declarations and eclarations have their own assembler name. I will slowly work on this, but after 4.8. Honza Thanks, Richard.
gcc-c-api
After a hiatus, I've restarted work on an API for GCC plugins - specifically, a C API (given that my plugin is written in C, I have more interest in that than a C++ API). BTW, how many other GCC plugins are written in C? It's still a work-in-progress, but can be seen here: http://git.fedorahosted.org/cgit/gcc-python-plugin.git/tree/gcc-c-api?h=proposed-plugin-api i.e. within the proposed-plugin-api branch of the gcc-python-plugin, within the gcc-c-api subdirectory. I've been gradually porting the python plugin to use the proposed API, rather than poking at GCC's insides itself. I've also tried to follow the GNU coding conventions within that directory (the plugin itself follows the Python coding conventions). I haven't done the copyright assignment paperwork yet. There are no explicit test cases yet, though the python plugin's test suite passes, exercising the code indirectly. The API has a build-time dependency on Python (parts of it are autogenerated, and Python is my natural choice for this work). There isn't a runtime dep though. I started thinking about trying to create a patch to merge the API into the GCC source tree, but I'm running into some high-level issues: how is a plugin meant to actually use this API without requiring the use of an in-development version of GCC? Similarly, as a plugin author, I want my plugin to be usable against GCC 4.6 onwards, but GCC's internal APIs are gradually changing. I see a lot of #ifs in my future, and it makes sense to try to isolate the compatibility shims in one place, rather than having every plugin author maintain them. Given that, it's most useful, I think, if the API code can somehow be used independently of GCC: perhaps it's more of a compatibility shim that hides the differences between GCC versions (e.g. C vs C++ name mangling, C++ internals in 4.8 onwards etc) and provides a stable ABI (that way you only have to recompile the API implementation when recompilng GCC: all plugins built against the API should remain compatible - that's the goal, after all). I'm not sure exactly how this is to be structured: external project vs internal to gcc's source tree, but given that this is a non-trivial amount of code and that I want it to support gcc 4.6, perhaps external to the gcc source tree is the way to go. Thoughts? Hope this is helpful Dave
Bug in bitfield handling?
This seems to be a bug: struct bug { int f1:1; unsigned long long f2:31; }; struct bug test = { 1, 0x8000ULL }; int main (int c, char **v) { unsigned long long tf2; tf2 = test.f2 16; if (tf2 == 0x8000ULL) return 0; return 1; } Since the underlying type of field f2 is unsigned long long, I would not expect the expression test.f2 16 to do sign extending of a 32 bit intermediate result. But that is in fact what GCC produces, for x86_64-linux (gcc 4.7.0). If I explicitly cast test.f2 to unsigned long long before the shift, the expected result appears. But I shouldn't have to do that cast, given that the type of f2 is already unsigned long long, correct? paul
Re: Bug in bitfield handling?
On Fri, Sep 7, 2012 at 10:57 AM, paul_kon...@dell.com wrote: This seems to be a bug: struct bug { int f1:1; unsigned long long f2:31; }; struct bug test = { 1, 0x8000ULL }; int main (int c, char **v) { unsigned long long tf2; tf2 = test.f2 16; if (tf2 == 0x8000ULL) return 0; return 1; } Since the underlying type of field f2 is unsigned long long, I would not expect the expression test.f2 16 to do sign extending of a 32 bit intermediate result. But that is in fact what GCC produces, for x86_64-linux (gcc 4.7.0). If I explicitly cast test.f2 to unsigned long long before the shift, the expected result appears. But I shouldn't have to do that cast, given that the type of f2 is already unsigned long long, correct? The type of test.f2 is a 31 bit unsigned integer (the declared type is used for alignment) and that fits in a 32bit signed integer so when doing test.f2 16, it is promoted to only an 32bit signed integer. Thanks, Andrew paul
Re: Bug in bitfield handling?
On Sep 7, 2012, at 2:02 PM, Andrew Pinski wrote: On Fri, Sep 7, 2012 at 10:57 AM, paul_kon...@dell.com wrote: This seems to be a bug: struct bug { int f1:1; unsigned long long f2:31; }; struct bug test = { 1, 0x8000ULL }; int main (int c, char **v) { unsigned long long tf2; tf2 = test.f2 16; if (tf2 == 0x8000ULL) return 0; return 1; } Since the underlying type of field f2 is unsigned long long, I would not expect the expression test.f2 16 to do sign extending of a 32 bit intermediate result. But that is in fact what GCC produces, for x86_64-linux (gcc 4.7.0). If I explicitly cast test.f2 to unsigned long long before the shift, the expected result appears. But I shouldn't have to do that cast, given that the type of f2 is already unsigned long long, correct? The type of test.f2 is a 31 bit unsigned integer (the declared type is used for alignment) and that fits in a 32bit signed integer so when doing test.f2 16, it is promoted to only an 32bit signed integer. Thanks, Andrew Ok, thanks. GDB doesn't do things this way, so I guess I have to tell them. paul
gcc-4.6-20120907 is now available
Snapshot gcc-4.6-20120907 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.6-20120907/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.6 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch revision 191083 You'll find: gcc-4.6-20120907.tar.bz2 Complete GCC MD5=2dce1cb8d08eb17fc4668552d58a3ffb SHA1=0bda06e3d15a9b8340571a731f7a11e02e787605 Diffs from 4.6-20120831 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.6 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
[Bug driver/54504] Link failed when I move the GCC to another directory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54504 --- Comment #6 from progmei progmei at 163 dot com 2012-09-07 06:35:41 UTC --- I've tried to use sysroot option, but I compile the GCC failed. ../gcc-4.7.1/configure --prefix=/repo/yuhuamei/mips-linux-eglibc-gnu --target=mips-linux --with-ppl=/repo/yuhuamei/ppl --with-cloog=/repo/yuhuamei/cloog-ppl --enable-__cxa_atexit --enable-languages=c,c++ --with-sysroot=/repo/yuhuamei/mips-linux-eglibc-gnu /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/lib/libc.so.6 inside /repo/yuhuamei/gccobjdir/gcc/../../mips-linux-eglibc-gnu /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/lib/libc_nonshared.a inside /repo/yuhuamei/gccobjdir/gcc/../../mips-linux-eglibc-gnu /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/lib/ld.so.1 inside /repo/yuhuamei/gccobjdir/gcc/../../mips-linux-eglibc-gnu
[Bug driver/54504] Link failed when I move the GCC to another directory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54504 --- Comment #7 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-07 06:38:59 UTC --- I've tried to use sysroot option, but I compile the GCC failed. Because that is not the correct usage of sysroot. You want a full sysroot under the prefix directory: /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot And install the libc inside that directory.
[Bug libstdc++/54513] New: undefined reference to `___tls_get_addr' when linking .so with libstdc++.a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54513 Bug #: 54513 Summary: undefined reference to `___tls_get_addr' when linking .so with libstdc++.a Classification: Unclassified Product: gcc Version: 4.7.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: d@ngs.ru Target: i686-pc-linux-gnu Program: #includeiostream void f() {} Build command: $ g++ -shared -static-libstdc++ -static-libgcc -Wl,-s -Wl,--no-undefined 1.cpp /opt/gcc-4.7.1/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../libstdc++.a(future.o)(.gnu.linkonce.t._ZSt16__once_call_implISt12_Bind_simpleIFSt7_Mem_fnIMSt6threadFvvEESt17reference_wrapperIS2_vv+0x17): In function `void std::__once_call_implstd::_Bind_simplestd::_Mem_fnvoid (std::thread::*)() ()(std::reference_wrapperstd::thread) ()': /home/vdyachenko/work/gcc-4.7.1/i686-pc-linux-gnu/libstdc++-v3/include/mutex:787: undefined reference to `___tls_get_addr' /opt/gcc-4.7.1/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../libstdc++.a(future.o)(.gnu.linkonce.t._ZSt9call_onceIMSt6threadFvvEISt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_+0x34): In function `_ZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_': /home/vdyachenko/work/gcc-4.7.1/i686-pc-linux-gnu/libstdc++-v3/include/mutex:809: undefined reference to `___tls_get_addr' /opt/gcc-4.7.1/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../libstdc++.a(future.o)(.gnu.linkonce.t._ZSt9call_onceIMSt6threadFvvEISt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_+0x45):/home/vdyachenko/work/gcc-4.7.1/i686-pc-linux-gnu/libstdc++-v3/include/mutex:810: undefined reference to `___tls_get_addr' /opt/gcc-4.7.1/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../libstdc++.a(mutex.o)(.text.__once_proxy+0x17): In function `__once_proxy': ../../../.././libstdc++-v3/src/c++11/mutex.cc:90: undefined reference to `___tls_get_addr' /opt/gcc-4.7.1/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../libstdc++.a(eh_globals.o)(.text.__cxa_get_globals_fast+0x14): In function `__cxa_get_globals_fast': ../../.././libstdc++-v3/libsupc++/eh_globals.cc:59: undefined reference to `___tls_get_addr' /opt/gcc-4.7.1/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../libstdc++.a(eh_globals.o)(.text.__cxa_get_globals+0x14):../../.././libstdc++-v3/libsupc++/eh_globals.cc:63: more undefined references to `___tls_get_addr' follow collect2: error: ld returned 1 exit status make: *** [a.out] Error 1 OS: CentOS 4 $ uname -a Linux jansmb 2.6.9-103.ELsmp #1 SMP Fri Dec 9 04:31:51 EST 2011 i686 i686 i386 GNU/Linux
[Bug libstdc++/54513] undefined reference to `___tls_get_addr' when linking .so with libstdc++.a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54513 --- Comment #1 from __vic d.v.a at ngs dot ru 2012-09-07 07:19:43 UTC --- Note: compiler with stdlib was built manually from sources
[Bug libstdc++/54513] undefined reference to `___tls_get_addr' when linking .so with libstdc++.a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54513 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jakub at gcc dot gnu.org Resolution||INVALID --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 07:33:46 UTC --- Don't use -Wl,--no-undefined on CentOS 4, it is too old for that. In particular, AS_NEEDED ( /lib/ld-linux.so.2 ) is missing in /usr/lib/libc.so, so for TLS using programs which use ___tls_get_addr or other symbols provided by ld.so you need to specify ld.so on the command line explicitly when using -Wl,-z,defs. On newer OSes that is not needed.
[Bug driver/54504] Link failed when I move the GCC to another directory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54504 --- Comment #8 from progmei progmei at 163 dot com 2012-09-07 07:41:20 UTC --- I tried it again with your suggestion, but it also failed. ../gcc-4.7.1/configure --prefix=/repo/yuhuamei/mips-linux-eglibc-gnu --target=mips-linux --with-ppl=/repo/yuhuamei/ppl --with-cloog=/repo/yuhuamei/cloog-ppl --enable-__cxa_atexit --enable-languages=c,c++ --with-sysroot=/repo/yuhuamei/mips-linux-eglibc-gnu/sysroot /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot/lib/libc.so.6 inside /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot/lib/libc_nonshared.a inside /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot/lib/ld.so.1 inside /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot
[Bug c++/54511] internal compiler error: in make_decl_rtl, at varasm.c:1147
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 08:03:22 UTC --- template int i struct S { S () { union { int a; }; a = 0; } }; S0 s; Somehow the decl in the assignment isn't getting remapped during clone_body.
[Bug middle-end/53696] [4.7/4.8 Regression] ICE: SIGSEGV in gimplify_decl_expr (gimplify.c:1454) with -fkeep-inline-functions on invalid use of lambda
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53696 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug fortran/53718] [4.7/4.8 regression] [OOP] gfortran generates asm label twice in the same output file
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53718 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4
[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Known to work||4.4.7 Keywords||ice-on-valid-code Last reconfirmed||2012-09-07 Ever Confirmed|0 |1 Summary|internal compiler error: in |[4.6/4.7/4.8 Regression] |make_decl_rtl, at |internal compiler error: in |varasm.c:1147 |make_decl_rtl, at ||varasm.c:1147 Target Milestone|--- |4.6.4 Known to fail||4.5.4 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 08:19:16 UTC --- Confirmed.
[Bug tree-optimization/54498] [4.6 Regression] incorrect code generation from g++ -O
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54498 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.2 Summary|[4.6/4.7/4.8 Regression]|[4.6 Regression] incorrect |incorrect code generation |code generation from g++ -O |from g++ -O | --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 08:19:52 UTC --- Sofar fixed on trunk and 4.7 branch.
[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org |
[Bug c++/54483] undefined reference to static constexpr in .so
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54483 --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-09-07 08:30:36 UTC --- (In reply to comment #3) (In reply to comment #1) This is invalid as per [class.static.data]/3 : On C++11 level it should be valid http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#712 is post-C++11 but as a DR we should implement it for all values of -std
[Bug c++/54509] If Move constructor is templatized then it is invoked else not
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54509 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-09-07 08:31:25 UTC --- as Daniel said
[Bug middle-end/53696] [4.7/4.8 Regression] ICE: SIGSEGV in gimplify_decl_expr (gimplify.c:1454) with -fkeep-inline-functions on invalid use of lambda
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53696 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-07 08:35:41 UTC --- Bah, in my opinion ranking P2 an ice on invalid after meaningful diagnostics, which moreover happens on a testcase which used to ice anyway before my patch, only, without the keep-inline-functions on the command line, doesn't look right. Anyway, I'll see what I can do, for .0 we may have to revert my patch.
[Bug driver/54504] Link failed when I move the GCC to another directory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54504 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||WORKSFORME --- Comment #9 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-07 08:49:14 UTC --- /repo/yuhuamei/mips-linux-eglibc-gnu/mips-linux/bin/ld: cannot find /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot/lib/libc.so.6 inside /repo/yuhuamei/mips-linux-eglibc-gnu/sysroot How are you configuring glibc? I think that is the problem here. You should only configure glibc with --prefix=/usr . And then install like: make install install_root=${MY_PREFIX}/sysroot .
[Bug libstdc++/54513] undefined reference to `___tls_get_addr' when linking .so with libstdc++.a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54513 --- Comment #3 from __vic d.v.a at ngs dot ru 2012-09-07 08:58:39 UTC --- $ g++ -shared -static-libstdc++ -static-libgcc -Wl,-s -Wl,--no-undefined 1.cpp /lib/ld-linux.so.2 works fine. Thanks
[Bug fortran/54514] New: g0 output format has too few digits when writing reals
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54514 Bug #: 54514 Summary: g0 output format has too few digits when writing reals Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: clivegp...@gmail.com As far as I can see, writing a real value with g0.d should produce the same output as f0.d for reasonable values of d, provided the value is in range for fixed-point rather than exponential output. This test program shows the problem: program gformat implicit none real :: pi = 3.1415926535 write(*, '(a,f0.3,a,g0.3,a)') 'f0.3:', pi, ' g0.3:', pi, '' end The results give f0.3:3.142 g0.3:3.14 The relevant part of the F2008 Standard is 10.7.5.2.2 subsection 4. Regards Clive Page
[Bug middle-end/53667] [4.6/4.7/4.8 Regression] Cray pointer: Wrong result with optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53667 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 09:01:10 UTC --- Ok, so fixing this will pessimize gfortran.dg/c_ptr_tests_16.f90 as print '(z8)', a will now clobber a even though we have _gfortran_transfer_integer_write (dt_parm.1, a, 8); marked with .wR (that is, a is specified as to not escape and not be clobbered). Still, as dt_parm.1 is clobbered it possibly gets assigned a and by means of being clobbered it will clobber a ... Not sure if we can restrict non-escaping to also not escape to other parameters? Possibly we should, otherwise this property won't be very useful.
[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|NEW CC||jason at gcc dot gnu.org AssignedTo|jakub at gcc dot gnu.org|unassigned at gcc dot ||gnu.org --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 09:05:18 UTC --- Seems the bug is on the C++ FE side, we have different a VAR_DECLs. One is created by finish_anon_union - build_anon_union_vars during tsubst_expr, but when tsubsting the a = 0; assignment that VAR_DECL is copied to a new VAR_DECL by tsubst_decl. Apparently build_anon_union_vars is called twice, once during parsing, once during instantiation, but all the pushdecls the second time look really weird and don't affect what VAR_DECLs the following code actually uses. I would expect that during tsubst either build_anon_union_vars isn't called at all and instead pt.c somehow adjusts when needed the VAR_DECLs that were already created (after tsubst_decling them), or create a new set of vars, but somehow arrange those to be registered as the local specializations of the old vars. Jason, could you please look at this? Thanks.
[Bug c++/54510] If Move constructor is templatized then, that version is invoked instead default move
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54510 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-07 09:19:49 UTC --- Closing.
[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986 --- Comment #11 from vries at gcc dot gnu.org 2012-09-07 09:21:18 UTC --- Author: vries Date: Fri Sep 7 09:21:11 2012 New Revision: 191057 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191057 Log: 2012-09-07 Tom de Vries t...@codesourcery.com PR tree-optimization/53986 * tree-vrp.c (extract_range_from_multiplicative_op_1): Allow LSHIFT_EXPR. (extract_range_from_binary_expr_1): Handle LSHIFT with constant range as shift amount. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-vrp.c
[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986 --- Comment #11 from vries at gcc dot gnu.org 2012-09-07 09:21:18 UTC --- Author: vries Date: Fri Sep 7 09:21:11 2012 New Revision: 191057 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191057 Log: 2012-09-07 Tom de Vries t...@codesourcery.com PR tree-optimization/53986 * tree-vrp.c (extract_range_from_multiplicative_op_1): Allow LSHIFT_EXPR. (extract_range_from_binary_expr_1): Handle LSHIFT with constant range as shift amount. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-vrp.c --- Comment #12 from vries at gcc dot gnu.org 2012-09-07 09:21:31 UTC --- Author: vries Date: Fri Sep 7 09:21:21 2012 New Revision: 191058 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191058 Log: 2012-09-07 Tom de Vries t...@codesourcery.com PR tree-optimization/53986 * gcc.dg/tree-ssa/vrp80.c: New test. * gcc.dg/tree-ssa/vrp80-2.c: Same. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp80-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp80.c Modified: trunk/gcc/testsuite/ChangeLog
[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986 --- Comment #12 from vries at gcc dot gnu.org 2012-09-07 09:21:31 UTC --- Author: vries Date: Fri Sep 7 09:21:21 2012 New Revision: 191058 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191058 Log: 2012-09-07 Tom de Vries t...@codesourcery.com PR tree-optimization/53986 * gcc.dg/tree-ssa/vrp80.c: New test. * gcc.dg/tree-ssa/vrp80-2.c: Same. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp80-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp80.c Modified: trunk/gcc/testsuite/ChangeLog
[Bug c++/53836] [4.7/4.8 Regression] ICE: unexpected expression of kind template_parm_index
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53836 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.2 Keywords||rejects-valid Priority|P3 |P2 Known to work||4.6.3 Version|unknown |4.7.1
[Bug libstdc++/54388] [4.7/4.8 Regression] std::array.at() const results in undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54388 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||jwakely.gcc at gmail dot ||com --- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-07 09:24:21 UTC --- Jon, can you handle this?
[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986 vries at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #13 from vries at gcc dot gnu.org 2012-09-07 09:25:34 UTC --- (In reply to comment #1) VRP does not handle LSHIFT like D.1734_10 = (long unsigned int) D.1731_7; csui.1_9 = 1 D.1734_10; it only handles LSHIFTs with a constant shift amount: This is handled in the commit in comment 11. All other issues in the report have been addressed, closing bug.
[Bug c++/53839] [4.7/4.8 Regression] [C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53839 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug target/54252] [4.7/4.8 Regression] Bad alignment code generated for Neon loads
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54252 --- Comment #10 from Ramana Radhakrishnan ramana at gcc dot gnu.org 2012-09-07 09:32:00 UTC --- Author: ramana Date: Fri Sep 7 09:31:54 2012 New Revision: 191059 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191059 Log: Fix PR target/54252 2012-09-07 Ramana Radhakrishnan ramana.radhakrish...@arm.com Backport from mainline. 2012-08-29 Ramana Radhakrishnan ramana.radhakrish...@arm.com Richard Earnshaw richard.earns...@arm.com PR target/54252 * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by element size. Use elem_type from the formal parameter. New parameter fcode. (neon_expand_args): Adjust call to neon_dereference_pointer. Modified: branches/gcc-4_7-branch/ (props changed) branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/config/arm/arm.c Propchange: branches/gcc-4_7-branch/ ('svn:mergeinfo' modified)
[Bug libstdc++/54296] using the object in the map to erase element from the map crashes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54296 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.8.0 --- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-07 09:34:30 UTC --- Fixed.
[Bug middle-end/53844] [4.6/4.7 Regression] GCC generates suboptimal code for unused members of classes in some cases on multiple targets.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53844 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug rtl-optimization/54455] [4.7 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455 --- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 09:35:33 UTC --- Author: jakub Date: Fri Sep 7 09:35:21 2012 New Revision: 191060 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191060 Log: 2012-09-07 Jakub Jelinek ja...@redhat.com Backported from mainline 2012-09-06 Jakub Jelinek ja...@redhat.com PR rtl-optimization/54455 * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru bb ends up with asm goto referencing bb's label. * gcc.dg/54455.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/54455.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/sel-sched-ir.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug rtl-optimization/54455] [4.7 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 09:35:33 UTC --- Author: jakub Date: Fri Sep 7 09:35:21 2012 New Revision: 191060 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191060 Log: 2012-09-07 Jakub Jelinek ja...@redhat.com Backported from mainline 2012-09-06 Jakub Jelinek ja...@redhat.com PR rtl-optimization/54455 * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru bb ends up with asm goto referencing bb's label. * gcc.dg/54455.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/54455.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/sel-sched-ir.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog --- Comment #17 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 09:36:00 UTC --- Fixed.
[Bug rtl-optimization/54455] [4.7 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #17 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-07 09:36:00 UTC --- Fixed.
[Bug c++/53862] [4.6/4.7 regression] [C++11] sorry, unimplemented: use of 'type_pack_expansion' in template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53862 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug middle-end/53667] [4.6/4.7/4.8 Regression] Cray pointer: Wrong result with optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53667 --- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-07 09:38:56 UTC --- (In reply to comment #5) Not sure if we can restrict non-escaping to also not escape to other parameters? Possibly we should, otherwise this property won't be very useful. I think that's also what the current setting in Fortran's trans-types.c's create_fn_spec does: It also sets . instead of r or w for TARGET as the pointer address of those can escape via the argument or otherwise. If an argument is neither TARGET nor POINTER, I don't see a way how a pointer can escape. Thus, I think that interpretation makes sense from the Fortran side. (I haven't audited the fn spec for the libgfortran functions, but I think for those the same applies.)
[Bug bootstrap/53912] [4.7/4.8 Regression] bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53912 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug tree-optimization/53922] [4.6/4.7 Regression] VRP: semantic conflict between range_includes_zero_p and value_inside_range
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53922 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug c++/53958] set_slot_part and canon_value_cmp using 90% of compile time
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53958 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-07 Blocks||47344 Target Milestone|4.6.4 |--- Summary|[4.6/4.7/4.8 Regression]|set_slot_part and |set_slot_part and |canon_value_cmp using 90% |canon_value_cmp using 90% |of compile time |of compile time | Ever Confirmed|0 |1 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 09:46:43 UTC --- Confirmed. Happens in all maintained releases, duplicating the regression to 47344.
[Bug tree-optimization/54000] [4.6/4.7/4.8 Regression][IVOPTS] Performance breakdown for gcc-4.{6,7} vs. gcc-4.5 using std::vector in matrix vector multiplication
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54000 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Summary|[4.6/4.7/4.8 Regression]|[4.6/4.7/4.8 |Performance breakdown for |Regression][IVOPTS] |gcc-4.{6,7} vs. gcc-4.5 |Performance breakdown for |using std::vector in matrix |gcc-4.{6,7} vs. gcc-4.5 |vector multiplication |using std::vector in matrix ||vector multiplication Known to fail||4.7.1, 4.8.0 --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:00:27 UTC --- Thanks for the reduced testcase. The innermost loops compare as follows: 4.5: .L7: movsd (%rbx,%rcx), %xmm0 addq$8, %rcx mulsd 0(%rbp,%rdx), %xmm0 addq$8, %rdx cmpq$24, %rdx addsd %xmm0, %xmm1 movsd %xmm1, (%rsi) jne .L7 4.7: .L13: movq64(%rsp), %rdi movq80(%rsp), %rdx addq%rcx, %rdi addq%r8, %rdx movsd -8(%rax,%rdi), %xmm0 mulsd (%rsi,%rax), %xmm0 addq$8, %rax cmpq$24, %rax addsd (%rdx), %xmm0 movsd %xmm0, (%rdx) jne .L13 so we seem to have a register allocation / spilling issue here as well as a bad induction variable choice. GCC 4.8 is not any better here.
[Bug c++/54515] New: cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 Bug #: 54515 Summary: cc1plus sigsegv -O2 anonymous namespace Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: werner.he...@alumni.tu-berlin.de cc1plus crashes with a sigsegv. The crash does occur with -O2, not with -Os or -O1. The crash does not occur if I do not use an anonymous namespace for the functions ReadPIB7400, ReadPIB7420, AddAdapterAndReferencedAdapters and GenerateTrafficForPhyRate (by commenting out the lines #73452, #73458, #74520 and #74616).
[Bug middle-end/54041] [4.7/4.8 regression] -mshort ICE in convert_memory_address_addr_space, at explow.c:327
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54041 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target||m68k-linux-gnu Priority|P3 |P4
[Bug c++/54046] [4.6/4.7/4.8 Regression] wrong control reaches end of non-void function for switch case with throw and default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54046 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.6.4 Priority|P3 |P2
[Bug target/54051] [4.7 Regression] Invalid alignment specifier generated for vld3_lane_* and vld3_dup_* intrinsics.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54051 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Summary|[4.7/ 4.8 regression] |[4.7 Regression] Invalid |Invalid alignment specifier |alignment specifier |generated for vld3_lane_* |generated for vld3_lane_* |and vld3_dup_* intrinsics. |and vld3_dup_* intrinsics.
[Bug c++/54053] [4.7 Regression] g++ accepts (invalid?) 0; expression.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54053 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||accepts-invalid Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.7.2 |4.8.0 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:08:03 UTC --- Fixed on trunk.
[Bug tree-optimization/54073] [4.7/4.8 Regression] SciMark Monte Carlo test performance has seriously decreased in recent GCC releases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54073 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||missed-optimization Priority|P3 |P2
[Bug tree-optimization/54077] [4.7/4.8 Regression] Bytemark FP EMULATION 44% slower than with clang
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54077 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 --- Comment #13 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:14:28 UTC --- I can't see any such regression on our autotesters. They run with -O3 -ffast-math -funroll-loops -march=native on various AMD architectures.
[Bug c++/54145] [4.7/4.8 Regression] no symbol generated for `void QMailThreadSortKey::deserializeQDataStream(QDataStream)'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54145 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-07 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:20:47 UTC --- I can confirm that the symbol is not emitted. I cannot confirm this is an error.
[Bug target/54160] [4.6/4.7/4.8 Regression] gcc should not define __OBJC2__ when lang is not set to ObjC (gcc 4.6 and later)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54160 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug libstdc++/54172] [4.7 Regression] __cxa_guard_acquire thread-safety issue
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54172 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||wrong-code Priority|P3 |P2 Summary|[4.7/4.8 Regression]|[4.7 Regression] |__cxa_guard_acquire |__cxa_guard_acquire |thread-safety issue |thread-safety issue --- Comment #13 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:23:00 UTC --- Fixed on trunk sofar.
[Bug middle-end/54515] cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2012-09-07 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:24:50 UTC --- Attachment missing.
[Bug fortran/54208] [4.6/4.7/4.8 Regression] compilation error for ubound construct in PARAMETER statements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54208 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4
[Bug fortran/54225] [4.6/4.7/4.8 Regression] fortran compiler segfault processing ' print *, A(1,*) '
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54225 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug fortran/54225] [4.6/4.7/4.8 Regression] fortran compiler segfault processing ' print *, A(1,*) '
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54225 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Priority|P2 |P4
[Bug middle-end/53667] [4.6/4.7/4.8 Regression] Cray pointer: Wrong result with optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53667 --- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:27:07 UTC --- Author: rguenth Date: Fri Sep 7 10:27:02 2012 New Revision: 191064 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191064 Log: 2012-09-07 Richard Guenther rguent...@suse.de PR middle-end/53667 * tree-ssa-structalias.c (handle_rhs_call): Properly clobber EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT arguments separately. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-structalias.c
[Bug target/54252] [4.7/4.8 Regression] Bad alignment code generated for Neon loads
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54252 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #11 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:28:05 UTC --- Fixed.
[Bug middle-end/53667] [4.6/4.7/4.8 Regression] Cray pointer: Wrong result with optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53667 --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:30:00 UTC --- Author: rguenth Date: Fri Sep 7 10:29:56 2012 New Revision: 191065 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191065 Log: 2012-09-07 Richard Guenther rguent...@suse.de PR middle-end/53667 * tree-ssa-structalias.c (handle_rhs_call): Properly clobber EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT arguments separately. Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/tree-ssa-structalias.c
[Bug tree-optimization/54295] [4.7 Regression] Widening multiply-accumulate operation uses wrong value extension
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54295 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Summary|[4.7/4.8 regression]|[4.7 Regression] Widening |Widening|multiply-accumulate |multiply-accumulate |operation uses wrong value |operation uses wrong value |extension |extension | --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:31:13 UTC --- Fixed on trunk sofar.
[Bug middle-end/53667] [4.6 Regression] Cray pointer: Wrong result with optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53667 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.2, 4.8.0 Summary|[4.6/4.7/4.8 Regression]|[4.6 Regression] Cray |Cray pointer: Wrong result |pointer: Wrong result with |with optimizations |optimizations --- Comment #9 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:32:04 UTC --- Fixed for 4.7/4.8 sofar, latent on the 4.6 branch but more difficult to backport.
[Bug target/54300] [4.7/4.8 Regression] Erroneous optimization causes wrong Neon data management
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54300 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |UNCONFIRMED Known to work||4.6.3 Ever Confirmed|1 |0
[Bug libstdc++/54307] [4.7 regression] increases in memory usage by some C++11 (and C++03) standard containers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54307 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||FIXED --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:35:04 UTC --- I believe this change has been reverted for 4.7.2.
[Bug c++/54341] [4.7 Regression] ICE (segfault) in cx_check_missing_mem_inits, at cp/semantics.c:6093
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54341 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Summary|[4.7/4.8 Regression] ICE|[4.7 Regression] ICE |(segfault) in |(segfault) in |cx_check_missing_mem_inits, |cx_check_missing_mem_inits, |at cp/semantics.c:6093 |at cp/semantics.c:6093 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:36:26 UTC --- Fixed for trunk sofar.
[Bug tree-optimization/54295] [4.7 Regression] Widening multiply-accumulate operation uses wrong value extension
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54295 --- Comment #6 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-09-07 10:37:12 UTC --- Author: rearnsha Date: Fri Sep 7 10:37:08 2012 New Revision: 191066 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191066 Log: PR tree-ssa/54295 * tree-ssa-math-opts.c (widening_mult_conversion_strippable_p): Sign-extension of a zero-extended value can be simplified to just zero-extension. testsuite: * gcc.target/arm/pr50318-1.c: Scan for smlal. * gcc.target/arm/smlaltb-1.c: XFAIL test. * gcc.target/arm/smlaltt-1.c: Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/arm/pr50318-1.c trunk/gcc/testsuite/gcc.target/arm/smlaltb-1.c trunk/gcc/testsuite/gcc.target/arm/smlaltt-1.c trunk/gcc/tree-ssa-math-opts.c
[Bug target/54373] [4.7/4.8 Regression]: build fails for mmix-knuth-mmixware libobjc GCC_NO_EXECUTABLES
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54373 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4
[Bug libstdc++/54388] [4.7/4.8 Regression] std::array.at() const results in undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54388 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug libstdc++/54392] [4.6/4.7/4.8 Regression] std::string::assign() fails to update length
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54392 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||wrong-code Priority|P3 |P2
[Bug c++/54416] [4.7/4.8 Regression] ICE (segv) in codegen
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54416 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||error-recovery Priority|P3 |P4
[Bug fortran/54443] [4.7 Regression] Segmentation Fault when Compiling for code using Fortran Polymorphic Entities
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54443 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.2 Priority|P3 |P4 Summary|[4.7/4.8 Regression]|[4.7 Regression] |Segmentation Fault when |Segmentation Fault when |Compiling for code using|Compiling for code using |Fortran Polymorphic |Fortran Polymorphic |Entities|Entities --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 10:48:22 UTC --- Fixed on trunk sofar.
[Bug middle-end/54516] New: ICE in reload_cse_simplify_operands, at postreload.c:403 with -O1 -march=armv7-a -mthumb
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54516 Bug #: 54516 Summary: ICE in reload_cse_simplify_operands, at postreload.c:403 with -O1 -march=armv7-a -mthumb Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: bernhard.rosenkran...@linaro.org Created attachment 28143 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28143 Reduced test case $ arm-linux-gnueabi-g++ -O1 -march=armv7-a -mthumb -S ice.cc ice.cc: In function 'void bug1046999()': ice.cc:12:1: error: insn does not satisfy its constraints: (insn 121 120 52 2 (set (zero_extract:SI (reg/f:SI 13 sp) (const_int 16 [0x10]) (const_int 16 [0x10])) (const_int 65535 [0x])) bug1046999.cc:3 348 {*arm_movtas_ze} (nil)) ice.cc:12:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:403 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. Introduced in svn rev 190472
[Bug middle-end/54486] [4.6 Regression] Spurious printf format warning mentions nonexistent type 'sizetype'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54486 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2 Summary|[4.6/4.7/4.8 Regression]|[4.6 Regression] Spurious |Spurious printf format |printf format warning |warning mentions|mentions nonexistent type |nonexistent type 'sizetype' |'sizetype'
[Bug target/45070] Miscompiled c++ class with packed attribute on ARM with -Os optimizations (Qt 4.6.2)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45070 --- Comment #24 from amker at gcc dot gnu.org 2012-09-07 10:50:40 UTC --- Author: amker Date: Fri Sep 7 10:50:35 2012 New Revision: 191067 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191067 Log: Backport from 2012-09-04 mainline r190919 PR target/45070 * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value of size less than 4 bytes by using macro ARM_NUM_INTS. (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS. Modified: branches/ARM/embedded-4_7-branch/gcc/ChangeLog.arm branches/ARM/embedded-4_7-branch/gcc/config/arm/arm.c
[Bug middle-end/54515] cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 --- Comment #2 from Werner Henze werner.henze at alumni dot tu-berlin.de 2012-09-07 10:53:33 UTC --- Created attachment 28144 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28144 preprocessed file as written by the sigsegv handler
[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug target/45070] Miscompiled c++ class with packed attribute on ARM with -Os optimizations (Qt 4.6.2)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45070 --- Comment #25 from amker at gcc dot gnu.org 2012-09-07 11:01:02 UTC --- Author: amker Date: Fri Sep 7 11:00:52 2012 New Revision: 191068 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191068 Log: Backport from 2012-09-04 mainline r190919 PR target/45070 * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value of size less than 4 bytes by using macro ARM_NUM_INTS. (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS. Modified: branches/ARM/embedded-4_6-branch/gcc/ChangeLog.arm branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.c
[Bug middle-end/52640] [4.8 Regression] performance bottleneck: gcc/tree.c;value_member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52640 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1 --- Comment #15 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:10:57 UTC --- Any progress on the real solution? If not, can you install the branch fix on trunk? Thx.
[Bug middle-end/52650] [4.8 Regression] FAIL: gcc.dg/torture/pr51106-2.c * (internal compiler error)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52650 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug middle-end/52664] [4.8 Regression]: gcc.dg/tree-ssa/pr31261.c fails
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52664 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4 Component|other |middle-end --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:18:13 UTC --- That's fold.
[Bug other/52777] [4.8 Regression] ./options.h:3546:0: error: MASK_SIO redefined [-Werror]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52777 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:19:26 UTC --- Fixed.
[Bug middle-end/52996] [4.8 Regression] ice in verify_loop_structure, at cfgloop.c:1567
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52996 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug middle-end/53062] [4.8 Regression] 445.gobmk in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53062 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2012-09-07 Ever Confirmed|0 |1 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:23:46 UTC --- I don't see it failing - does it still fail for you?
[Bug middle-end/53088] [4.8 Regression] gcc.target/i386/pr39082-1.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53088 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:25:26 UTC --- Fixed.
[Bug middle-end/53106] [4.8 Regression] Benchmarks in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53106 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #10 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:27:41 UTC --- Fixed I presume.
[Bug debug/53135] [4.7/4.8 Regression] internal compiler error: in value_format, at dwarf2out.c:8010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53135 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P2
[Bug other/53143] [4.8 Regression] ' in c_tree_printer, at c-objc-common.c:136
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53143 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||FIXED --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:33:10 UTC --- Supposedly fixed.
[Bug libstdc++/54388] [4.7/4.8 Regression] std::array.at() const results in undefined behaviour
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54388 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC|jwakely.gcc at gmail dot| |com | AssignedTo|unassigned at gcc dot |redi at gcc dot gnu.org |gnu.org | --- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org 2012-09-07 11:35:31 UTC --- mine
[Bug middle-end/53161] [4.8 Regression] ICE with weakref function and a function which takes vector types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53161 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #11 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:43:32 UTC --- Fixed.
[Bug regression/53203] [4.8 Regression]: gcc.dg/setjmp-1.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53203 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4
[Bug bootstrap/53300] [4.8 Regression] AIX bootstrap related to varpool patch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53300 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug middle-end/54515] cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 --- Comment #3 from Werner Henze werner.henze at alumni dot tu-berlin.de 2012-09-07 11:49:43 UTC --- Created attachment 28145 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28145 preprocessed file as written by the sigsegv handler Just saw a second sigsegv. This might be related to the bug (including same project files), but it might also be another bug. This compilation succeeds with -O0 and -O1, it crashes with -O3, -O2 and -Os. In this case there is no anonymous namespace involved.
[Bug middle-end/53338] [4.8 Regression] Unaligned store generated for aligned data
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53338 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:49:51 UTC --- This has been fixed by the most recent re-org of how get_object_alignment works.
[Bug tree-optimization/53342] [4.8 Regression] rnflow.f90 is ~5% slower after revision 187340
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53342 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug bootstrap/53343] [4.8 regression] options.c:9944:1: error: no previous prototype for 'common_handle_option_auto' breaks bootstrap
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53343 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.8.0 Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-07 11:53:20 UTC --- Fixed, --disable-build-poststage1-with-cxx no longer existent.