[Bug libstdc++/56166] std::string::clear() can throw despite being marked noexcept
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56166 --- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2013-02-01 08:41:59 UTC --- 4.9, yes. Of course wrt the C++11 requirements the current implementation is non conforming for many other reasons (reference counting is out ruled) + there are long standing bugs (in partixular alignment related and related to the shared zero rep for some targets). It goes without saying that when ext/vstring is promoted it also gets automatically all the iostream overloads, etc, and further improvements are definitely welcome. That said, for sure I don't mean to unconditionally oppose fixes to the current implementation, eh Jon's idea seems fine to me in principle, if only he could prototype it, would be great, my point was that it doesn't seem to make much sense doing a *lot* of that *now*.
[Bug middle-end/56113] out of memory when compiling a function with many goto labels (50k )
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56113 --- Comment #25 from rguenther at suse dot de rguenther at suse dot de 2013-02-01 08:48:32 UTC --- On Thu, 31 Jan 2013, steven at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56113 --- Comment #24 from Steven Bosscher steven at gcc dot gnu.org 2013-01-31 23:22:43 UTC --- (In reply to comment #23) (In reply to comment #19) Created attachment 29317 [details] kill dominator queries from domwalk This patch kills dominator queries from domwalk, removing a quadratic bottleneck I introduced there. Do so by sorting DOM children after DFS completion numbers. Which hopefully results in equivalent operation ;) Another alternative would be to set up a vector with the edge counts at the start of the dominator walk. When visiting a basic block bb, do FOR_EACH_EDGE (e, ei, bb-succs) if (e-dest-index unvisited_preds_count.length () // * (single_pred_p (e-dest) // common case, cheap test || dominated_by_p (CDI_DOMINATORS, e-dest, e-src)) --unvisited_preds_count[e-dest] and replace the expensive loop: FOR_EACH_EDGE (e, ei, bb-preds) { if (!dominated_by_p (CDI_DOMINATORS, e-src, e-dest) !bitmap_bit_p (visited, e-src-index)) { found = false; break; } } with: if (e-dest-index unvisited_preds_count.length () // * unvisited_preds_count[e-dest-index] 0) { found = false; break; } Yeah, I thought about such scheme but found the proposed patch much better ;) (*) can go away if CFG modifications are forbidden during a domwalk, but that's for GCC 4.9 earliest. But it seems the patch passed bootstrap regtest ok ... I wonder how CFG modifications would survive the current scheme - after all we're using a visited sbitmap, too. So it at least can't be allowed to add basic-blocks during the domwalk. Changing dominator relationship with the proposed patch would only make the sorting bogus (thus, back to random, as it were before the issue was introduced to domwalk which was rev. 159100). So, I'm going to propose the patch nevertheless - did you spot code that does CFG manipulations? asan/tsan do not use domwalk as far as I can see. Richard.
[Bug c/48418] [4.6/4.7 Regression] Bit shift operator =
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48418 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 09:11:05 UTC --- I don't think this is suitable for older branches, for -Werror it might cause failures where there weren't with older 4.7.x (or 4.6.x) compilers, something undesirable on release branches if possible.
[Bug fortran/56169] Installation the Chromium from ports fails
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56169 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Target||i386-portbld-freebsd8.1 Status|UNCONFIRMED |WAITING Last reconfirmed||2013-02-01 Ever Confirmed|0 |1 --- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2013-02-01 09:23:53 UTC --- gcc version 4.2.1 20070719 [FreeBSD] This version of GCC is no longer supported, please try GCC 4.6.3 or newer.
[Bug lto/56168] [4.8 Regression] GCC seems to disregard -fno-builtin when compiling with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56168 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2013-02-01 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.8.0 Ever Confirmed|0 |1 --- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2013-02-01 09:42:36 UTC --- -f[no-]builtin-* is a frontend option not supported by LTO (nor by Fortran for example). That it controls also middle-end behavior with respect to LTO streaming 'pow' as a builtin is a bug I suppose (to be analyzed). Probably caused by /* For variables prefer the builtin if one is available. */ else if (TREE_CODE (prevailing-symbol.decl) == FUNCTION_DECL) { for (e = first; e; e = e-symbol.next_sharing_asm_name) if (TREE_CODE (e-symbol.decl) == FUNCTION_DECL DECL_BUILT_IN (e-symbol.decl)) { prevailing = e; break; } } and LTO un-conditionally initializing all builtins (well, and that's needed unless we can do that lazily during streaming as we stream builtin decls by their DECL_FUNCTION_CODE ...). Hm. I'll have a looksee.
[Bug libstdc++/56170] Extension debug_allocator seems non-compliant w.r.t. rebind
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56170 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||bkoz at redhat dot com --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2013-02-01 09:45:44 UTC --- Isn't this an *extremely* old issue? If I'm not wrong, it dates back to the HP / SGI debug_alloc (in stl_alloc.h). I'm not sure we really want to fix it vs simply maintaining it as legacy code and use something else for all the modern needs in this area.
[Bug middle-end/56113] out of memory when compiling a function with many goto labels (50k )
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56113 --- Comment #26 from Richard Biener rguenth at gcc dot gnu.org 2013-02-01 10:10:17 UTC --- With another patch to PTA we now are bottle-necked by the C fronted in update_label_decls ;) parser function body: 125.32 (43%) usr alias stmt walking : 7.49 ( 3%) usr tree PTA: 51.62 (18%) usr tree DSE: 8.53 ( 3%) usr TOTAL : 289.57 that was everything 2% at -O1 with n = 4.
[Bug libstdc++/56166] std::string::clear() can throw despite being marked noexcept
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56166 --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 11:25:33 UTC --- (In reply to comment #5) That said, for sure I don't mean to unconditionally oppose fixes to the current implementation, eh Jon's idea seems fine to me in principle, if only he could prototype it, would be great, my point was that it doesn't seem to make much sense doing a *lot* of that *now*. Yeah I can take a quick look at that over the weekend
[Bug libstdc++/56170] Extension debug_allocator seems non-compliant w.r.t. rebind
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56170 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 11:32:32 UTC --- debug_allocator doesn't meet the relaxed allocator requirements in C++11, let alone C++03. At the very least it needs operator== and operator!=, and needs rebind because its template parameter is not its value_type, and needs a templated copy constructor to support rebinding. None of these are hard to add so we should either remove it or make it useful (which I'm happy to do)
[Bug libstdc++/56170] Extension debug_allocator seems non-compliant w.r.t. rebind
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56170 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 11:33:23 UTC --- The comment saying This is precisely the allocator defined in the C++ Standard. is pretty misleading ;-)
[Bug libstdc++/56170] Extension debug_allocator seems non-compliant w.r.t. rebind
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56170 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2013-02-01 Ever Confirmed|0 |1 --- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2013-02-01 11:35:30 UTC --- If simply adding the straightforward missing functions and types is enough, I'm all for it!
[Bug libstdc++/56170] Extension debug_allocator seems non-compliant w.r.t. rebind
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56170 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |redi at gcc dot gnu.org |gnu.org | --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 12:02:44 UTC --- Mine then.
[Bug go/56171] New: syscall FAILs on Solaris
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56171 Bug #: 56171 Summary: syscall FAILs on Solaris Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go AssignedTo: i...@airs.com ReportedBy: r...@gcc.gnu.org Host: *-*-solaris2.* Target: *-*-solaris2.* Build: *-*-solaris2.* The libgo syscall tests currently FAILs on Solaris: creds_test.go:22:41: error: reference to undefined identifier 'syscall.AF_LOCAL' fds, err := syscall.Socketpair(syscall.AF_LOCAL, syscall.SOCK_STREAM, 0) ^ creds_test.go:29:66: error: reference to undefined identifier 'syscall.SO_PASSCR ED' err = syscall.SetsockoptInt(fds[0], syscall.SOL_SOCKET, syscall.SO_PASSCRED, 1 ) ^ creds_test.go:52:12: error: reference to undefined identifier 'syscall.Ucred' var ucred syscall.Ucred ^ creds_test.go:57:18: error: reference to undefined identifier 'syscall.UnixCrede ntials' oob := syscall.UnixCredentials(ucred) ^ creds_test.go:67:17: error: reference to undefined identifier 'syscall.UnixCrede ntials' oob := syscall.UnixCredentials(ucred) ^ creds_test.go:106:27: error: reference to undefined identifier 'syscall.ParseUnixCredentials' newUcred, err := syscall.ParseUnixCredentials(scm[0]) ^ passfd_test.go:40:41: error: reference to undefined identifier 'syscall.AF_LOCAL ' fds, err := syscall.Socketpair(syscall.AF_LOCAL, syscall.SOCK_STREAM, 0) ^ FAIL: syscall There are two issues here: * passfd_test.go uses AF_LOCAL, which only exists from Solaris 11 onwards and is an alternative name for the more common AF_UNIX. One could either provide AF_LOCAL in mksysinfo.sh if missing or directly use AF_UNIX, as is already done in go/net/file_unix.go, go/net/unixsock_posix.go, go/syscall/socket.go. * creds_test.go uses Ucred, UnixCredentials, and SO_PASSCRED, which in their current form are a Linuxism. Solaris has SO_RECVUCRED, an opaque ucred_t with opaque accessor functions (cf. ucred_get(3C) and getpeerucred(3C)). Rainer
[Bug middle-end/55889] [4.8 Regression] ICE: in move_op_ascend, at sel-sched.c:6153 with -fschedule-insns -fselective-scheduling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55889 --- Comment #26 from Andrey Belevantsev abel at gcc dot gnu.org 2013-02-01 12:22:05 UTC --- You are right, your suggestions is what I sketched in comment #21 as choices 1 or 2. Sorry for my unclear expalanation of what was actually happening. I don't have a problem with making sel-sched have extra checks when renaming registers before reload, which will make us notice a not obvious extra dependence and avoid renaming properly, as now we've figured out these dependences don't follow immediately from the RTL. I just want an extra opinion on whether such unexpected dependencies arising when a target (hard) register is replaced by a pseudo register should be normal within GCC, or do we attribute such dependencies only to the register pressure scheduling mode. FWIW, I would rather agree with the latter than with the former.
[Bug lto/56168] [4.8 Regression] GCC seems to disregard -fno-builtin when compiling with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56168 --- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2013-02-01 12:34:53 UTC --- Created attachment 29328 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29328 patch We do stream things properly as / not as builtin. Only we end up replacing the non-builtin with the prevailing builtin. It seems to me builtins should never prevail (we do not touch their cgraph nodes either) but we also should not replace any builtin decl with whatever prevailed (unless maybe there is a visible definition ...?) I have a patch but that causes PR55848 to re-appear (also in this testcase): lto1: error: edge points to wrong declaration:^M function_decl 0x7fb56f8d2a00 pow^M type function_type 0x7fb56f8d1e70^M ... Instead of: function_decl 0x7fb56f7e6f00 __builtin_pow^M type function_type 0x7fb56f7b60a8^M doesn't happen with -flto-partition=none though. At LTRANs we again see d2_5 = __builtin_pow (d1_3, 3.33314829616256247390992939472198486328125e-1); d3_6 = __builtin_pow (d1_3, 2.0e+0); which is of course wrong. Something assumes there is only a single prevailing cgraph node per symbol? The callgraph at LTRANS time looks ok to me: pow/2 (pow) @0x7f5806f3ca68 Type: function Visibility: undef external public previous sharing asm name: 3 References: Referring: Read from file: /tmp/ccp4tasf.ltrans0.o Function flags: Called by: main/1 (1.00 per call) Calls: pow/3 (__builtin_pow) @0x7f5806f3c940 Type: function Visibility: external public next sharing asm name: 2 References: Referring: Read from file: /tmp/ccp4tasf.ltrans0.o Function flags: Called by: main/1 (1.00 per call) main/1 (main) @0x7f5806f3c6f0 Type: function Visibility: prevailing_def public References: x.2385/0 (read) Referring: Read from file: /tmp/ccp4tasf.ltrans0.o Function flags: analyzed finalized only_called_at_startup Called by: Calls: abort/4 (0.39 per call) pow/3 (1.00 per call) pow/2 (1.00 per call) but then somehow it's all wrong when reading the call op of the call stmt. The ltrans object fn decl state stream of main has both a builtin and a non-builtin. That's because LTRANS thinks the builtin prevailed. Bah. That's because it happens to come first and we skip lto_symtab_merge_decls for LTRANS. Probably ok, but then we also should skip lto_fixup_decls.
[Bug middle-end/56113] out of memory when compiling a function with many goto labels (50k )
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56113 --- Comment #27 from Richard Biener rguenth at gcc dot gnu.org 2013-02-01 12:38:51 UTC --- Author: rguenth Date: Fri Feb 1 12:38:45 2013 New Revision: 195646 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195646 Log: 2013-02-01 Richard Biener rguent...@suse.de PR tree-optimization/56113 * tree-ssa-structalias.c (label_visit): Reduce work for single-predecessor nodes. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-structalias.c
[Bug lto/56168] [4.8 Regression] GCC seems to disregard -fno-builtin when compiling with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56168 --- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2013-02-01 12:40:18 UTC --- Created attachment 29329 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29329 alternative patch Patch which disables fixup_decls in LTRANS mode (fixes the testcase). Trying that on LTO bootstrap now ...
[Bug go/56172] New: net FAILs on Solaris
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56172 Bug #: 56172 Summary: net FAILs on Solaris Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go AssignedTo: i...@airs.com ReportedBy: r...@gcc.gnu.org Host: *-*-solaris2.* Target: *-*-solaris2.* Build: *-*-solaris2.* The libgo net test currently FAILs on Solaris. With -test.v=true I find === RUN TestAddFDReturnsError panic: runtime error: invalid memory address or nil pointer dereference [signal 0xb code=0x1 addr=0xe] goroutine 19 [running]: created by runtime_MHeap_Scavenger /vol/gcc/src/hg/trunk/local/libgo/runtime/mheap.c:408 goroutine 1 [chan receive]: [...] Running the test with -test.run=TestAddFDReturnsError under gdb reveals: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 3 (LWP 3)] 0xff23db2c in sem_invalid () from /lib/libc.so.1 (gdb) where #0 0xff23db2c in sem_invalid () from /lib/libc.so.1 #1 0xff23dbf0 in sem_post () from /lib/libc.so.1 #2 0xfdfa1a5c in runtime_semawakeup (mp=0xddc0cf38) at /vol/gcc/src/hg/trunk/local/libgo/runtime/thread-sema.c:125 #3 0xfdfa8f48 in kickoff () at /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c:369 #4 0xff1cb730 in __makecontext_v2 () from /lib/libc.so.1 sem_invalid () does if (sem-sem_magic != SEMA_MAGIC) { errno = EINVAL; return (-1); } I haven't yet debugged how this happens. Rainer
[Bug go/56173] New: Several libgo tests FAIL on Solaris/SPARC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56173 Bug #: 56173 Summary: Several libgo tests FAIL on Solaris/SPARC Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go AssignedTo: i...@airs.com ReportedBy: r...@gcc.gnu.org Host: sparc*-*-solaris2.* Target: sparc*-*-solaris2.* Build: sparc*-*-solaris2.* Several crypto-related libgo tests FAIL on Solaris/SPARC. The fact that they pass on Solaris/x86 might indicate an endianess problem: --- FAIL: TestIncrementalRead (0.09 seconds) testing.go:377: Bad checksum on file small.txt: have 220b2d1581cee6f4f38007276d6b108c want e38b27eaccb4391bdec553a7f3ae6b2f testing.go:377: Bad checksum on file small2.txt: have 64a3a408fe7219e747c26f38ba248596 want c65bd2e50a56a2138bf1716f2fd56fe9 FAIL FAIL: archive/tar --- FAIL: TestHMAC (0.15 seconds) testing.go:377: test 3.0.0: have 2e56e968592c6176bf9ba95dd5728e7d want 750c783e6ab0b503eaa86e310a5db738 testing.go:377: test 3.0.1: have 2e56e968592c6176bf9ba95dd5728e7d want 750c783e6ab0b503eaa86e310a5db738 testing.go:377: test 3.1.0: have 2e56e968592c6176bf9ba95dd5728e7d want 750c783e6ab0b503eaa86e310a5db738 testing.go:377: test 3.1.1: have 2e56e968592c6176bf9ba95dd5728e7d want 750c783e6ab0b503eaa86e310a5db738 FAIL FAIL: crypto/hmac --- FAIL: TestGolden (0.11 seconds) testing.go:377: md5[0]() = 487f7b22f68312d2c1bbc93b1aea445b want d41d8cd98f00b204e9800998ecf8427e FAIL FAIL: crypto/md5 --- FAIL: TestHandshakeClientRC4 (0.09 seconds) handshake_client_test.go:45:RC4 #2: mismatch on read: got:16030100461042004087a11f14e1fb91ac582ef371ce01852cc7fe848782b757db374d46836752825101952368696bd0a7a7e588d04771b8d2030525565c1008c69bd467cd28be9c48140301000101160301002487263e1aee92e9b6c9aa746036bd9a3713e28e5032e2c656e65828fc5db04c53b14b2efa want:16030100461042004087a11f14e1fb91ac582ef371ce01852cc7fe848782b757db374d46836752825101952368696bd0a7a7e588d04771b8d2030525565c1008c69bd467cd28be9c481403010001011603010024c1b8d37fc5c25a1d6d5b2d5c8287c26f0d637b722bda69c4fe3c84a15a623837c654252a --- FAIL: TestHandshakeClientECDHEAES (0.00 seconds) [...] FAIL FAIL: crypto/tls --- FAIL: TestDecrypt (0.10 seconds) testing.go:377: test 0. %!s(x509.PEMCipher=1) testing.go:377: decrypt failed: x509: decryption password incorrect testing.go:377: test 1. %!s(x509.PEMCipher=2) testing.go:377: decrypt failed: x509: decryption password incorrect testing.go:377: test 2. %!s(x509.PEMCipher=3) testing.go:377: decrypt failed: x509: decryption password incorrect testing.go:377: test 3. %!s(x509.PEMCipher=4) testing.go:377: decrypt failed: x509: decryption password incorrect testing.go:377: test 4. %!s(x509.PEMCipher=5) testing.go:377: decrypt failed: x509: decryption password incorrect testing.go:377: test 5. %!s(x509.PEMCipher=3) testing.go:377: decrypt failed: x509: decryption password incorrect FAIL FAIL: crypto/x509 --- FAIL: TestAuth (0.11 seconds) testing.go:377: #2 got user 69f2a54c207a734492a23007e0992c24, expected user 287eb355114cf5c471c26a875f1ca4ae FAIL FAIL: net/smtp Rainer
[Bug tree-optimization/55970] [x86] Avoid reverse order of function argument gimplifying
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55970 --- Comment #5 from Yuri Rumyantsev ysrumyan at gmail dot com 2013-02-01 13:34:20 UTC --- I sent for review a simple fix that can be considered as workaround for this issue - I simply change macros #define PUSH_ARGS_REVERSED TARGET_PUSH_ARGS that allows user to preserve an order of function arguments evaluation if -mno-push-args option was added to compile. I also checked that adding that option will not affect on performance for Corei7 and Atom platforms. With modified gcc attached test is passed: gcc -O2 t.c t_main.c -mno-push-args ./a.out Test Passed
[Bug rtl-optimization/54127] [4.7 Regression] ICE in maybe_record_trace_start with asm goto, --target=powerpc-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54127 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 13:57:51 UTC --- Author: jakub Date: Fri Feb 1 13:57:46 2013 New Revision: 195648 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195648 Log: Backported from mainline 2012-11-13 Jakub Jelinek ja...@redhat.com PR rtl-optimization/54127 * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting asm goto labels from BB_HEAD (e-dest) to target bb, decrement LABEL_NUSES of BB_HEAD (e-dest) and increment LABEL_NUSES of BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or REG_LABEL_TARGET and REG_LABEL_OPERAND. * gcc.dg/torture/pr54127.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/torture/pr54127.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/cfgrtl.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug tree-optimization/55236] gcc.c-torture/execute/pr22493-1.c FAILs with -fPIC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55236 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 13:58:58 UTC --- Author: jakub Date: Fri Feb 1 13:58:55 2013 New Revision: 195649 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195649 Log: Backported from mainline 2012-11-17 Jakub Jelinek ja...@redhat.com PR tree-optimization/55236 * fold-const.c (make_range_step) case NEGATE_EXPR: For -fwrapv and signed ARG0_TYPE, force low and high to be non-NULL. * gcc.dg/pr55236.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr55236.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/fold-const.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug fortran/54932] Invalid loop code generated by Fortran FE for loops with bounds in HIGH(type)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54932 --- Comment #12 from Dominique d'Humieres dominiq at lps dot ens.fr 2013-02-01 13:59:11 UTC --- (In reply to comment #11) Thus, I close the bug as INVALID. ... in wich case could you, please, update the testcase to be valid and remove the XFAIL I introduced? We jump through some hoops in or DO loop code generation to execute a loop until HUGE(i) in a way that somebody who did not read the standard well might expect, but which is actually invalid. If we do not do this any more, then we can probably simplify our DO loops considerably. This is probably too late for 4.8.0. The following patch takes advantage of the new option -fno-aggressive-loop-optimizations to remove the xfail (and the two XPASS at -O0 and -O1): --- /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/do_1.f902012-10-18 00:34:47.0 +0200 +++ /opt/gcc/work/gcc/testsuite/gfortran.dg/do_1.f902013-01-31 22:02:16.0 +0100 @@ -1,5 +1,5 @@ -! { dg-do run { xfail *-*-* } } -! XFAIL is tracked in PR 54932 +! { dg-do run } +! { dg-additional-options -fno-aggressive-loop-optimizations } ! Program to check corner cases for DO statements. program do_1 implicit none Tested on x86_64-apple-darwin10 and powerpc-apple-darwin9. We should also warn about invalid code in the FE. One example is program test_real_do integer n integer x n=0 do x=0.0,10.0,0.1 n=n+1 end do print *, N is , n end program test_real_do which on x86_64-apple-darwin10 gives Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation. when executed. This is due to the division by zero in x = 0; countm1.0 = 10 / 0; while (1) { { unsigned int countm1t.1; n = n + 1; L.1:; x = NON_LVALUE_EXPR x; countm1t.1 = countm1.0; countm1.0 = countm1.0 + 4294967295; if (countm1t.1 == 0) goto L.2; } } L.2:; The FE should detect that the stride is zero and output an error. Note that on powerpc-apple-darwin9, the same test (with the same dump-tree-original) runs and outputs N is1 !?-(
[Bug debug/55094] [4.7 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2224
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55094 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:00:19 UTC --- Author: jakub Date: Fri Feb 1 14:00:12 2013 New Revision: 195650 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195650 Log: Backported from mainline 2012-11-20 Jakub Jelinek ja...@redhat.com PR middle-end/55094 * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note on the trap insn for !ACCUMULATE_OUTGOING_ARGS. * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns on the first old_insns_match_p call. For !ACCUMULATE_OUTGOING_ARGS fail if the last real insn doesn't have REG_ARGS_SIZE note. * gcc.dg/pr55094.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr55094.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/builtins.c branches/gcc-4_7-branch/gcc/cfgcleanup.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c++/54046] [4.6/4.7 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 --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:02:41 UTC --- Author: jakub Date: Fri Feb 1 14:02:33 2013 New Revision: 195651 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195651 Log: Backported from mainline 2012-11-23 Jakub Jelinek ja...@redhat.com PR c++/54046 * Makefile.in (gimple-low.o): Depend on langhooks.h. * gimple-low.c: Include langhooks.c. (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK, by default call lang_hooks.block_may_fallthru. * langhooks.h (struct lang_hooks): Add block_may_fallthru langhook. * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define. (LANG_HOOKS_INITIALIZER): Use it. * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine. * cp-objcp-common.c (cxx_block_may_fallthru): New function. * cp-tree.h (cxx_block_may_fallthru): New prototype. * g++.dg/warn/Wreturn-type-8.C: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/warn/Wreturn-type-8.C Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/Makefile.in branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/cp-objcp-common.c branches/gcc-4_7-branch/gcc/cp/cp-objcp-common.h branches/gcc-4_7-branch/gcc/cp/cp-tree.h branches/gcc-4_7-branch/gcc/gimple-low.c branches/gcc-4_7-branch/gcc/langhooks-def.h branches/gcc-4_7-branch/gcc/langhooks.h branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c++/55542] g++ segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55542 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:03:49 UTC --- Author: jakub Date: Fri Feb 1 14:03:44 2013 New Revision: 195652 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195652 Log: Backported from mainline 2012-12-01 Jakub Jelinek ja...@redhat.com PR c++/55542 * pt.c (make_ith_pack_parameter_name): Return NULL if name is NULL. (tsubst_decl): Call make_ith_pack_parameter_name even if DECL_NAME is NULL. * g++.dg/cpp0x/vt-55542.C: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/vt-55542.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/pt.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c++/55652] [4.8 Regression] ICE (segfault) with templates and structs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55652 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:05:52 UTC --- Author: jakub Date: Fri Feb 1 14:05:42 2013 New Revision: 195653 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195653 Log: Backported from mainline 2012-12-13 Jakub Jelinek ja...@redhat.com PR c++/55652 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p if noex is NULL. * g++.dg/cpp0x/noexcept19.C: New test. 2012-12-06 Jakub Jelinek ja...@redhat.com PR c++/54207 * except.c (build_noexcept_spec): Avoid direct comparison with boolean_true_node or boolean_false_node, instead use operand_equal_p and/or INTEGER_CST check. * pt.c (tsubst_exception_specification): Likewise. * typeck2.c (merge_exception_specifiers): Likewise. * g++.dg/cpp0x/noexcept18.C: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/noexcept18.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/noexcept19.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/except.c branches/gcc-4_7-branch/gcc/cp/pt.c branches/gcc-4_7-branch/gcc/cp/typeck2.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c++/54207] [4.7 Regression][C++0x] ICE in build_noexcept_spec when bool is #defined/typedef'd
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54207 --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:05:55 UTC --- Author: jakub Date: Fri Feb 1 14:05:42 2013 New Revision: 195653 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195653 Log: Backported from mainline 2012-12-13 Jakub Jelinek ja...@redhat.com PR c++/55652 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p if noex is NULL. * g++.dg/cpp0x/noexcept19.C: New test. 2012-12-06 Jakub Jelinek ja...@redhat.com PR c++/54207 * except.c (build_noexcept_spec): Avoid direct comparison with boolean_true_node or boolean_false_node, instead use operand_equal_p and/or INTEGER_CST check. * pt.c (tsubst_exception_specification): Likewise. * typeck2.c (merge_exception_specifiers): Likewise. * g++.dg/cpp0x/noexcept18.C: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/noexcept18.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/noexcept19.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/except.c branches/gcc-4_7-branch/gcc/cp/pt.c branches/gcc-4_7-branch/gcc/cp/typeck2.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug rtl-optimization/55838] [4.6/4.7 Regression] ICE in extract_insn (unrecognizable insn) with -O -funroll-loops
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55838 --- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:07:41 UTC --- Author: jakub Date: Fri Feb 1 14:07:35 2013 New Revision: 195654 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195654 Log: Backported from mainline 2013-01-03 Jakub Jelinek ja...@redhat.com PR rtl-optimization/55838 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on iv0.step, iv1.step and step. * gcc.dg/pr55838.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr55838.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/loop-iv.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug middle-end/55921] [4.6/4.7 Regression] Crash in verify_ssa for asm to side-steps complex pessimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55921 --- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:08:39 UTC --- Author: jakub Date: Fri Feb 1 14:08:32 2013 New Revision: 195655 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195655 Log: Backported from mainline 2013-01-10 Jakub Jelinek ja...@redhat.com PR tree-optimization/55921 * tree-complex.c (expand_complex_asm): New function. (expand_complex_operations_1): Call it for GIMPLE_ASM. * gcc.c-torture/compile/pr55921.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr55921.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/tree-complex.c
[Bug target/55940] [4.7 Regression] Incorrect code for accessing parameters with 32-bit Intel hosts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55940 --- Comment #17 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:09:53 UTC --- Author: jakub Date: Fri Feb 1 14:09:38 2013 New Revision: 195656 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195656 Log: Backported from mainline 2013-01-15 Jakub Jelinek ja...@redhat.com PR target/55940 * function.c (thread_prologue_and_epilogue_insns): Always add crtl-drap_reg to set_up_by_prologue.set, even if stack_realign_drap is false. * gcc.dg/pr55940.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr55940.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/function.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug middle-end/56015] [4.6/4.7 Regression] expand expands p[9] = COMPLEX_EXPR -IMAGPART_EXPR p[9], REALPART_EXPR p[9]; incorrectly.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56015 --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:11:03 UTC --- Author: jakub Date: Fri Feb 1 14:10:48 2013 New Revision: 195657 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195657 Log: Backported from mainline 2013-01-18 Jakub Jelinek ja...@redhat.com PR middle-end/56015 * expr.c (expand_expr_real_2) case COMPLEX_EXPR: Handle the case where writing real complex part of target modifies op1. * gfortran.dg/pr56015.f90: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/pr56015.f90 Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/expr.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug tree-optimization/56051] Wrong expression evaluation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56051 --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:11:54 UTC --- Author: jakub Date: Fri Feb 1 14:11:46 2013 New Revision: 195658 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195658 Log: Backported from mainline 2013-01-21 Jakub Jelinek ja...@redhat.com PR tree-optimization/56051 * fold-const.c (fold_binary_loc): Don't fold X (cast) (1 Y) into (X Y) != 0 if cast is either a narrowing conversion, or widening conversion from signed to unsigned. * gcc.c-torture/execute/pr56051.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/execute/pr56051.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/fold-const.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug libquadmath/56072] info page wrongly defines M_PI_2 and M_PI_4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56072 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:12:38 UTC --- Author: jakub Date: Fri Feb 1 14:12:29 2013 New Revision: 195659 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195659 Log: Backported from mainline 2013-01-22 Jakub Jelinek ja...@redhat.com PR libquadmath/56072 * libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description. Modified: branches/gcc-4_7-branch/libquadmath/ChangeLog branches/gcc-4_7-branch/libquadmath/libquadmath.texi
[Bug target/49069] [4.6/4.7 Regression] ICE in gen_cstoredi4, at config/arm/arm.md:7554
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49069 --- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:14:19 UTC --- Author: jakub Date: Fri Feb 1 14:14:11 2013 New Revision: 195661 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195661 Log: Backported from mainline 2013-01-23 Jakub Jelinek ja...@redhat.com PR target/49069 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand instead of cmpdi_operand for first comparison operand. Don't assert that comparison operands aren't both constants. * gcc.dg/pr49069.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr49069.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/config/arm/arm.md branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug fortran/56052] [4.7 Regression] [OOP] ICE in omp_add_variable, at gimplify.c:5606
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56052 --- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:15:31 UTC --- Author: jakub Date: Fri Feb 1 14:15:21 2013 New Revision: 195662 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195662 Log: Backported from mainline 2013-01-23 Jakub Jelinek ja...@redhat.com PR fortran/56052 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P on select_type_temporary and don't set DECL_BY_REFERENCE. * gfortran.dg/gomp/pr56052.f90: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/gomp/pr56052.f90 Modified: branches/gcc-4_7-branch/gcc/fortran/ChangeLog branches/gcc-4_7-branch/gcc/fortran/trans-decl.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug middle-end/56098] [4.6/4.7 Regression] conditional write through volatile pointer produces unintended read
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56098 --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:16:28 UTC --- Author: jakub Date: Fri Feb 1 14:16:20 2013 New Revision: 195663 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195663 Log: Backported from mainline 2013-01-25 Jakub Jelinek ja...@redhat.com PR tree-optimization/56098 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr for stmts with volatile ops. (cond_store_replacement): Don't optimize if assign has volatile ops. (cond_if_else_store_replacement_1): Don't optimize if either then_assign or else_assign have volatile ops. * gcc.dg/pr56098-1.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr56098-1.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/tree-ssa-phiopt.c
[Bug tree-optimization/56125] [4.7 Regression] -O2 -ffast-math generates bad code when dividing a double by the square of another double.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56125 --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:17:58 UTC --- Author: jakub Date: Fri Feb 1 14:17:50 2013 New Revision: 195664 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195664 Log: Backported from mainline 2013-01-28 Jakub Jelinek ja...@redhat.com PR tree-optimization/56125 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize pow(x,c) into sqrt(x) * powi(x, n/2) or 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when optimizing for size. Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an integer. * gcc.dg/pr56125.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr56125.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/tree-ssa-math-opts.c
[Bug rtl-optimization/54127] [4.7 Regression] ICE in maybe_record_trace_start with asm goto, --target=powerpc-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54127 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:23:19 UTC --- Fixed.
[Bug tree-optimization/55236] gcc.c-torture/execute/pr22493-1.c FAILs with -fPIC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55236 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:23:57 UTC --- Fixed.
[Bug debug/55094] [4.7 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2224
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55094 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:25:07 UTC --- Fixed.
[Bug c++/54046] [4.6/4.7 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 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||4.7.3, 4.8.0 Resolution||FIXED --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:26:02 UTC --- Fixed for 4.7.3+.
[Bug fortran/56174] New: Wrongly accepts INTEGER :: b = HUGE(b)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56174 Bug #: 56174 Summary: Wrongly accepts INTEGER :: b = HUGE(b) Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: bur...@gcc.gnu.org As reported at https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.fortran/T9QQNONepKM Using INTEGER, PARAMETER :: a(2) = (/ 1, 2 /), b = HUGE(b) is invalid per the arguments given below. Note, however, that INTEGER, PARAMETER :: a(2) = (/ 1, 2 /), b = HUGE(a) is valid. gfortran currently accepts it. Fortran 2008 has in 7.1.12 Constant expression (paragraph below C712): If a constant expression includes a specification inquiry that depends on a type parameter or an array bound of an entity specified in the same specication-part, the type parameter or array bound shall be specified in a prior specification of the specification-part. The prior specification may be to the left of the specification inquiry in the same statement, but shall not be within the same entity-decl. The latter is: R503 entity-decl is object-name [( array-spec )] [ lbracket coarray-spec rbracket ] [ * char-length ] [ initialization ] or function-name [ * char-length ] Thus, object-name ... initialization belongs to the same entry-decl. HUGE belongs to the class Inquiry function and (cf. 7.1.11 Specification expression): A specification inquiry is a reference to (1) an intrinsic inquiry function, [...]
[Bug c++/55542] g++ segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55542 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:26:58 UTC --- Fixed for 4.7.3+.
[Bug c++/54207] [4.7 Regression][C++0x] ICE in build_noexcept_spec when bool is #defined/typedef'd
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54207 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||4.7.3 Resolution||FIXED --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:27:53 UTC --- Fixed.
[Bug rtl-optimization/55838] [4.6 Regression] ICE in extract_insn (unrecognizable insn) with -O -funroll-loops
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55838 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.3 Summary|[4.6/4.7 Regression] ICE in |[4.6 Regression] ICE in |extract_insn|extract_insn |(unrecognizable insn) with |(unrecognizable insn) with |-O -funroll-loops |-O -funroll-loops --- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:28:48 UTC --- Fixed for 4.7.3+.
[Bug middle-end/55921] [4.6 Regression] Crash in verify_ssa for asm to side-steps complex pessimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55921 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Summary|[4.6/4.7 Regression] Crash |[4.6 Regression] Crash in |in verify_ssa for asm to|verify_ssa for asm to |side-steps complex |side-steps complex |pessimization |pessimization --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:29:54 UTC --- Fixed for 4.7.3+.
[Bug target/55940] [4.7 Regression] Incorrect code for accessing parameters with 32-bit Intel hosts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55940 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:30:47 UTC --- Fixed.
[Bug middle-end/56015] [4.6 Regression] expand expands p[9] = COMPLEX_EXPR -IMAGPART_EXPR p[9], REALPART_EXPR p[9]; incorrectly.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56015 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.3 Summary|[4.6/4.7 Regression] expand |[4.6 Regression] expand |expands p[9] = COMPLEX_EXPR |expands p[9] = COMPLEX_EXPR |-IMAGPART_EXPR p[9], |-IMAGPART_EXPR p[9], |REALPART_EXPR p[9]; |REALPART_EXPR p[9]; |incorrectly.|incorrectly. --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:32:05 UTC --- Fixed for 4.7.3+ too.
[Bug tree-optimization/56051] Wrong expression evaluation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56051 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.3 --- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:33:08 UTC --- Fixed for 4.7.3+ too.
[Bug target/49069] [4.6 Regression] ICE in gen_cstoredi4, at config/arm/arm.md:7554
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49069 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.3 Summary|[4.6/4.7 Regression] ICE in |[4.6 Regression] ICE in |gen_cstoredi4, at |gen_cstoredi4, at |config/arm/arm.md:7554 |config/arm/arm.md:7554 --- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:36:49 UTC --- Fixed for 4.7.3+ too.
[Bug fortran/56052] [4.7 Regression] [OOP] ICE in omp_add_variable, at gimplify.c:5606
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56052 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:37:18 UTC --- Fixed.
[Bug middle-end/56098] [4.6 Regression] conditional write through volatile pointer produces unintended read
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56098 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Summary|[4.6/4.7 Regression]|[4.6 Regression] |conditional write through |conditional write through |volatile pointer produces |volatile pointer produces |unintended read |unintended read --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:38:06 UTC --- Fixed for 4.7.3+ too.
[Bug tree-optimization/56125] [4.7 Regression] -O2 -ffast-math generates bad code when dividing a double by the square of another double.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56125 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 14:38:51 UTC --- Fixed.
[Bug rtl-optimization/56175] New: Issue with combine phase on x86.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56175 Bug #: 56175 Summary: Issue with combine phase on x86. Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: ysrum...@gmail.com Analyzing performance of important benchmark on x86 Atom in 32bit mode we found out that the code produced for attached testcase is not optimal - the inner loop contains 18 instructions instead of 12. The problem is that 'combine' does not perform desired substitution for the following stmt: t = (u8)((x 1) ^ ((u8)y 1)); It is not able to convert it to more optimal form like: t = (u8)((x ^ (u8)y ) 1); This issue can be explained using the following testcase: int foo( unsigned char x, unsigned short y) { unsigned char z; if (x ==0 || y == 0) return 0; x=1; y=1; z = (unsigned char)((x 1) ^ ((unsigned char)y 1)); if (z == 1) return 1; return 0; } For this case combine performs needed transformation and we get optimal assembly: ... xorl%edx, %eax andl$1, %eax ret For this case combine tries to perform the following substitution: Trying 22, 20 - 23: Failed to match this instruction: (parallel [ (set (reg:QI 83 [ D.1758 ]) (and:QI (xor:QI (reg:QI 79 [ x ]) (subreg:QI (reg:HI 81 [ y ]) 0)) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) Failed to match this instruction: (set (reg:QI 83 [ D.1758 ]) (and:QI (xor:QI (reg:QI 79 [ x ]) (subreg:QI (reg:HI 81 [ y ]) 0)) (const_int 1 [0x1]))) Successfully matched this instruction: (set (reg:QI 82 [ D.1760 ]) (xor:QI (reg:QI 79 [ x ]) (subreg:QI (reg:HI 81 [ y ]) 0))) Successfully matched this instruction: (set (reg:QI 83 [ D.1758 ]) (and:QI (reg:QI 82 [ D.1760 ]) (const_int 1 [0x1]))) where (insn 20 19 21 4 (parallel [ (set (reg:QI 80 [ D.1759 ]) (and:QI (reg:QI 79 [ x ]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) t.c:8 405 {*andqi_1} (expr_list:REG_DEAD (reg:QI 79 [ x ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil (insn 22 21 23 4 (parallel [ (set (reg:HI 82 [ D.1760 ]) (and:HI (reg:HI 81 [ y ]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) t.c:8 404 {*andhi_1} (expr_list:REG_DEAD (reg:HI 81 [ y ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil (insn 23 22 24 4 (parallel [ (set (reg:QI 83 [ D.1758 ]) (xor:QI (reg:QI 80 [ D.1759 ]) (subreg:QI (reg:HI 82 [ D.1760 ]) 0))) (clobber (reg:CC 17 flags)) ]) t.c:8 426 {*xorqi_1} (expr_list:REG_DEAD (reg:HI 82 [ D.1760 ]) (expr_list:REG_DEAD (reg:QI 80 [ D.1759 ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil) but for more compicated test that is attached combine tries to do the same substitution in reverse order of operands and it is failed: Trying 14, 13 - 15: Failed to match this instruction: (parallel [ (set (reg:QI 63 [ D.1770 ]) (xor:QI (and:QI (reg/v:QI 72 [ x ]) (const_int 1 [0x1])) (and:QI (subreg:QI (reg/v:HI 74 [ y ]) 0) (const_int 1 [0x1] (clobber (reg:CC 17 flags)) ]) Failed to match this instruction: (set (reg:QI 63 [ D.1770 ]) (xor:QI (and:QI (reg/v:QI 72 [ x ]) (const_int 1 [0x1])) (and:QI (subreg:QI (reg/v:HI 74 [ y ]) 0) (const_int 1 [0x1] Successfully matched this instruction: (set (reg:QI 77 [ D.1771 ]) (and:QI (subreg:QI (reg/v:HI 74 [ y ]) 0) (const_int 1 [0x1]))) Failed to match this instruction: (set (reg:QI 63 [ D.1770 ]) (xor:QI (and:QI (reg/v:QI 72 [ x ]) (const_int 1 [0x1])) (reg:QI 77 [ D.1771 ]))) where (insn 13 12 14 3 (parallel [ (set (reg:HI 76 [ D.1772 ]) (and:HI (reg/v:HI 74 [ y ]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) t1.c:9 404 {*andhi_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) (insn 14 13 15 3 (parallel [ (set (reg:QI 77 [ D.1771 ]) (and:QI (reg/v:QI 72 [ x ]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) t1.c:9 405 {*andqi_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) (insn 15 14 16 3 (parallel [ (set (reg:QI 63 [ D.1770 ]) (xor:QI (reg:QI 77 [ D.1771 ])
[Bug rtl-optimization/56175] Issue with combine phase on x86.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56175 --- Comment #1 from Yuri Rumyantsev ysrumyan at gmail dot com 2013-02-01 15:58:49 UTC --- Created attachment 29330 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29330 testcase This test must be compiled with the following options: -O2 -ffast-math -msse2 -mfpmath=sse -m32 -march=atom -mtune=atom -ftree-loop-if-convert
[Bug c++/56176] New: internal compiler error with call to default constructor of inner struct having a std::function member attribute initialization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56176 Bug #: 56176 Summary: internal compiler error with call to default constructor of inner struct having a std::function member attribute initialization Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: benoit.ba...@gmail.com Hello, Here is the test code : #include functional typedef std::functionauto (int, int) - int fn_type; auto f1 = [](int,int){return 0;}; struct B { typedef struct { fn_type _f = f1; } A; B(A a = A()){} };
[Bug c++/56176] internal compiler error with call to default constructor of inner struct having a std::function member attribute initialization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56176 --- Comment #1 from Benoit Bayol benoit.bayol at gmail dot com 2013-02-01 16:05:31 UTC --- I have just noticed that the example code can be simpler : struct B { typedef struct { int a = 0; } A; B(A a = A()){} };
[Bug c++/56176] internal compiler error with call to default constructor of inner struct having a std::function member attribute initialization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56176 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Severity|blocker |normal
[Bug fortran/53086] [4.8 Regression] 416.gamess in SPEC CPU 2006 miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53086 --- Comment #15 from Pat Haugen pthaugen at gcc dot gnu.org 2013-02-01 16:10:09 UTC --- The recently added switch, -fno-aggressive-loop-optimizations, can be used to prevent the transformation into an infinite loop. http://gcc.gnu.org/viewcvs?root=gccview=revrev=195610
[Bug c++/56176] ICE with call to synthesized default constructor of inner struct with NSDMI
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56176 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Keywords||ice-on-invalid-code Status|UNCONFIRMED |NEW Last reconfirmed||2013-02-01 Known to work||4.8.0 Summary|internal compiler error |ICE with call to |with call to default|synthesized default |constructor of inner struct |constructor of inner struct |having a std::function |with NSDMI |member attribute| |initialization | Ever Confirmed|0 |1 Known to fail||4.7.2 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 16:11:33 UTC --- Trunk rejects it as invalid: t.cc: In constructor 'constexpr B::A::A()': t.cc:4:9: error: constructor required before non-static data member for 'B::A::a' has been parsed { ^ t.cc: At global scope: t.cc:7:15: note: synthesized method 'constexpr B::A::A()' first required here B(A a = A()){} ^
[Bug middle-end/56167] ICE with invalid __attribute__ arguments
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56167 --- Comment #3 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 2013-02-01 16:21:58 UTC --- No idea why you consider the rest as bugs. The diagnostic messages are somewhat confusing. I believe that `weakref', by analogy with `alias', should give: bug.c:1:1: error: attribute 'weakref' argument not a string And the same can be said about `section'. In regard to `alloc_size', I think it could report something like: 1.c:1:1: error: 'alloc_size' parameter is not an integer constant Needless to say, all these things are not of the utmost importance...
[Bug sanitizer/55617] static constructors are not being instrumented correctly on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617 --- Comment #31 from Jack Howarth howarth at nitro dot med.uc.edu 2013-02-01 16:46:35 UTC --- FYI, the proof of concept patch from Comment 27 produces no regressions in the testsuite on x86_64-apple-darwin12... http://gcc.gnu.org/ml/gcc-testresults/2013-02/msg00070.html
[Bug debug/54793] the location of a formal_parameter is not started from a function entry with -mfentry
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54793 --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 16:54:23 UTC --- Author: jakub Date: Fri Feb 1 16:54:14 2013 New Revision: 195669 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195669 Log: PR debug/54793 * final.c (need_profile_function): New variable. (final_start_function): Drop ATTRIBUTE_UNUSED from first argument. If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED notes, targetm.asm_out.function_prologue doesn't emit anything, HAVE_prologue and profiler should be emitted before prologue, set need_profile_function instead of emitting it. (final_scan_insn): If need_profile_function, emit profile_function on the first NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG note. Modified: trunk/gcc/ChangeLog trunk/gcc/final.c
[Bug c++/56177] New: ICE when used forward for 'auto f();'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56177 Bug #: 56177 Summary: ICE when used forward for 'auto f();' Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: i.nix...@gmail.com Working code: #include iostream //auto f(); auto f() { return 33; } int main() { std::cout f() std::endl; } Problematic code: #include iostream auto f(); auto f() { return 33; } int main() { std::cout f() std::endl; } Compiler output: source.cpp: In function 'auto f()': source.cpp:4:19: internal compiler error: in check_return_expr, at cp/typeck.c:8159 auto f() { return 33; } ^ 0x5858ac check_return_expr(tree_node*, bool*) ../../gcc-4.8-20130127/gcc/cp/typeck.c:8159 0x5a31ae finish_return_stmt(tree_node*) ../../gcc-4.8-20130127/gcc/cp/semantics.c:782 0x55a0d1 cp_parser_jump_statement ../../gcc-4.8-20130127/gcc/cp/parser.c:10041 0x55a0d1 cp_parser_statement ../../gcc-4.8-20130127/gcc/cp/parser.c:8769 0x55a9e6 cp_parser_statement_seq_opt ../../gcc-4.8-20130127/gcc/cp/parser.c:9133 0x55aab6 cp_parser_compound_statement ../../gcc-4.8-20130127/gcc/cp/parser.c:9087 0x56e686 cp_parser_function_body ../../gcc-4.8-20130127/gcc/cp/parser.c:17672 0x56e686 cp_parser_ctor_initializer_opt_and_function_body ../../gcc-4.8-20130127/gcc/cp/parser.c:17708 0x56f6c9 cp_parser_function_definition_after_declarator ../../gcc-4.8-20130127/gcc/cp/parser.c:21680 0x5700f1 cp_parser_function_definition_from_specifiers_and_declarator ../../gcc-4.8-20130127/gcc/cp/parser.c:21601 0x5700f1 cp_parser_init_declarator ../../gcc-4.8-20130127/gcc/cp/parser.c:15810 0x57045a cp_parser_simple_declaration ../../gcc-4.8-20130127/gcc/cp/parser.c:10561 0x5750b7 cp_parser_block_declaration ../../gcc-4.8-20130127/gcc/cp/parser.c:10442 0x5750b7 cp_parser_block_declaration ../../gcc-4.8-20130127/gcc/cp/parser.c:10368 0x57a11b cp_parser_declaration ../../gcc-4.8-20130127/gcc/cp/parser.c:10339 0x578da7 cp_parser_declaration_seq_opt ../../gcc-4.8-20130127/gcc/cp/parser.c:10225 0x57a652 cp_parser_translation_unit ../../gcc-4.8-20130127/gcc/cp/parser.c:3807 0x57a652 c_parse_file() ../../gcc-4.8-20130127/gcc/cp/parser.c:28175 0x612894 c_common_parse_file() ../../gcc-4.8-20130127/gcc/c-family/c-opts.c:1036 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See http://gcc.gnu.org/bugs.html for instructions. Online test: http://liveworkspace.org/code/3bTktL$0
[Bug fortran/55839] Inefficiency with array constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55839 Thomas Koenig tkoenig at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2013-02-01 AssignedTo|unassigned at gcc dot |tkoenig at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Thomas Koenig tkoenig at gcc dot gnu.org 2013-02-01 17:47:54 UTC --- I'll give it a shot once trunk reopens.
[Bug target/54908] [4.8 regression] misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54908 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #12 from Jason Merrill jason at gcc dot gnu.org 2013-02-01 17:53:17 UTC --- Fixed.
[Bug debug/49090] provide a way to recognize defaulted template parameters
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49090 --- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2013-02-01 17:58:34 UTC --- What do you think about G++ (also) switching to emitting Kint for DW_AT_name in this case? Would that break GDB type compatibility with other translation units that had Kint,int?
[Bug fortran/45159] Unnecessary temporaries
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45159 --- Comment #27 from Thomas Koenig tkoenig at gcc dot gnu.org 2013-02-01 18:16:30 UTC --- To allow expressions like a(n:2*n:2) = a(n+1:2*n+1:2) to be optimized, I will try to write a function which calculates the difference between two gfc_expr() for easy cases. This could also help in other cases, such as determining string lenghts for expressions like c(n:n+2).
[Bug debug/49090] provide a way to recognize defaulted template parameters
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49090 --- Comment #7 from Tom Tromey tromey at gcc dot gnu.org 2013-02-01 18:18:01 UTC --- (In reply to comment #6) What do you think about G++ (also) switching to emitting Kint for DW_AT_name in this case? Would that break GDB type compatibility with other translation units that had Kint,int? Yeah, I think it may confuse name lookup in other cases. For example, I think methods of this class will still appear to be in Kint,int, because that will still be baked into the mangled form. So this would mean that finding a method's class would fail. Come to think of it I'm not sure how I will make ptype Kint work given the current state of gdb's symbol tables. Baby steps...
[Bug debug/53927] wrong value for DW_AT_static_link
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53927 --- Comment #8 from Tom Tromey tromey at gcc dot gnu.org 2013-02-01 18:22:21 UTC --- Yes, but you can do something useful even with this value of DW_AT_static_link, albeit not exactly what DWARF means. Regardless, I think GCC should emit correct DWARF. Indeed, that's why in AdaCore's version of the compiler, we always generate DW_AT_static_link at -O0, and we even force the static chain onto the stack in this case (as there are no location lists at -O0). I think this would be a nice addition.
[Bug ada/56178] New: [4.8 Regression] Conversion of Long_Float to Integer triggers CONSTRAINT_ERROR overflow check failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56178 Bug #: 56178 Summary: [4.8 Regression] Conversion of Long_Float to Integer triggers CONSTRAINT_ERROR overflow check failed Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: ada AssignedTo: unassig...@gcc.gnu.org ReportedBy: or...@cora.nwra.com Description of problem: $ cat test_overflow.adb procedure Test_Overflow is r : Integer; r1 : Long_Float := 0.3; begin r := Integer(r1); end Test_Overflow; $ gnatmake test_overflow.adb gcc -c test_overflow.adb gnatbind -x test_overflow.ali gnatlink test_overflow.ali $ ./test_overflow raised CONSTRAINT_ERROR : test_overflow.adb:5 overflow check failed gcc-4.8.0-0.7.fc19.x86_64
[Bug target/50678] [4.7/4.8 Regression] FAIL: c52104y on x86_64-apple-darwin10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678 Georg georggcc at googlemail dot com changed: What|Removed |Added CC||georggcc at googlemail dot ||com --- Comment #65 from Georg georggcc at googlemail dot com 2013-02-01 18:33:11 UTC --- FWIW, with XCode 4.6 and $ gcc/xgcc -v Using built-in specs. COLLECT_GCC=gcc/xgcc Target: x86_64-apple-darwin11.4.2 Configured with: /Users/bauhaus/src/gcc/configure --prefix=/home/bauhaus/mine --disable-nls --disable-libstdcxx-pch --enable-languages=c,ada,c++,fortran CC=gcc Thread model: posix gcc version 4.8.0 20130130 (experimental) [trunk revision 195588] (GCC) === acats Summary === # of expected passes2320 # of unexpected failures0 ... ,.,. C52104Y ACATS 2.5 13-02-01 17:47:23 C52104Y CHECK THAT IN ARRAY ASSIGNMENTS AND IN SLICE ASSIGNMENTS, THE LENGTHS MUST MATCH. - C52104Y NO CONSTRAINT_ERROR FOR NON-NULL ARRAY SUBTYPE WHEN ONE DIMENSION HAS INTEGER'LAST + 3 COMPONENTS. - C52104Y STORAGE_ERROR RAISED WHEN DECLARING ONE PACKED BOOLEAN ARRAY WITH INTEGER'LAST + 3 COMPONENTS. C52104Y PASSED . PASS: c52104y
[Bug c++/56179] New: ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56179 Bug #: 56179 Summary: ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git Classification: Unclassified Product: gcc Version: 4.5.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: wma...@appcomsci.com
[Bug c++/56179] ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56179 --- Comment #1 from William Macre wmacre at appcomsci dot com 2013-02-01 19:00:26 UTC --- ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git What we need -the exact version of GCC; gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/arm-angstrom-linux-gnueabi/4.5.3/lto-wrapper Target: arm-angstrom-linux-gnueabi Configured with: /home/oe-classic/oe/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r38.1+svnr170880/gcc-4_5-branch/configure --build=x86_64-linux --host=arm-angstrom-linux-gnueabi --target=arm-angstrom-linux-gnueabi --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --with-libtool-sysroot=/home/oe-classic/oe/build/tmp-angstrom_2010_x/sysroots/armv7a-angstrom-linux-gnueabi --enable-largefile --disable-nls --enable-ipv6 --with-gnu-ld --enable-shared --enable-languages=c,c++,objc,fortran --enable-threads=posix --disable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --enable-target-optspace --enable-lto --enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap --with-float=softfp --with-local-prefix=/usr/local --with-gxx-include-dir=/usr/include/c++/4.5.3 --with-build-sysroot=/home/oe-classic/oe/build/tmp-angstrom_2010_x/sysroots/armv7a-angstrom-linux-gnueabi --enable-__cxa_atexit Thread model: posix gcc version 4.5.3 20110311 (prerelease) (GCC) -the system type; USRP-E110: P/N UE-110-KIT -the options given when GCC was configured/built; -the complete command line that triggers the bug; -the compiler output (error messages, warnings, etc.); and -the preprocessed file (*.i*) that triggers the bug, generated by adding -save-temps to the complete compilation command, or, in the case of a bug report for the GNAT front end, a complete set of source files (see below). ERROR recevied while installing gnuradio.git BUILD Script: #!/bin/sh # How do I install GNU Radio from source? # First, remove any existing installation by OpenEmbedded. echo First, remove any existing installation by OpenEmbedded. opkg remove --force-depends gnuradio gnuradio-dev gnuradio-examples task-gnuradio # Note that building GNU Radio can take a significant amount of time!! echo Note that building GNU Radio can take a significant amount of time!! git clone http://gnuradio.org/git/gnuradio.git gnuradio.git cd gnuradio.git mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/arm_cortex_a8_native.cmake -DQT_QTCORE_INCLUDE_DIR=/usr/include/qt4/QtCore -DQT_QTGUI_INCLUDE_DIR=/usr/include/qt4/QtGui -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake -DENABLE_GR_QTGUI=ON -DQT_LIBRARY_DIR=/usr/lib -DQT_INCLUDE_DIR=/usr/include/qt4/ -DQT_MOC_EXECUTABLE=/usr/bin/moc -DQT_UIC_EXECUTABLE=/usr/bin/uic -DQT_RCC_EXECUTABLE=/usr/bin/rcc -DCMAKE_BUILD_TYPE=release ../ make make install ldconfig Console ERROR message: [ 38%] Building CXX object gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/gnuradio_core_generalPYTHON_wrap.cxx.o g++: Internal error: Killed (program cc1plus) Please submit a full bug report. See http://gcc.gnu.org/bugs.html for instructions. make[2]: *** [gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/gnuradio_core_generalPYTHON_wrap.cxx.o] Error 1 make[1]: *** [gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all] Error 2 make: *** [all] Error 2
[Bug debug/49090] provide a way to recognize defaulted template parameters
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49090 --- Comment #8 from Jason Merrill jason at gcc dot gnu.org 2013-02-01 19:45:51 UTC --- Does it make sense to you to use DW_AT_default_value as a flag here?
[Bug debug/49090] provide a way to recognize defaulted template parameters
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49090 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | --- Comment #9 from Jason Merrill jason at gcc dot gnu.org 2013-02-01 19:48:10 UTC --- Created attachment 29331 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29331 patch to add DW_AT_default_value Like this.
[Bug sanitizer/55561] TSAN: Fortran/OMP yields false positives
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55561 --- Comment #39 from Dmitry Vyukov dvyukov at google dot com 2013-02-01 20:00:22 UTC --- Sorry, I was busy previous weeks. Thanks for fixing this.
[Bug c++/54601] AIX uses atexit which causes unloading of shared modules to break
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54601 --- Comment #12 from David Edelsohn dje at gcc dot gnu.org 2013-02-01 20:26:37 UTC --- Author: dje Date: Fri Feb 1 20:26:24 2013 New Revision: 195675 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195675 Log: PR target/54601 libgcc/ * config.host (powerpc-ibm-aix[56789]): Add t-aix-cxa to tmake_file. Add crtcxa to extra_parts. * config/rs6000/exit.h: New file. * config/rs6000/cxa_atexit.c: New file. * config/rs6000/cxa_finalize.c: New file. * config/rs6000/crtcxa.c: New file. * config/rs6000/t-aix-cxa: New file. * config/rs6000/libgcc-aix-cxa.ver: New file. gcc/ * configure.ac (cxa_atexit): Add AIX. * configure: Regenerate. * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o. Added: trunk/libgcc/config/rs6000/crtcxa.c trunk/libgcc/config/rs6000/cxa_atexit.c trunk/libgcc/config/rs6000/cxa_finalize.c trunk/libgcc/config/rs6000/exit.h trunk/libgcc/config/rs6000/libgcc-aix-cxa.ver trunk/libgcc/config/rs6000/t-aix-cxa Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/aix61.h trunk/gcc/configure trunk/gcc/configure.ac trunk/libgcc/ChangeLog trunk/libgcc/config.host
[Bug target/50678] [4.7/4.8 Regression] FAIL: c52104y on x86_64-apple-darwin10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678 --- Comment #66 from simon at pushface dot org 2013-02-01 21:03:24 UTC --- (In reply to comment #65) Something amazing has happened with Xcode 4.6. I'm running Darwin 12.2.1, Georg is running 11.4.2. When I built r195611 with Xcode 4.5.2, the test case failed. When I built with Xcode 4.6, the test case succeeded. I have also built (regrettably, with Xcode 4.6) a version with the register-swap disabled; *and that succeeded too*. So it no longer matters whether we swap rbx, rdx.
[Bug sanitizer/55617] static constructors are not being instrumented correctly on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617 --- Comment #32 from Jack Howarth howarth at nitro dot med.uc.edu 2013-02-01 21:22:06 UTC --- Created attachment 29332 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29332 first attempt at va_gc implementation The attached patch is a first attempt at replacing the dynamic array with a va_gc vector. Unfortunately, this code only bootstraps fine as long the line... ctors-qsort (sort_by_ctor_priority); is commented out. With the qsort enabled, the bootstrap fails with... configure: error: cannot compute suffix of object files: cannot compile in the stage1-bubble. Reversing the comparison in sort_by_ctor_priority has no effect. The previous array based patch successfully used a call to... qsort(ctors, ctor_index+1, sizeof(ctor_record), compare_ctor_priority); Is the same qsort used in the vec implementation? Is there any examples for calling qsort for vectors with all four parameters?
[Bug debug/49090] provide a way to recognize defaulted template parameters
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49090 --- Comment #10 from Tom Tromey tromey at gcc dot gnu.org 2013-02-01 21:44:15 UTC --- (In reply to comment #8) Does it make sense to you to use DW_AT_default_value as a flag here? That would be fine by me.
[Bug sanitizer/55617] static constructors are not being instrumented correctly on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617 --- Comment #33 from Jack Howarth howarth at nitro dot med.uc.edu 2013-02-01 21:45:42 UTC --- Replacing the... ctors-qsort (sort_by_ctor_priority); with... qsort(ctors, ctor_index+1, sizeof(ctor_record), sort_by_ctor_priority); appears to solve the bootstrap issues. Mike Stump suggested that we use the stable_sort from c++ to achieve the sort in one pass. Is it possible to pass a va_gc to stable_sort? In particular, how do we get first and last positions to pass as described in http://www.cplusplus.com/reference/algorithm/stable_sort/?
[Bug target/50678] [4.7/4.8 Regression] FAIL: c52104y on x86_64-apple-darwin10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|SUSPENDED |WAITING --- Comment #67 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-01 22:01:57 UTC --- Something amazing has happened with Xcode 4.6. I'm running Darwin 12.2.1, Georg is running 11.4.2. When I built r195611 with Xcode 4.5.2, the test case failed. When I built with Xcode 4.6, the test case succeeded. I have also built (regrettably, with Xcode 4.6) a version with the register-swap disabled; *and that succeeded too*. So it no longer matters whether we swap rbx, rdx. Can someone check whether radar #10302855 is fixed in Darwin 12?
[Bug debug/53927] wrong value for DW_AT_static_link
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53927 --- Comment #9 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-01 22:16:47 UTC --- I think this would be a nice addition. OK, I'm attaching the patchlet. I can submit it when stage #1 opens.
[Bug sanitizer/55617] static constructors are not being instrumented correctly on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617 --- Comment #34 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-01 22:19:45 UTC --- Can you explain why normal qsort wouldn't do the sort in one pass? You just do if (ctor_recordA-priority ctor_recordB-priority) return -1; if (ctor_recordA-priority ctor_recordB-priority) return 1; if (ctor_recordA-position ctor_recordB-position) return -1; if (ctor_recordA-postiion ctor_recordB-position) return 1; return 0; in the comparison routine. The var names aren't very nice btw.
[Bug debug/53927] wrong value for DW_AT_static_link
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53927 --- Comment #10 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-01 22:20:38 UTC --- Created attachment 29333 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29333 patch to tweak the static chain at -O0 * function.c (instantiate_decls): Process the saved static chain. (expand_function_start): If not optimizing, save the static chain onto the stack. * tree-nested.c (convert_all_function_calls): Always create the static chain for nested functions if not optimizing.
[Bug fortran/56174] Wrongly accepts INTEGER :: b = HUGE(b)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56174 Mikael Morin mikael at gcc dot gnu.org changed: What|Removed |Added CC||mikael at gcc dot gnu.org --- Comment #1 from Mikael Morin mikael at gcc dot gnu.org 2013-02-01 22:58:49 UTC --- (In reply to comment #0) Using INTEGER, PARAMETER :: a(2) = (/ 1, 2 /), b = HUGE(b) is invalid per the arguments given below. [...] If a constant expression includes a specification inquiry that depends on a type parameter or an array bound of an entity specified in the same specication-part, the type parameter or array bound shall be specified in a prior specification of the specification-part. One could argue that the kind parameter is specified at the end of INTEGER, thus outside the entity-decl. ;-) We should allow this; there is no ambiguity. I think there were other bugs dealing with self-recursive specification. I could only find pr47915, which is loosely related.
[Bug c++/56179] ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56179 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 23:30:57 UTC --- (In reply to comment #1) ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git Does it really say recevied not received ?! Anyway, this error almost always means GCC needed more memory than was available on the system, you might need to crosscompile from a machine with more memory.
[Bug c++/56179] ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56179 --- Comment #3 from William Macre wmacre at appcomsci dot com 2013-02-01 23:39:50 UTC --- Does it really say recevied not received ?! YES. Will check memory size on uSD. Wrm -Original Message- From: redi at gcc dot gnu.org [mailto:gcc-bugzi...@gcc.gnu.org] Sent: Friday, February 01, 2013 6:31 PM To: Macre, William R Subject: [Bug c++/56179] ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56179 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2013-02-01 23:30:57 UTC --- (In reply to comment #1) ERROR: Internal error: Killed (program cc1plus)recevied while installing gnuradio.git Does it really say recevied not received ?! Anyway, this error almost always means GCC needed more memory than was available on the system, you might need to crosscompile from a machine with more memory. -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You reported the bug.
[Bug sanitizer/55617] static constructors are not being instrumented correctly on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617 --- Comment #35 from Jack Howarth howarth at nitro dot med.uc.edu 2013-02-02 05:51:31 UTC --- Created attachment 29334 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29334 working va_gc implementation
[Bug libstdc++/56170] Extension debug_allocator seems non-compliant w.r.t. rebind
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56170 --- Comment #6 from Ami Tavory atavory at gmail dot com 2013-02-02 07:24:16 UTC --- Hi Paolo (again) and Jonathan, Thanks for offering to add the missing functionality, Jonathan. I was wondering if there might be an interest to add _AllocatorConcept to boost_concept_check.h. Asides from helping with diagnosing allocator non-compliance, it might help with the more common case of template parameter mixup (it's not impossibly hard to code - as an STL client - some_stl_containerparam0, param1, param2, param3 while getting them mixed up and sending as Allocator something completely different). If there's an interest, I could try to get a go at this in a few weeks.