[Bug bootstrap/42566] Bootstrap fails in stage3 building the libstdc++ PCH

2010-01-02 Thread 3dw4rd at verizon dot net
--- Comment #7 from 3dw4rd at verizon dot net 2010-01-02 20:38 --- Created an attachment (id=19450) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19450&action=view) Grep for '^CXX' in the libstdc++ testsuite directory. Multiple attachments would be nice. -- http://gcc.gnu.org

[Bug bootstrap/42566] Bootstrap fails in stage3 building the libstdc++ PCH

2010-01-02 Thread fxcoudert at gcc dot gnu dot org
--- Comment #8 from fxcoudert at gcc dot gnu dot org 2010-01-02 20:48 --- And the command-line in config.log? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42566

[Bug target/36502] i386/darwin generates unnecessary stack ops in every function

2010-01-02 Thread fxcoudert at gcc dot gnu dot org
--- Comment #2 from fxcoudert at gcc dot gnu dot org 2010-01-02 20:52 --- Still present as of rev. 155544. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added ---

[Bug middle-end/41043] [4.4/4.5 Regression] virtual memory exhausted: Cannot allocate memory

2010-01-02 Thread fxcoudert at gcc dot gnu dot org
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added GCC build triplet|*-apple-darwin9 | GCC host triplet|*-apple-darwin9 | GCC target tripl

[Bug middle-end/42582] fortify with optimisation above -O0 cause abort in realpath()

2010-01-02 Thread pinskia at gcc dot gnu dot org
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Component|c |middle-end

[Bug bootstrap/42566] Bootstrap fails in stage3 building the libstdc++ PCH

2010-01-02 Thread 3dw4rd at verizon dot net
--- Comment #9 from 3dw4rd at verizon dot net 2010-01-02 21:10 --- Command line from config.log: It was created by package-unused configure version-unused, which was generated by GNU Autoconf 2.64. Invocation command line was $ /Users/ed/gcc/libstdc++-v3/configure --cache-file=./con

[Bug libfortran/42420] libgfortran fails to open large files on MINGW32

2010-01-02 Thread jb at gcc dot gnu dot org
--- Comment #7 from jb at gcc dot gnu dot org 2010-01-02 21:39 --- Patch: http://gcc.gnu.org/ml/gcc-patches/2010-01/msg00083.html -- jb at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/42438] [4.4/4.5 Regression] Fix for PR38819 is too conservative

2010-01-02 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-01-02 21:54 --- int foo (int i, int j, int b) { int res = 0; if (b) res = i/j; res += i/j; return res; } is a testcase that regressed. I am testing a patch. -- rguenth at gcc dot gnu dot org changed: Wh

[Bug tree-optimization/42438] [4.4/4.5 Regression] Fix for PR38819 is too conservative

2010-01-02 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-01-02 22:08 --- With the patch we'll still not optimize extern void bar (void); int foo (int i, int j, int b) { int res = 0; if (b) res = i/j; res += i/j; bar (); return res; } That's not so easy to avoid. We'd ne

[Bug driver/42583] New: gfortran: libgomp.spec: No such file or directory

2010-01-02 Thread danglin at gcc dot gnu dot org
Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../gfortran -B /test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../ /test/gnu/gcc/gcc/gcc/testsui te/gfortran.dg/gomp/recursion1.f90 -O0 -fopenmp -fcheck=recursion -B/test/gn u/gcc/objdir/hppa64-hp-hpux11.11/./libgfortran/.libs -L/

[Bug target/42564] unrecognizable insn with -O -fPIC

2010-01-02 Thread ebotcazou at gcc dot gnu dot org
--- Comment #7 from ebotcazou at gcc dot gnu dot org 2010-01-02 22:26 --- Created an attachment (id=19451) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19451&action=view) Reduced testcase. Requires TLS support. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42564

[Bug c++/42364] C++ testsuite fails with -g

2010-01-02 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-01-02 22:44 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.

2010-01-02 Thread kargl at gcc dot gnu dot org
--- Comment #12 from kargl at gcc dot gnu dot org 2010-01-02 22:51 --- *** Bug 42583 has been marked as a duplicate of this bug. *** -- kargl at gcc dot gnu dot org changed: What|Removed |Added --

[Bug driver/42583] gfortran: libgomp.spec: No such file or directory

2010-01-02 Thread kargl at gcc dot gnu dot org
--- Comment #1 from kargl at gcc dot gnu dot org 2010-01-02 22:51 --- *** This bug has been marked as a duplicate of 41605 *** -- kargl at gcc dot gnu dot org changed: What|Removed |Added --

[Bug target/42564] unrecognizable insn with -O -fPIC

2010-01-02 Thread ebotcazou at gcc dot gnu dot org
--- Comment #8 from ebotcazou at gcc dot gnu dot org 2010-01-02 23:00 --- The root of the problem is plus_constant wrapping up a TLS symbol in a CONST: (const:DI (plus:DI (symbol_ref:DI ("m") [flags 0x1a] ) (const_int 4 [0x4]))) what the SPARC back-end doesn't like. So someth

[Bug driver/42583] gfortran: libgomp.spec: No such file or directory

2010-01-02 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-01-02 23:10 --- Huh? The testcase is in the wrong directory, runtime tests have to be in the libgomp testsuite. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug testsuite/42583] [4.5 Regression] FAIL: gfortran.dg/gomp/recursion1.f90: gfortran: libgomp.spec: No such file or directory

2010-01-02 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-01-02 23:14 --- Is broken everywhere. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/42555] [4.5 Regression] 16-byte aligned double is disallowed only in templates

2010-01-02 Thread jason at gcc dot gnu dot org
--- Comment #4 from jason at gcc dot gnu dot org 2010-01-02 23:23 --- I can't reproduce this with the current 4.5 sources. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42555

[Bug testsuite/42583] [4.5 Regression] FAIL: gfortran.dg/gomp/recursion1.f90: gfortran: libgomp.spec: No such file or directory

2010-01-02 Thread kargl at gcc dot gnu dot org
--- Comment #4 from kargl at gcc dot gnu dot org 2010-01-02 23:23 --- (In reply to comment #2) > Huh? > > The testcase is in the wrong directory, runtime tests have to be in the > libgomp testsuite. > See the last comment in the PR that I listed as a duplicate. -- http://gcc.gnu.

[Bug testsuite/42583] [4.5 Regression] FAIL: gfortran.dg/gomp/recursion1.f90: gfortran: libgomp.spec: No such file or directory

2010-01-02 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-01-02 23:45 --- Your duplicate bug is about sth completely different (even if later comments talk about an unrelated thing to that bug). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42583

[Bug c++/42555] [4.5 Regression] 16-byte aligned double is disallowed only in templates

2010-01-02 Thread hjl dot tools at gmail dot com
--- Comment #5 from hjl dot tools at gmail dot com 2010-01-02 23:48 --- (In reply to comment #4) > I can't reproduce this with the current 4.5 sources. > I still saw it with today's gcc 4.5. You need -O3 -msse2 on Linux/x86 to see it. -- hjl dot tools at gmail dot com changed:

[Bug bootstrap/42584] New: GCC 4.5 doesn't come close to bootstrapping on MinGW/MSYS

2010-01-02 Thread lxndrmxwll at gmail dot com
According to the GCC 4.5 Release Criteria at http://gcc.gnu.org/gcc-4.5/criteria.html , MinGW is a secondary platform and should be able to bootstrap successfully. Currently, GCC 4.5 does not even build on MinGW/MSYS with --disable-bootstrap , which worked for me with 4.3.x. (The full bootstrap has

[Bug tree-optimization/42585] New: -Os not modifying memory object in place

2010-01-02 Thread andi-gcc at firstfloor dot org
>From one of the examples from http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_llvm-gcc-head/ struct _fat_ptr { unsigned char *curr; unsigned char *base; unsigned char *last_plus_one; }; int Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr); int Cyc_string_ungetc (int ignor

[Bug rtl-optimization/42586] New: load-modify-store on x86 should be single instruction

2010-01-02 Thread andi-gcc at firstfloor dot org
Continuation from 42585 >From one of the examples of http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_llvm-gcc-head/ struct _fat_ptr { unsigned char *curr; unsigned char *base; unsigned char *last_plus_one; }; int Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr); int Cyc_s

[Bug tree-optimization/42587] New: bswap not recognized for union

2010-01-02 Thread andi-gcc at firstfloor dot org
From http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_llvm-gcc-head/ typedef unsigned char u8; typedef unsigned int u32; #pragma pack(1) #pragma pack() #pragma pack(1) #pragma pack() #pragma pack(1) #pragma pack() #pragma pack(4) #pragma pack() union __anonunion_out_195 { u32 value;

[Bug middle-end/42588] New: unnecessary move through x87 stack/local frame for union

2010-01-02 Thread andi-gcc at firstfloor dot org
from http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_llvm-gcc-head/ union __anonunion___u_19 { double __d; int __i[2]; }; extern __attribute__ ((__nothrow__)) int __signbit (double __x) __attribute__ ((__const__)); extern __attribute__ ((__nothrow__)) int __signbit

[Bug rtl-optimization/42586] load-modify-store on x86 should be single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2010-01-03 06:27 --- Well one thing is SRA does not do its job which is why there is useless stack frame changes. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586

[Bug rtl-optimization/42586] load-modify-store on x86 should be single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #2 from pinskia at gcc dot gnu dot org 2010-01-03 06:27 --- Oh and -Os is very bad looking :). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586

[Bug tree-optimization/42586] SRA does not always work

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #3 from pinskia at gcc dot gnu dot org 2010-01-03 06:30 --- Oh in fact I think the reason is the SRA issue. In that: int Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr) { sptr->curr += 4294967295U; } Works. -- pinskia at gcc dot gnu dot org changed: W

[Bug tree-optimization/42586] SRA does not always work

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2010-01-03 06:33 --- Hmm, 4.5 is worse off than 4.4 with respect of the stack space usage. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added ---

[Bug tree-optimization/42586] SRA does not always work

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #5 from pinskia at gcc dot gnu dot org 2010-01-03 06:35 --- 4.5 has: _T2 = *sptr_1(D); _T2$curr_14 = sptr_1(D)->curr; _ans = _T2; D.2697_7 = _T2$curr_14 + -1; *sptr_1(D) = _ans; sptr_1(D)->curr = D.2697_7; While 4.4 does: _T2$base = sptr->base; D.1587 = sptr-

[Bug tree-optimization/42586] SRA does not always work

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2010-01-03 06:38 --- I think if we get the old SRA behavior back for this code, we will get this optimization in 4.5 since we remove the sptr->base and the other unnecessary store during PRE. -- http://gcc.gnu.org/bugzilla/show_bug.

[Bug tree-optimization/42585] [4.5 Regression] SRA is not good for structure copies with one replacement any more

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2010-01-03 06:41 --- I think fixing this will also fix the PR 42586 on the trunk. Confirmed, a regression from 4.4. SRA is worse off on the trunk for this case than with 4.4. -- pinskia at gcc dot gnu dot org changed: W

[Bug middle-end/42588] unnecessary move through x87 stack/local frame for union

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2010-01-03 06:46 --- ;; __u.__d = __x_1(D); (insn 6 5 0 t.c:15 (set (subreg:DF (reg/v:DI 60 [ __u ]) 0) (reg/v:DF 62 [ __x ])) -1 (nil)) That causes a reload to happen: Reload 0: reload_out (DF) = (subreg:DF (reg/v:DI 60 [ __u

[Bug rtl-optimization/42589] New: bswap optimization does not work for 32bit (but for 64bit)

2010-01-02 Thread andi-gcc at firstfloor dot org
>From one of the test cases from http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_llvm-gcc-head/ typedef unsigned int size_t; typedef unsigned char apr_byte_t; typedef unsigned long long apr_uint64_t; struct _SHA512_CTX { apr_uint64_t state[8]; apr_uint64_t bitcount[2]; apr_byt

[Bug middle-end/42588] unnecessary move through x87 stack/local frame for union

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #2 from pinskia at gcc dot gnu dot org 2010-01-03 06:49 --- Here is an example which shows the issue on PPC also: union __anonunion___u_19 { double __d; int __i[2]; }; extern int __signbit (double *__x) { union __anonunion___u_19 __u; { __u.__d = *__x; re

[Bug middle-end/42588] unnecessary move through x87 stack/local frame for union

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #3 from pinskia at gcc dot gnu dot org 2010-01-03 06:51 --- This is related to PR 33989. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42588

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread andi-gcc at firstfloor dot org
--- Comment #7 from andi-gcc at firstfloor dot org 2010-01-03 06:55 --- This bug was not about the unnecessary stack frame, but about unnecessary read-modify-write (it seems you didn't read my description completely) For stack frame probably another bug should be opened. I can do that.

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #8 from pinskia at gcc dot gnu dot org 2010-01-03 06:57 --- (In reply to comment #7) > I reverted the summary to the original one. Well it is all interrelated :). Which is what my point was about that. Did you notice comment #3 which shows that load-modify-store actually d

[Bug middle-end/42590] New: unnecessary stack frame set up

2010-01-02 Thread andi-gcc at firstfloor dot org
Continuation from 42586 and 42585 who handle other missed optimizations for this test case. >From one of the examples of http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_llvm-gcc-head/ struct _fat_ptr { unsigned char *curr; unsigned char *base; unsigned char *last_plus_one; };

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread andi-gcc at firstfloor dot org
--- Comment #9 from andi-gcc at firstfloor dot org 2010-01-03 07:00 --- SRA issue handled in #42590 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #10 from pinskia at gcc dot gnu dot org 2010-01-03 07:02 --- (In reply to comment #9) > SRA issue handled in #42590 And that is the same as the -Os issue really ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread andi-gcc at firstfloor dot org
--- Comment #11 from andi-gcc at firstfloor dot org 2010-01-03 07:03 --- My naive assumption was that the read-modify-write pattern is handled late by the RTL backend when generating instructions while SRA is somewhere early in the tree oriented middle end. -- http://gcc.gnu.org/bu

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #12 from pinskia at gcc dot gnu dot org 2010-01-03 07:07 --- (In reply to comment #11) > My naive assumption was that the read-modify-write pattern is handled late by > the RTL backend when generating instructions while SRA is somewhere early in > the tree oriented middle en

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #13 from pinskia at gcc dot gnu dot org 2010-01-03 07:09 --- (In reply to comment #12) > Well the other issue is that only post-reload-cse deletes the load/stores > without SRA doing what needs to be done. This was PR 38513 which we still should be done at the RTL level b

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #14 from pinskia at gcc dot gnu dot org 2010-01-03 07:10 --- If we manually do the SRA like SRA would do it in 4.4: unsigned char *a, *b, *c; a = sptr->curr; b = sptr->base; c = sptr->last_plus_one; a +=4294967295U; sptr->curr = a; sptr->base = b; sptr->last_

[no subject]

2010-01-02 Thread gcc-bugs-return-303931-archive=jab . org
typedef unsigned long long u64; union ktime { s64 tv64; }; typedef union ktime ktime_t; ktime_t ns_to_ktime (u64 ns); union ktime const ktime_zero = { 0LL }; ktime_t ns_to_ktime (u64 ns) { ktime_t __constr_expr_0; { __constr_expr_0.tv64 = (s64) ((u64) ktime_zero.tv64 + ns); return (

[Bug tree-optimization/42591] missing constant evaluation for const union

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2010-01-03 07:22 --- fold_const_aggregate_ref should handle it but maybe the CONSTRUCTOR does not the field set. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42591

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread andi-gcc at firstfloor dot org
--- Comment #15 from andi-gcc at firstfloor dot org 2010-01-03 07:47 --- As an addendum the unnecessary stack frame seems to be a very common problem, it's in a lot of the examples near the end of http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-head_suncc-5.10/ typically combi

[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction

2010-01-02 Thread pinskia at gcc dot gnu dot org
--- Comment #16 from pinskia at gcc dot gnu dot org 2010-01-03 07:49 --- (In reply to comment #15) > As an addendum the unnecessary stack frame seems to be a very common problem, > it's in a lot of the examples near the end of > http://embed.cs.utah.edu/embarrassing/dec_09/harvest/gcc-

<    1   2