[Bug libstdc++/56166] std::string::clear() can throw despite being marked noexcept

2013-02-01 Thread paolo.carlini at oracle dot com


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 )

2013-02-01 Thread rguenther at suse dot de


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 =

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread rguenth at gcc dot gnu.org


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

2013-02-01 Thread rguenth at gcc dot gnu.org


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

2013-02-01 Thread paolo.carlini at oracle dot com


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 )

2013-02-01 Thread rguenth at gcc dot gnu.org


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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread paolo.carlini at oracle dot com


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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread ro at gcc dot gnu.org


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

2013-02-01 Thread abel at gcc dot gnu.org


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

2013-02-01 Thread rguenth at gcc dot gnu.org


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 )

2013-02-01 Thread rguenth at gcc dot gnu.org


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

2013-02-01 Thread rguenth at gcc dot gnu.org


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

2013-02-01 Thread ro at gcc dot gnu.org


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

2013-02-01 Thread ro at gcc dot gnu.org


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

2013-02-01 Thread ysrumyan at gmail dot com


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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)

2013-02-01 Thread dominiq at lps dot ens.fr


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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.

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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.

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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)

2013-02-01 Thread burnus at gcc dot gnu.org

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 specication-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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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.

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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.

2013-02-01 Thread jakub at gcc dot gnu.org


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.

2013-02-01 Thread ysrumyan at gmail dot com


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.

2013-02-01 Thread ysrumyan at gmail dot com


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

2013-02-01 Thread benoit.bayol at gmail dot com


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

2013-02-01 Thread benoit.bayol at gmail dot com


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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread pthaugen at gcc dot gnu.org


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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread d.g.gorbachev at gmail dot com


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

2013-02-01 Thread howarth at nitro dot med.uc.edu


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

2013-02-01 Thread jakub at gcc dot gnu.org


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();'

2013-02-01 Thread i.nixman at gmail dot com


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

2013-02-01 Thread tkoenig at gcc dot gnu.org


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

2013-02-01 Thread jason at gcc dot gnu.org


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

2013-02-01 Thread jason at gcc dot gnu.org


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

2013-02-01 Thread tkoenig at gcc dot gnu.org


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

2013-02-01 Thread tromey at gcc dot gnu.org


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

2013-02-01 Thread tromey at gcc dot gnu.org


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

2013-02-01 Thread orion at cora dot nwra.com


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

2013-02-01 Thread georggcc at googlemail dot com


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

2013-02-01 Thread wmacre at appcomsci dot com


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

2013-02-01 Thread wmacre at appcomsci dot com


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

2013-02-01 Thread jason at gcc dot gnu.org


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

2013-02-01 Thread jason at gcc dot gnu.org


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

2013-02-01 Thread dvyukov at google dot com


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

2013-02-01 Thread dje at gcc dot gnu.org


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

2013-02-01 Thread simon at pushface dot org


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

2013-02-01 Thread howarth at nitro dot med.uc.edu


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

2013-02-01 Thread tromey at gcc dot gnu.org


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

2013-02-01 Thread howarth at nitro dot med.uc.edu


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

2013-02-01 Thread ebotcazou at gcc dot gnu.org


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

2013-02-01 Thread ebotcazou at gcc dot gnu.org


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

2013-02-01 Thread jakub at gcc dot gnu.org


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

2013-02-01 Thread ebotcazou at gcc dot gnu.org


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)

2013-02-01 Thread mikael at gcc dot gnu.org

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 specication-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

2013-02-01 Thread redi at gcc dot gnu.org


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

2013-02-01 Thread wmacre at appcomsci dot com


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

2013-02-01 Thread howarth at nitro dot med.uc.edu


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

2013-02-01 Thread atavory at gmail dot com


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.