[Bug fortran/40443] Elemental procedure in genericl interface incorrectly selected in preference to specific procedure

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2009-06-15 07:46 ---
Paul, I CC you as you are our generic-resolution expert.

 * * *

gfortran 4.1 to 4.5, NAG f95 5.1, g95, ifort 11, openf95, Sun Studio 12 all
print the following:

E
S, S
E
E, E   !  you expect an S, S here

Looking at the following excerpt from Fortran 2003, it looks indeed as if all
the compiler get it wrong. Especially, the standard does not assume (to my
reading) that the generic resolution depends on the order. However, before
changing it, one needs to double check - that several compiler gets it wrong
and (of my collection) none gets it correct also happens only rarely.

 * * *

12.4.4.1 Resolving procedure references to names established to be generic

(1) If the reference is consistent with a nonelemental reference to one of the
specific interfaces of a generic interface that has that name and either is in
the scoping unit in which the reference appears or is made accessible by a USE
statement in the scoping unit, the reference is to the specific procedure in
the interface block that provides that interface. The rules in 16.2.3 ensure
that there can be at most one such specific procedure.

 (2) If (1) does not apply, if the reference is consistent with an elemental
reference to one of the specific interfaces of a generic interface that has
that name and either is in the scoping unit in which the reference appears or
is made accessible by a USE statement in the scoping unit, the reference is to
the specific elemental procedure in the interface block that provides that
interface. The rules in 16.2.3 ensure that there can be at most one such
specific elemental procedure.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pault at gcc dot gnu dot
   ||org, burnus at gcc dot gnu
   ||dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i586-pc-mingw32 |
   GCC host triplet|i586-pc-mingw32 |
 GCC target triplet|i586-pc-mingw32 |
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2009-06-15 07:46:13
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40443



[Bug fortran/40443] Elemental procedure in genericl interface incorrectly selected in preference to specific procedure

2009-06-15 Thread jpr at csc dot fi


--- Comment #2 from jpr at csc dot fi  2009-06-15 08:28 ---
(In reply to comment #1)
 Paul, I CC you as you are our generic-resolution expert.
 
  * * *
 
 gfortran 4.1 to 4.5, NAG f95 5.1, g95, ifort 11, openf95, Sun Studio 12 all
 print the following:
 
 E
 S, S
 E
 E, E   !  you expect an S, S here
 

FWIW, Portland and Intel compilers both print 

E
S, S
E
S, S

BR, Juha


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40443



[Bug fortran/40440] [4.4/4.5 Regression] Garbage or segmentation fault in allocatable array derived type structures

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2009-06-15 08:52 ---
(In reply to comment #2)
 COmplete code for the test case including the module iso_varying_string

Works with: gfortran 4.3.3, ifort 11, sunf95, NAG f95 5.1 (w/o flush
statements)
Fails (abort) with gfortran 4.4.1/4.5

Valgrind shows several uninitialized accesses (gfortran 4.3.3, 4.4, and 4.5),
but no errors with NAG f95 or ifort. Interestingly, it runs through with
valgrind + gfortran 4.5, which means that it could be no regression and working
in 4.3.3 only by chance.

valgrind finds essentially the following two errors with gfortran 4.5:

 Invalid read of size 1
at 0x4091FC: __iso_varying_string_MOD_char_auto (foo.f90:868)
by 0x40B73F: __syntax_rules_MOD_monitor_syntax_rules (foo.f90:3450)
by 0x40B8F5: __syntax_rules_MOD_syntax_get_rule_ptr (foo.f90:3431)
by 0x40C242: set_children.6490 (foo.f90:3410)
by 0x40C933: __syntax_rules_MOD_set_rule_contents (foo.f90:3366)
by 0x40E9E5: __syntax_rules_MOD_syntax_init_from_ifile (foo.f90:3287)
by 0x412C6E: MAIN__ (foo.f90:3472)

 Use of uninitialised value of size 8
at 0x40C261: set_children.6490 (foo.f90:3410)
by 0x40C933: __syntax_rules_MOD_set_rule_contents (foo.f90:3366)
by 0x40E9E5: __syntax_rules_MOD_syntax_init_from_ifile (foo.f90:3287)
by 0x412C6E: MAIN__ (foo.f90:3472)
by 0x412D09: main (foo.f90:3462)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||wrong-code
  Known to fail||4.4.1 4.5.0
  Known to work||4.3.3
Summary|[4.5.0 Regression] Garbage  |[4.4/4.5 Regression] Garbage
   |or segmentation fault in|or segmentation fault in
   |allocatable array derived   |allocatable array derived
   |type structures |type structures
   Target Milestone|--- |4.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40440



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-06-15 09:05 ---
I have applied the following patch on revision 148472

diff -up libffi/testsuite/libffi.call/err_bad_abi.c
/opt/gcc/gcc-4.5-work/libffi/testsuite/libffi.call/err_bad_abi.c
--- libffi/testsuite/libffi.call/err_bad_abi.c  2009-06-12 19:21:34.0
+0200
+++ /opt/gcc/gcc-4.5-work/libffi/testsuite/libffi.call/err_bad_abi.c   
2009-06-15 00:31:41.0 +0200
@@ -4,7 +4,7 @@
PR: none.
Originator: Blake Chaffin 6/6/2007   */

-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-*
i*86-*-linux-* x86_64-*-linux-* sh*-*-* } } */
+/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-*
i*86-*-linux-* x86_64-*-linux-* sh*-*-* *-apple-* } } */
 #include ffitest.h

 static void
diff -up libffi/testsuite/libffi.call/err_bad_typedef.c
/opt/gcc/gcc-4.5-work/libffi/testsuite/libffi.call/err_bad_typedef.c
--- libffi/testsuite/libffi.call/err_bad_typedef.c  2009-06-12
19:21:34.0 +0200
+++ /opt/gcc/gcc-4.5-work/libffi/testsuite/libffi.call/err_bad_typedef.c   
2009-06-15 00:31:00.0 +0200
@@ -4,7 +4,7 @@
PR: none.
Originator: Blake Chaffin 6/6/2007   */

-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-*
i*86-*-linux-* x86_64-*-linux-* sh*-*-* } } */
+/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-*
i*86-*-linux-* x86_64-*-linux-* sh*-*-* *-apple-* } } */
 #include ffitest.h

 int main (void)

and I get:

=== libffi tests ===


Running target unix

=== libffi Summary for unix ===

# of expected passes1594
# of expected failures  10
# of unsupported tests  15

Running target unix/-m64
FAIL: libffi.call/closure_fn0.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_fn1.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_fn2.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_fn3.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_fn4.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_fn5.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_fn6.c -O0 -W -Wall execution test
FAIL: libffi.call/closure_loc_fn0.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_12byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_16byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_18byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_19byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_1_1byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_20byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_20byte1.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_24byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_2byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_3_1byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_3byte1.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_3byte2.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_4_1byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_4byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_5_1_byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_5byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_64byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_6_1_byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_6byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_7_1_byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_7byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_8byte.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_9byte1.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_9byte2.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_double.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_float.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_longdouble.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_longdouble_split.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_longdouble_split2.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_pointer.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_sint16.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_sint32.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_sint64.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_uint16.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_uint32.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_align_uint64.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_dbls_struct.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_double.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_double_va.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_float.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_longdouble.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_longdouble_va.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_multi_schar.c -O0 -W -Wall execution test
FAIL: libffi.call/cls_multi_sshort.c -O0 -W -Wall execution test
FAIL: 

[Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects

2009-06-15 Thread jamborm at gcc dot gnu dot org


--- Comment #9 from jamborm at gcc dot gnu dot org  2009-06-15 09:07 ---
Created an attachment (id=18001)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18001action=view)
Fix

This was quite a serious oversight on my part, I wonder how it went
for so long unnoticed.  I am about to bootstrap and regression test
this patch and will submit it if both succeed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread aph at gcc dot gnu dot org


--- Comment #5 from aph at gcc dot gnu dot org  2009-06-15 09:07 ---
That probably is my fault.  However, I can't do anything about it until I see
the testsuite log file.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40385



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread aph at gcc dot gnu dot org


--- Comment #6 from aph at gcc dot gnu dot org  2009-06-15 09:08 ---
Re http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00929.html:

That was answered on Fri, 12 Jun by Kaz Kojima.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40385



[Bug tree-optimization/40432] [4.5 Regression] verify_stmts failed with -O2: non-register as LHS of unary operation

2009-06-15 Thread jamborm at gcc dot gnu dot org


--- Comment #4 from jamborm at gcc dot gnu dot org  2009-06-15 09:09 ---
Created an attachment (id=18002)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18002action=view)
Fix

OK, the  statement is fine  except that it  is not gimple  ;-).  Fixed
with this patch, I will submit it if it passes bootstrap and testing.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40432



[Bug target/40416] unnecessary register spill

2009-06-15 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-06-15 09:14:05
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40416



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2009-06-15 09:19 ---
 That probably is my fault.  However, I can't do anything about it until I see
 the testsuite log file.

The log file looks like:

...
Executing on host: /opt/gcc/i686-darwin/gcc/xgcc -B/opt/gcc/i686-darwin/gcc/
/opt/gcc/gcc-4.5-work/libffi/testsuite/libffi.call/closure_fn0.c  -O0 -W -Wall 
-I/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libffi/include
-I/opt/gcc/gcc-4.5-work/libffi/testsuite/../include 
-I/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libffi/include/..
-L/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libffi/.libs
-L/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libstdc++-v3/src/.libs 
-shared-libgcc -lffi -lm   -m64 -o ./closure_fn0.exe(timeout = 300)
PASS: libffi.call/closure_fn0.c -O0 -W -Wall (test for excess errors)
Setting LD_LIBRARY_PATH to
.:/opt/gcc/i686-darwin/gcc:/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libffi/.libs:/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libstdc++-v3/src/.libs:.:/opt/gcc/i686-darwin/gcc:/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libffi/.libs:/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libstdc++-v3/src/.libs
FAIL: libffi.call/closure_fn0.c -O0 -W -Wall execution test
...

Quite terse, isn't it? What would you need precisely?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40385



[Bug c++/32534] gcc fails to initialize template's static data members before their use in some cases

2009-06-15 Thread jwakely dot gcc at gmail dot com


--- Comment #3 from jwakely dot gcc at gmail dot com  2009-06-15 09:19 
---
(In reply to comment #0)
 I can't use template A Bint::a = something; form (which would help)
 because I have only empty ctor (like in the case of map).

I'm not sure what you mean but this works fine:

template A Bint::a = A();




-- 

jwakely dot gcc at gmail dot com changed:

   What|Removed |Added

 CC||jwakely dot gcc at gmail dot
   ||com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32534



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2009-06-15 09:24 ---
 That was answered on Fri, 12 Jun by Kaz Kojima.

Not exactly, it answered about some future goal of the tests, but without any
name of platform(s) on which they work. My implicit question is does it make
any sense to add XFAILed platforms instead of *-*-*, if the tests do not pass
on any known platform?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40385



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread aph at gcc dot gnu dot org


--- Comment #9 from aph at gcc dot gnu dot org  2009-06-15 09:29 ---
I need to know why it's crashing.  Usually there's some sort of error message. 
If there's not, there's no choice but to debug.

This Darwin problem is clearly not the same bug as 40385, so it needs a new
Bugzilla entry.

I expect that a patch to xfail err_bad_abi.c on *-*-* would be approved.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40385



[Bug libffi/40444] New: [4.5 Regression] libffi badly broken with -m64 by some revision between 148383 and 148472.

2009-06-15 Thread dominiq at lps dot ens dot fr
See comment #4 of pr40385:

=== libffi Summary for unix ===

# of expected passes1594
# of expected failures  10
# of unsupported tests  15

Running target unix/-m64
FAIL: libffi.call/closure_fn0.c -O0 -W -Wall execution test
...
FAIL: libffi.special/unwindtest.cc  -shared-libgcc -lstdc++ execution test

=== libffi Summary for unix/-m64 ===

# of expected passes776
# of unexpected failures409
# of expected failures  10
# of unsupported tests  15

=== libffi Summary ===

# of expected passes2370
# of unexpected failures409
# of expected failures  20
# of unsupported tests  30

I have had a look at some crash reports. They look as:

[ibook-dhum] gcc/_gcc_clean% cat
~/Library/Logs/CrashReporter/closure_fn0.exe_2009-06-15-074300_ibook-dhum.crash
Process: closure_fn0.exe [67697]
Path:./closure_fn0.exe
Identifier:  closure_fn0.exe
Version: ??? (???)
Code Type:   X86-64 (Native)
Parent Process:  expect [60005]

Date/Time:   2009-06-15 07:43:00.456 +0200
OS Version:  Mac OS X 10.5.7 (9J61)
Report Version:  6
Anonymous UUID:  E80146C8-66E0-457D-87E0-4A904418933C

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000100100210
Crashed Thread:  0

Thread 0 Crashed:
0   ??? 0x000100100210 0 + 4296016400
1   closure_fn0.exe 0x000109f4 start + 52

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x000100100210  rbx: 0x7fff5fbf8c60  rcx: 0x0004 
rdx: 0x0003
  rdi: 0x0001  rsi: 0x0002  rbp: 0x7fff5fbf8ca0 
rsp: 0x7fff5fbf8b88
   r8: 0x007f   r9: 0x01ad  r10: 0x00012150 
r11: 0x00014f20
  r12: 0x  r13: 0x  r14: 0x 
r15: 0x
  rip: 0x000100100210  rfl: 0x00010246  cr2: 0x000100100210

Binary Images:
   0x1 -0x10fff +closure_fn0.exe ??? (???)
6d8a3f27722de7f10c1822591331d4f3
/Volumes/MacBook/opt/gcc/i686-darwin/i686-apple-darwin9/libffi/testsuite/closure_fn0.exe
   0x13000 -0x15ff7 +libffi.4.dylib ??? (???)
ca0f9c56e408e1f77be7289ad188fc7e
/opt/gcc/i686-darwin/i686-apple-darwin9/x86_64/libffi/.libs/libffi.4.dylib
   0x1a000 -0x10001eff1 +libgcc_s.1.dylib ??? (???)
28ae595aba1589142c1755e5b0ac38dc /opt/gcc/i686-darwin/gcc/libgcc_s.1.dylib
0x7fff5fc0 - 0x7fff5fc2e643  dyld 97.1 (???)
b40847f1ce1ba2ed13837aeccbf19284 /usr/lib/dyld
0x7fff82d7e000 - 0x7fff82f09ffb  libSystem.B.dylib ??? (???)
558e10ab4bc6790fd3ee1abd14458085 /usr/lib/libSystem.B.dylib
0x7fff83fe2000 - 0x7fff83fe6fff  libmathCommon.A.dylib ??? (???)
/usr/lib/system/libmathCommon.A.dylib
0x7fe0 - 0x7fe01780  libSystem.B.dylib ??? (???)
/usr/lib/libSystem.B.dylib


-- 
   Summary: [4.5 Regression] libffi badly broken with -m64 by some
revision between 148383 and 148472.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libffi
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40444



[Bug libffi/40385] new testcases bought in by Revision 148285 fail on ia64

2009-06-15 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2009-06-15 09:42 ---
 This Darwin problem is clearly not the same bug as 40385, so it needs a new
 Bugzilla entry.

This is now pr40444.

 I expect that a patch to xfail err_bad_abi.c on *-*-* would be approved.

Probably err_bad_typedef.c also.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40385



[Bug c++/32534] gcc fails to initialize template's static data members before their use in some cases

2009-06-15 Thread jwakely dot gcc at gmail dot com


--- Comment #4 from jwakely dot gcc at gmail dot com  2009-06-15 09:55 
---
extern C int printf(const char*, ...);

struct A
{
A() : value(1) { printf(A::A %d\n, value); }
int value;
};

templateclass T
struct B
{
static A a;
};

templateclass T A BT::a = A();

templateclass T
struct C
{
C()
{
printf(C::C %d\n, Bint::a.value);
Bint::a.value = 2;
}
};

Cfloat c;

int main()
{
printf(main %d\n, Bint::a.value);
}

compiled with 4.3.2 prints:
C::C 0
A::A 1
main 1

but I expect:
A::A 1
C::C 1
main 2

It seems that the initializer for BT::a runs after the initialization of c,
so although the Bint::a.value gets set by C::C it then gets overwritten by
A::A


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32534



[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.

2009-06-15 Thread irar at il dot ibm dot com


--- Comment #12 from irar at il dot ibm dot com  2009-06-15 09:58 ---
(In reply to comment #9)
 The patch in comment #8 fixes the failures reported in comment #7. I now see
 (powerpc-apple-darwin9 with -m64):
 FAIL: gcc.dg/vect/vect-42.c scan-tree-dump-times vect Alignment of access
 forced using versioning 3

Is this target ([istarget *-*-darwin*]  [is-effective-target lp64]) (meaning
vector_alignment_reachable is false for it)?

If so, why do we do peeling? And also why in that case it doesn't XPASS
Alignment of access forced using peeling 1 vect?

Otherwise, vector_alignment_reachable is true, and it is not supposed to look
for the versioning string at all (since the target is not vect_no_align,
right?).

It doesn't make sense to me either way...
Revital, maybe you can try to add brackets: { ! { vector_alignment_reachable }
} instead of { ! vector_alignment_reachable} ?

Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40359



[Bug bootstrap/40439] [4.5 Regression] Bootstrap broken on FreeBSD in tree.c

2009-06-15 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2009-06-15 10:05 ---
Subject: Bug 40439

Author: rguenth
Date: Mon Jun 15 10:05:29 2009
New Revision: 148486

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148486
Log:
2009-06-15  Richard Guenther  rguent...@suse.de

PR middle-end/40439
* tree.c (widest_int_cst_value): Fix bootstrap on 32bit HWI hosts.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40439



[Bug middle-end/40439] [4.5 Regression] Bootstrap broken on FreeBSD in tree.c

2009-06-15 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2009-06-15 10:05 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Component|bootstrap   |middle-end
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40439



[Bug tree-optimization/40087] [4.3 Regression] Number of iterations analysis wrong

2009-06-15 Thread cnstar9988 at gmail dot com


--- Comment #14 from cnstar9988 at gmail dot com  2009-06-15 10:10 ---
ping 4.3.4...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40087



[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.

2009-06-15 Thread eres at il dot ibm dot com


--- Comment #13 from eres at il dot ibm dot com  2009-06-15 10:41 ---
Created an attachment (id=18003)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18003action=view)
Patch to fix error in vect-42.c

Ira, thanks for the suggestion!
I deleted an extra space, so now the syntax is {! vector_alignment_reachable}.
Dominique  -- if that still does not fix the problem I will try to add more
braces...
Thanks!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40359



[Bug c/40442] Option -I and POSIX conformance (c99 utility)

2009-06-15 Thread joseph at codesourcery dot com


--- Comment #3 from joseph at codesourcery dot com  2009-06-15 10:57 ---
Subject: Re:  Option -I and POSIX conformance (c99 utility)

On Mon, 15 Jun 2009, vincent at vinc17 dot org wrote:

 This may be true for standard headers, but system directories don't contain
 only standard headers: in practice, they generally also contain additional
 libraries. And for instance, a -I/usr/include can be useful to override
 headers/libraries installed in /usr/local/{include,lib}.

If you have modified the implementation (by putting headers/libraries in 
standard directories where those headers/libraries were not provided by 
the implementation in those versions in those directories, for example), 
you are very definitely outside the scope of POSIX.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40442



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread mrsam at courier-mta dot com


--- Comment #16 from mrsam at courier-mta dot com  2009-06-15 11:13 ---
After staring at the code for a while, I'm leaning towards thinking that this
change does not really change the application ABI, so the soname bump is not
needed.

As far as I can tell, there are no public members of std::messages, so
applications never access instances of std::messages, the only thing they do is
invoke the inlined methods, which call the virtual methods. I don't think that
the addition of a class member affects the instances' vtable.

Applications do not construct instances of std::messages. I don't think
anything gets exposed that does that, this is done by libstdc++, so as long as
libstdc++ gets rebuilt using the new class definition, that's all that's
needed. use_facet() does not expose any code that constructs the class, that's
done elsewhere.

So, without any class members being accessed, and no constructions or
destructions occuring as part of the ABI, scratch the soname bump -- I don't
think it's needed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug fortran/40443] Elemental procedure in genericl interface incorrectly selected in preference to specific procedure

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2009-06-15 11:24 ---
  gfortran 4.1 to 4.5, NAG f95 5.1, g95, ifort 11, openf95, Sun Studio 12 all
  print the following:

Correction, ifort 9.1 to 11.1 all print S, S - sorry for missing it. But the
other compilers listed above indeed print E, E.

 FWIW, Portland and Intel compilers both print 
 S, S


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2009-06-15 07:46:13 |2009-06-15 11:24:02
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40443



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread paolo dot carlini at oracle dot com


--- Comment #17 from paolo dot carlini at oracle dot com  2009-06-15 11:36 
---
Maybe it's because I didn't really look carefully at the patch: aren't you
adding a new data member to the class? Changing either size or layout of a type
specified in the C++ standard definitely changes the ABI, at least in the
rather wide sense we are using in this project. You can find more informations
here: http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug c/40442] Option -I and POSIX conformance (c99 utility)

2009-06-15 Thread vincent at vinc17 dot org


--- Comment #4 from vincent at vinc17 dot org  2009-06-15 11:59 ---
(In reply to comment #3)
 If you have modified the implementation (by putting headers/libraries in 
 standard directories where those headers/libraries were not provided by 
 the implementation in those versions in those directories, for example), 
 you are very definitely outside the scope of POSIX.

I'm not sure I understand what you mean. But the existing practice is that
additional headers/libraries (i.e. not those defined by the C standard)
provided by the vendor are stored under /usr/{include,lib}. And I don't think
this goes against POSIX. Concerning /usr/local, the FHS says:

  The /usr/local hierarchy is for use by the system administrator when
  installing software locally.

So, it should be safe to add libraries there. And again, this is the existing
practice.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40442



[Bug c++/40434] [C++0x] g++ does not obey 8.3.5p5?!

2009-06-15 Thread jwakely dot gcc at gmail dot com


--- Comment #2 from jwakely dot gcc at gmail dot com  2009-06-15 12:06 
---
8.3.5p5? is that reference right?
and I assume you mean line 10, not line 14.

The pair(pair) constructor is not in the WP. Commenting it out causes the
pair(pairU,V) constructor to be used, which fails to compile (as with the
next line.)


-- 

jwakely dot gcc at gmail dot com changed:

   What|Removed |Added

 CC||jwakely dot gcc at gmail dot
   ||com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40434



[Bug fortran/40440] [4.4/4.5 Regression] Garbage or segmentation fault in allocatable array derived type structures

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2009-06-15 12:16 ---
Note: syntax_get_rule_ptr is defined as:

  function syntax_get_rule_ptr (syntax, key) result (rule)
type(syntax_rule_t), pointer :: rule
type(syntax_t), intent(in), target :: syntax
type(string_t), intent(in) :: key

and syntax_rule_set_sub is defined as follows where sub is the relevant
argument:

  subroutine syntax_rule_set_sub (rule, i, sub)
type(syntax_rule_t), intent(inout) :: rule
integer, intent(in) :: i
type(syntax_rule_t), intent(in), target :: sub

If one looks at the dump for the following line in set_rule_contents

call syntax_rule_set_sub (rule, i, syntax_get_rule_ptr (syntax, 
  lexeme_get_contents (lexeme(i+3

one finds:

  integer(kind=8) S.297;
  struct varying_string D.6550;
  D.6550 = lexeme_get_contents ((*lexeme)[(integer(kind=8)) (i + 3) + -1]);
  syntax_rule_set_sub ((struct syntax_rule_t *) rule, i,
 syntax_get_rule_ptr ((struct syntax_t *) syntax, D.6550));

which looks OK. But then it continues:

  if (syntax_get_rule_ptr ((struct syntax_t *) syntax, 
   D.6550)-keyword.chars.data != 0B)
__builtin_free (syntax_get_rule_ptr ((struct syntax_t *) syntax,
 D.6550)-keyword.chars.data);
  syntax_get_rule_ptr ((struct syntax_t *) syntax,
   D.6550)-keyword.chars.data = 0B;
  if (syntax_get_rule_ptr ((struct syntax_t *) syntax,
   D.6550)-separator.chars.data != 0B)
 __builtin_free (syntax_get_rule_ptr ((struct syntax_t *) syntax,
  D.6550)-separator.chars.data);
  syntax_get_rule_ptr ((struct syntax_t *) syntax,
   D.6550)-separator.chars.data = 0B;
  S.297 = 0;
  while (1)
{
   if (S.297  1) goto L.27;
   if (syntax_get_rule_ptr ((struct syntax_t *) syntax, 
D.6550)-delimiter[S.297].chars.data != 0B)
 __builtin_free (syntax_get_rule_ptr ((struct syntax_t *) syntax,
 D.6550)-delimiter[S.297].chars.data);
   syntax_get_rule_ptr ((struct syntax_t *) syntax,
D.6550)-delimiter[S.297].chars.data = 0B;
   S.297 = S.297 + 1;
}
  L.27:;
  if (syntax_get_rule_ptr ((struct syntax_t *) syntax,
   D.6550)-child.data != 0B)
 __builtin_free (syntax_get_rule_ptr ((struct syntax_t *) syntax,
  D.6550)-child.data);
  syntax_get_rule_ptr ((struct syntax_t *) syntax, D.6550)-child.data = 0B;
  if (D.6550.chars.data != 0B)
__builtin_free (D.6550.chars.data);
  D.6550.chars.data = 0B;


Thus the problem seems to be that syntax_get_rule_ptr is treated as variable
and not as function call.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40440



[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.

2009-06-15 Thread dominiq at lps dot ens dot fr


--- Comment #14 from dominiq at lps dot ens dot fr  2009-06-15 12:36 ---
(In reply to comment #13)
 if that still does not fix the problem I will try to add more braces...

I tried several variants that were not working. The following patch works,
though I have no idea if it is right:

[karma] darwin_buildw/gcc% diff -up
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-42.c
/opt/gcc/gcc-4.5-work/gcc/testsuite/gcc.dg/vect/vect-42.c
--- /opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-42.c 2009-06-05
18:02:02.0 +0200
+++ /opt/gcc/gcc-4.5-work/gcc/testsuite/gcc.dg/vect/vect-42.c   2009-06-15
14:17:38.0 +0200
@@ -63,7 +63,7 @@ int main (void)
 }

 /* { dg-final { scan-tree-dump-times vectorized 2 loops 1 vect } } */
-/* { dg-final { scan-tree-dump-times Alignment of access forced using
versioning 3 vect { target { vect_no_align || { { !
vector_alignment_reachable}  {!vect_hw_misalign} } } } } } */
+/* { dg-final { scan-tree-dump-times Alignment of access forced using
versioning 3 vect { target { vect_no_align || { { !
vector_alignment_reachable }  vect_hw_misalign } } } } } */
 /* { dg-final { scan-tree-dump-times Vectorizing an unaligned access 4
vect { xfail { { vect_no_align || vect_hw_misalign } || { !
vector_alignment_reachable } } } } } */
 /* { dg-final { scan-tree-dump-times Alignment of access forced using
peeling 1 vect { xfail { { vect_no_align || vect_hw_misalign } || { !
vector_alignment_reachable } } } } } */
 /* { dg-final { cleanup-tree-dump vect } } */


[karma] darwin_buildw/gcc% make -k check-gcc RUNTESTFLAGS=vect.exp=vect-42.c
--target_board=unix'{,-m64}'
...
WARNING: Couldn't find the global config file.
Test Run By dominiq on Mon Jun 15 14:17:58 2009
Native configuration is powerpc-apple-darwin9

=== gcc tests ===

Schedule of variations:
unix
unix/-m64

Running target unix
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.5-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/gcc-4.5-work/gcc/testsuite/gcc.dg/vect/vect.exp ...

=== gcc Summary for unix ===

# of expected passes5
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.5-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/gcc-4.5-work/gcc/testsuite/gcc.dg/vect/vect.exp ...

=== gcc Summary for unix/-m64 ===

# of expected passes3
# of expected failures  2

=== gcc Summary ===

# of expected passes8
# of expected failures  2
/opt/gcc/darwin_buildw/gcc/xgcc  version 4.5.0 20090614 (experimental) [trunk
revision 148466] (GCC) 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40359



[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.

2009-06-15 Thread dominiq at lps dot ens dot fr


--- Comment #15 from dominiq at lps dot ens dot fr  2009-06-15 12:46 ---
With the patch in comment #14, on i686-apple-darwin9 I get:

=== gcc tests ===

Schedule of variations:
unix
unix/-m64

Running target unix
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.5-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/gcc-4.5-work/gcc/testsuite/gcc.dg/vect/vect.exp ...

=== gcc Summary for unix ===

# of expected passes3
# of expected failures  2
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.5-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/gcc-4.5-work/gcc/testsuite/gcc.dg/vect/vect.exp ...

=== gcc Summary for unix/-m64 ===

# of expected passes3
# of expected failures  2

=== gcc Summary ===

# of expected passes6
# of expected failures  4
/Volumes/MacBook/opt/gcc/i686-darwin/gcc/xgcc  version 4.5.0 20090614
(experimental) [trunk revision 148472] (GCC) 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40359



[Bug c/40442] Option -I and POSIX conformance (c99 utility)

2009-06-15 Thread joseph at codesourcery dot com


--- Comment #5 from joseph at codesourcery dot com  2009-06-15 13:06 ---
Subject: Re:  Option -I and POSIX conformance (c99 utility)

On Mon, 15 Jun 2009, vincent at vinc17 dot org wrote:

 --- Comment #4 from vincent at vinc17 dot org  2009-06-15 11:59 ---
 (In reply to comment #3)
  If you have modified the implementation (by putting headers/libraries in 
  standard directories where those headers/libraries were not provided by 
  the implementation in those versions in those directories, for example), 
  you are very definitely outside the scope of POSIX.
 
 I'm not sure I understand what you mean. But the existing practice is that
 additional headers/libraries (i.e. not those defined by the C standard)
 provided by the vendor are stored under /usr/{include,lib}. And I don't think
 this goes against POSIX. Concerning /usr/local, the FHS says:
 
   The /usr/local hierarchy is for use by the system administrator when
   installing software locally.
 
 So, it should be safe to add libraries there. And again, this is the existing
 practice.

It is not, however, safe to add libraries there that in any way conflict 
with the libraries provided by the system in /usr (such as different 
versions of the same libraries).

A POSIX-conforming system should have a POSIX conformance document that 
explains the circumstances under which the claims of POSIX conformance are 
made.  Those circumstances will include restrictions on any modification 
of system directories, such as limits on the contents of files in /etc for 
the system to be conforming and limits on what may go in /usr/local if 
some POSIX applications search that directory by default.  This document 
is nothing to do with GCC on its own; it has to be provided by the system 
integrator and describes properties of the whole system.  If the document 
for the POSIX system you are using is inadequate, you should raise that 
with the system integrator (and if necessary with whoever certified 
conformance).  And if POSIX does not render undefined options that have 
the effect of changing internal configuration details of applications, 
where those details have to be in a particular form for conformance (for 
example, conformance requiring header and library directories in a 
particular order), this is a bug in POSIX.  -I or -L options pointing to 
any of an implementation-defined set of system directories, or any 
directory with duplicates of headers or libraries in system directories, 
should be undefined behavior.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40442



[Bug fortran/40440] Automatic deallocation component of DT function return value

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2009-06-15 13:09 ---
Juergen: Thanks for the report, but it is not a regression - it might not crash
with 4.3 (or your 4.4) but I think that's just by chance.

Paul, I think also this bug touches code for which you have the expertise.

The problem is the automatic deallocation of an allocatable component. The DT
with this component is returned by a function but treated as variable and not
as function. The crucial part is that the return value is a pointer! If I don't
use a pointer, the dump looks as follows:

D.1558 = func ();
sub (D.1558);
if (D.1558.a.data != 0B)
__builtin_free (D.1558.a.data);
D.1558.a.data = 0B;

with POINTER:

  sub (func ());
  if (func ()-a.data != 0B)
  __builtin_free (func ()-a.data);
  func ()-a.data = 0B;

Testcase:
!
  implicit none
  type t
integer, allocatable :: A(:)
  end type t
  call sub(func())
contains
  function func()
type(t),pointer :: func
integer :: i = 0
if (i /= 0) call abort()
i = i + 1
  end function func
  subroutine sub(a)
type(t), intent(IN),target :: a
  end subroutine sub
end


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pault at gcc dot gnu dot
   ||org, burnus at gcc dot gnu
   ||dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   GCC host triplet|both MAC OS X Darwin 9.7.0  |
   |and Linux Debian Edge   |
  Known to fail|4.4.1 4.5.0 |4.4.1 4.5.0 4.3.3
  Known to work|4.3.3   |
   Last reconfirmed|-00-00 00:00:00 |2009-06-15 13:09:45
   date||
Summary|[4.4/4.5 Regression] Garbage|Automatic deallocation
   |or segmentation fault in|component of DT function
   |allocatable array derived   |return value
   |type structures |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40440



[Bug c++/40445] New: g++ void f() { __builtin_unreachable(); }

2009-06-15 Thread wouter dot vermaelen at scarlet dot be
Compiling the single line program

void f() { __builtin_unreachable(); }

works fine with gcc, but triggers an ICE when compiled with g++

unreachable.c:1:37: internal compiler error: in remove_insn, at emit-rtl.c:3796

I'm using SVN revision 148487.


-- 
   Summary: g++   void f() { __builtin_unreachable(); }
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40445



[Bug fortran/40443] Elemental procedure in genericl interface incorrectly selected in preference to specific procedure

2009-06-15 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2009-06-15 13:21 ---
(In reply to comment #1)
 Paul, I CC you as you are our generic-resolution expert.

Well, gosh golly, that's a mantle that I did not seek:-)

Note that my account at the CC address is no longer valid - I'll fix that.

In the mean time I will peruse the standard.

Cheers

Paul


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40443



[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.

2009-06-15 Thread eres at il dot ibm dot com


--- Comment #16 from eres at il dot ibm dot com  2009-06-15 13:32 ---
 -/* { dg-final { scan-tree-dump-times Alignment of access forced using
 versioning 3 vect { target { vect_no_align || { { !
 vector_alignment_reachable}  {!vect_hw_misalign} } } } } } */
 +/* { dg-final { scan-tree-dump-times Alignment of access forced using
 versioning 3 vect { target { vect_no_align || { { !
 vector_alignment_reachable }  vect_hw_misalign } } } } } */

hmmm... versioning should not be done for targets that support
vect_hw_misalign... 
Although this change fixes the failures it does not seem to be right...

Thanks again.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40359



[Bug middle-end/40446] New: [4.4/4.5 Regression] ICE in gen_lowpart_general

2009-06-15 Thread jakub at gcc dot gnu dot org
#include emmintrin.h
#include complex
#include cstdlib

int
main ()
{
  union { __m128d vec; double val[2]; } u;
  std::complexdouble c = std::complexdouble(0, 1);
  u.vec = _mm_load_pd ((double*)c);
  if (u.val[0] != 0 || u.val[1] != 1)
abort ();
}

ICEs with -O1 and above in g++ 4.4 and above.  More reduced testcase:
struct S
{
  S (double r, double i) { __real__ s = r; __imag__ s = i; }
  __complex__ double s;
};

double __attribute__((vector_size (16)))
foo ()
{
  S c (0, 1);
  return *(double __attribute__((vector_size (16))) *) c;
}


-- 
   Summary: [4.4/4.5 Regression] ICE in gen_lowpart_general
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: x86_64-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40446



[Bug bootstrap/40447] New: Add a switch to configure to allow *source* directory of mprt and gmp to be specified.

2009-06-15 Thread david dot kirkby at onetel dot net
It's currently possible to build gcc in two ways. 
1) Compiler and install mpfr and use switches to indicate the location of their
instalation

--with-mpfr=/somedirector --

2) Put directories mpfr and gmp under the source of gcc. 

What I propose is to allow a couple of extra switches

--mpfr-source-dir=  --gmp-source-dir=

Apart from making installation easier, it would mean anyone doing a 'gcc -v'
would know what versions of the mpfr and gmp were used. 

Dave


-- 
   Summary: Add a switch to configure to allow *source* directory of
mprt and gmp to be specified.
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: david dot kirkby at onetel dot net
 GCC build triplet: N/A
  GCC host triplet: N/A
GCC target triplet: N/A


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40447



[Bug middle-end/40446] [4.4/4.5 Regression] ICE in gen_lowpart_general

2009-06-15 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40446



[Bug c++/40445] [4.5 Regression] g++ void f() { __builtin_unreachable(); }

2009-06-15 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|g++   void f() {|[4.5 Regression] g++   void
   |__builtin_unreachable(); }  |f() {
   ||__builtin_unreachable(); }
   Target Milestone|--- |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40445



[Bug tree-optimization/40087] [4.3 Regression] Number of iterations analysis wrong

2009-06-15 Thread mikpe at it dot uu dot se


--- Comment #15 from mikpe at it dot uu dot se  2009-06-15 14:24 ---
(In reply to comment #14)
 ping 4.3.4...

The PR40087 fix depends on changes from the PR39455 fix. Both of them are 4.3
regressions, and I've used both fixes in my 4.3 tree for a while now without
issues.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40087



[Bug middle-end/40446] [4.4/4.5 Regression] ICE in gen_lowpart_general

2009-06-15 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2009-06-15 14:35 ---
Caused by
http://gcc.gnu.org/viewcvs?root=gccview=revrev=134947


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40446



[Bug middle-end/40446] [4.4/4.5 Regression] ICE in gen_lowpart_general

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-06-15 14:55 ---
(In reply to comment #1)
 Caused by
 http://gcc.gnu.org/viewcvs?root=gccview=revrev=134947

In this case, exposed as VIEW_CONVERT_EXPR was not widely used before so there
will be some bugs that we did not hit until that patch :).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40446



[Bug bootstrap/40447] Add a switch to configure to allow *source* directory of mprt and gmp to be specified.

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-06-15 14:59 ---
You can use soft links inside the source directory to say where the source
directories are located.  Is that good enough?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Add a switch to configure to|Add a switch to configure to
   |allow *source* directory of |allow *source* directory of
   |mprt and gmp to be  |mprt and gmp to be
   |specified.  |specified.


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40447



[Bug c++/40445] g++ void f() { __builtin_unreachable(); }

2009-06-15 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2009-06-15 14:59 ---
Why is this a regression? Do we support _builtin_unreachable() in 4.4?


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

Summary|[4.5 Regression] g++   void |g++   void f() {
   |f() {   |__builtin_unreachable(); }
   |__builtin_unreachable(); }  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40445



[Bug c++/40445] g++ void f() { __builtin_unreachable(); }

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-06-15 15:00 ---
(In reply to comment #1)
 Why is this a regression? Do we support _builtin_unreachable() in 4.4?

Well it is a regression as it compiled before and did not do what the user
expected though.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40445



[Bug rtl-optimization/33928] [4.3/4.4/4.5 Regression] 30% performance slowdown in floating-point code caused by r118475

2009-06-15 Thread bonzini at gnu dot org


--- Comment #97 from bonzini at gnu dot org  2009-06-15 15:14 ---
Brad, could you try to time compiler.i with and without -ftime-report to see
how much of the tree stmt walking timevar is just accounting overhead?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33928



[Bug libffi/40444] [4.5 Regression] libffi badly broken with -m64 by some revision between 148383 and 148472.

2009-06-15 Thread aph at gcc dot gnu dot org


--- Comment #1 from aph at gcc dot gnu dot org  2009-06-15 15:47 ---
Adding Andreas Tobler; perhaps he knows.


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||andreast at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40444



[Bug libfortran/40344] O32 libgfortran.so fails to link on IRIX 6.5

2009-06-15 Thread rwild at gcc dot gnu dot org


--- Comment #2 from rwild at gcc dot gnu dot org  2009-06-15 16:11 ---
Would it help to work around this issue by collecting the objects in one or
more
convenience archives and linking those (plus at least one plain object)
together
to form libgfortran.la?  The intermediate partially linked objects could hit a
different code path in the linker (but could also cause for some less-optimal
linking, at least with LTO?).  Of course 'ld -r' has been known to expose other
linker bugs so this might be trading one issue for an unknown other set...


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rwild at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40344



[Bug rtl-optimization/33928] [4.3/4.4/4.5 Regression] 30% performance slowdown in floating-point code caused by r118475

2009-06-15 Thread lucier at math dot purdue dot edu


--- Comment #98 from lucier at math dot purdue dot edu  2009-06-15 16:11 
---
I don't quite understand how you would like me to configure and run the test.

First, I've applied your patches to speed up computing DF to my tree; do you
want them included in the test, or should I use a pristine mainline?

Second, when configuring mainline, should I include, or not include

1.  --enable-gather-detailed-mem-stats
2.  --enable-checking=release

After that, I think you just want to run two compiles with and without
-ftime-report, is that right?  (Nothing about -fmem-report.)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33928



[Bug rtl-optimization/33928] [4.3/4.4/4.5 Regression] 30% performance slowdown in floating-point code caused by r118475

2009-06-15 Thread paolo dot bonzini at gmail dot com


--- Comment #99 from paolo dot bonzini at gmail dot com  2009-06-15 16:20 
---
Subject: Re:  [4.3/4.4/4.5 Regression] 30% performance
 slowdown in floating-point code caused by  r118475

 First, I've applied your patches to speed up computing DF to my tree; do you
 want them included in the test, or should I use a pristine mainline?

It doesn't matter, but yes, use them.

 Second, when configuring mainline, should I include, or not include
 
 1.  --enable-gather-detailed-mem-stats
 2.  --enable-checking=release

Again it shouldn't matter, but use only --enable-checking=release.

 After that, I think you just want to run two compiles with and without
 -ftime-report, is that right?  (Nothing about -fmem-report.)

Yes, and the output of -ftime-report is not needed.  Just the time 
./cc1 ... output for the two.  Thanks!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33928



[Bug bootstrap/40447] Add a switch to configure to allow *source* directory of mprt and gmp to be specified.

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2009-06-15 16:53 ---
GCC already outputs the version of GMP/MPFR:
GNU C (GCC) version 4.5.0 20090519 (experimental) [trunk revision 147718]
(i386-apple-darwin8.11.1)
compiled by GNU C version 4.5.0 20090519 (experimental) [trunk revision
147718], GMP version 4.2.2, MPFR version 2.4.1


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40447



[Bug bootstrap/40447] Add a switch to configure to allow *source* directory of mprt and gmp to be specified.

2009-06-15 Thread david dot kirkby at onetel dot net


--- Comment #4 from david dot kirkby at onetel dot net  2009-06-15 16:56 
---
I assume this is only in your experimental version. I can see that is an
improvement. I still think the switch would be useful, but it does reduce the
need for it somewhat. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40447



[Bug testsuite/40426] [4.5 Regression] Revision 148408 caused many DWARF tests faulures

2009-06-15 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2009-06-15 17:08 ---
Subject: Bug 40426

Author: jakub
Date: Mon Jun 15 17:08:02 2009
New Revision: 148497

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148497
Log:
PR testsuite/40426
* lib/gcc-dg.exp (gcc-dg-debug-runtest): For type -gdwarf-2 and
level !=  use separate -gdwarf-2 -g${level} options instead of
-gdwarf-2${level}.
* lib/gfortran-dg.exp (gfortran-dg-debug-runtest): Likewise.
* gfortran.dg/debug/pr37738.f: Also skip if -gdwarf-2 -g1.
* gfortran.dg/debug/pr35154-dwarf2.f: Likewise.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f
trunk/gcc/testsuite/gfortran.dg/debug/pr37738.f
trunk/gcc/testsuite/lib/gcc-dg.exp
trunk/gcc/testsuite/lib/gfortran-dg.exp


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40426



[Bug bootstrap/40447] Add a switch to configure to allow *source* directory of mprt and gmp to be specified.

2009-06-15 Thread jwakely dot gcc at gmail dot com


--- Comment #5 from jwakely dot gcc at gmail dot com  2009-06-15 17:19 
---
Older versions show the information too:

$ echo | gcc -v -x c -c - 21 | fgrep -B1 GMP
GNU C (GCC) version 4.3.2 (i686-pc-linux-gnu)
compiled by GNU C version 4.3.2, GMP version 4.2.3, MPFR version 2.3.1.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40447



[Bug bootstrap/40447] Add a switch to configure to allow *source* directory of mprt and gmp to be specified.

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2009-06-15 17:20 ---
Has been true since:
r124822 | ghazi | 2007-05-17 19:04:02 -0700 (Thu, 17 May 2007) | 3 lines

* toplev.c (print_version): Output GMP/MPFR version info.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40447



[Bug other/40448] New: Incompetable Error when build

2009-06-15 Thread ksong at lbl dot gov
Dear GUN team,

I came across the following error when I try to compile gcc4.04:
/usr/bin/ld: skipping incompatible /usr/lib64//libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64//libc.a when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.a when searching for -lc
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status


I am very stuck right now, and don't know what to do.

My OS is centos3.4(final), the current gcc version is 3.2.3

Could you please help me install gcc4.0.4 on my machine?

Thanks in advance!

Kai


-- 
   Summary: Incompetable Error when build
   Product: gcc
   Version: 4.0.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ksong at lbl dot gov


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40448



[Bug other/40448] Incompetable Error when build

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-06-15 17:57 ---
You need to install the 32bit userland.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID
Summary|Incompetable Error when |Incompetable Error when
   |build   |build


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40448



[Bug other/40449] New: Incompetable Error when build

2009-06-15 Thread ksong at lbl dot gov
Dear GUN team,

I came across the following error when I try to compile gcc4.04:
/usr/bin/ld: skipping incompatible /usr/lib64//libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64//libc.a when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.a when searching for -lc
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status


I am very stuck right now, and don't know what to do.

My OS is centos3.4(final), the current gcc version is 3.2.3

Could you please help me install gcc4.0.4 on my machine?

Thanks in advance!

Kai


-- 
   Summary: Incompetable Error when build
   Product: gcc
   Version: 4.0.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ksong at lbl dot gov


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40449



[Bug other/40449] Incompetable Error when build

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-06-15 18:00 ---


*** This bug has been marked as a duplicate of 40448 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
Summary|Incompetable Error when |Incompetable Error when
   |build   |build


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40449



[Bug other/40448] Incompatible Error when build

2009-06-15 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-06-15 18:00 ---
*** Bug 40449 has been marked as a duplicate of this bug. ***


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40448



[Bug fortran/39682] compiler give bus error

2009-06-15 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2009-06-15 18:17 
---
Without any more information, there's nothing we can do. I tried to reproduce
with a simple testcase, but I can't.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39682



[Bug debug/35463] [4.3/4.4 only] typedef missing in debug information with -gdwarf-2 for c++

2009-06-15 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|powerpc-apple-darwin9   |
  Known to fail||4.4.0
  Known to work||4.5.0
   Last reconfirmed|-00-00 00:00:00 |2009-06-15 18:21:49
   date||
Summary|typedef missing in debug|[4.3/4.4 only] typedef
   |information with -gdwarf-2  |missing in debug information
   |for c++ |with -gdwarf-2 for c++


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35463



[Bug other/40448] Incompatible Error when build

2009-06-15 Thread ksong at lbl dot gov


--- Comment #3 from ksong at lbl dot gov  2009-06-15 18:21 ---
(In reply to comment #1)
 You need to install the 32bit userland.


Thanks for your response. I am not familiar with 32 bit userland. Can you give
me more instructions, or links that I can learn more about it?

Thanks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40448



[Bug target/36241] Executable compiled with -m64 almost three times faster than the one compiled with -m32 on Core2Duo

2009-06-15 Thread fxcoudert at gcc dot gnu dot org


--- Comment #3 from fxcoudert at gcc dot gnu dot org  2009-06-15 18:32 
---
This is not darwin-specific, I also see it happening on x86_64-linux.

And what's more, the output changes between -m32 and -m64.

$ cat u.f90
integer(8), parameter :: l = z'5fe6eb3be000'
integer, parameter :: ni = 3
integer :: i, j, n
integer(8) :: k
real(8) :: a, b, e, m, s
equivalence (b, k)
a = 1.0d0
e = epsilon(1.0)/2.0d0**4
m = 0.0d0
s = 0.0d0
n = 0
do
  n = n + 1
  b = a
  k = l - ishft(k, -1_8)
  do i = 1, ni
b = b*(1.5-(0.5*a)*b*b)
  end do
  b = b + b*(0.5-(0.5*a)*b*b)
!   b = 1.0d0/sqrt(a)
  m = max(m, abs(a*b*b - 1.0d0))
  s = s + abs(a*b*b - 1.0d0)
  a = a + e
  if (a == 2.0d0) exit
end do
print *, n, m/epsilon(a), s/(n*epsilon(a))
end

$ gfortran -m64 -O3 u.f90  time ./a.out 
   134217728   2.   0.36966567113995552 
./a.out  3.05s user 0.00s system 100% cpu 3.049 total

$ gfortran -m32 -O3 u.f90  time ./a.out 
   134217728  9.765625000E-004  1.82069155926001258E-004
./a.out  6.80s user 0.00s system 99% cpu 6.854 total

$ gfortran -m32 -O3 u.f90 -ffast-math  time ./a.out
   134217728  1.464843750E-003  2.97074087939108722E-004
./a.out  6.74s user 0.00s system 99% cpu 6.743 total

$ gfortran -m64 -O3 u.f90 -ffast-math  time ./a.out
   134217728   3.   0.59681034088134766 
./a.out  3.18s user 0.00s system 99% cpu 3.178 total


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet|i686-apple-darwin9  |
   GCC host triplet|i686-apple-darwin9  |
 GCC target triplet|i686-apple-darwin9  |i686
  Known to fail||4.4.0 4.5.0
   Last reconfirmed|2008-05-15 09:06:21 |2009-06-15 18:32:39
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36241



[Bug fortran/40450] New: [F03] procedure pointer as actual argument

2009-06-15 Thread janus at gcc dot gnu dot org
The following program gives a segfault at runtime:


MODULE m
 ABSTRACT INTERFACE
 SUBROUTINE sub()
 END SUBROUTINE sub
 END INTERFACE

CONTAINS

 SUBROUTINE passf(f)
   PROCEDURE(sub), POINTER:: f
   CALL callf(f)
 END SUBROUTINE passf

 SUBROUTINE callf(f)
   PROCEDURE(sub), POINTER :: f
   PRINT*, 'calling f'
   CALL f()
 END SUBROUTINE callf
END MODULE m


PROGRAM prog
 USE m
 PROCEDURE(sub), POINTER :: f
 f = s
 CALL passf(f)

CONTAINS

 SUBROUTINE s
   PRINT*, 'sub'
 END SUBROUTINE s
END PROGRAM prog


-fdump-tree-original shows that the problem lies in 'passf':

passf (void (*T63) (void) * f)
{
  callf (f);
}


-- 
   Summary: [F03] procedure pointer as actual argument
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40450



[Bug target/36241] Executable compiled with -m64 almost three times faster than the one compiled with -m32 on Core2Duo

2009-06-15 Thread kargl at gcc dot gnu dot org


--- Comment #4 from kargl at gcc dot gnu dot org  2009-06-15 18:44 ---
(In reply to comment #3)
 This is not darwin-specific, I also see it happening on x86_64-linux.
 
 And what's more, the output changes between -m32 and -m64.

The code is invalid Fortran, so gfortran is not required to give
any sensible output.

 $ cat u.f90
 integer(8), parameter :: l = z'5fe6eb3be000'
 integer, parameter :: ni = 3
 integer :: i, j, n
 integer(8) :: k
 real(8) :: a, b, e, m, s
 equivalence (b, k)
 a = 1.0d0
 e = epsilon(1.0)/2.0d0**4
 m = 0.0d0
 s = 0.0d0
 n = 0
 do
   n = n + 1
   b = a

When you do the assignment to b, k is/becomes undefined.

   k = l - ishft(k, -1_8)

When you do the assignment to k, b becomes undefined.
Not to mention, that the RHS uses k, which is undefined.

See Section 14.7.6 (1) and (9).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36241



[Bug target/22145] /usr/include/objc/objc-runtime.h on powerpc-darwin7.8.0 needs fixed included

2009-06-15 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2009-06-15 18:45 
---
I'm not sure it's still present: if I look into the 10.3.9 and the 10.4u
headers, I see: 

#ifdef __cplusplus
Class super_class;
#else
Class class;
#endif


The 10.5 header is very different, but it doesn't seem affected either. Is this
bug still present?


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22145



[Bug target/40414] gcc 4.4.0 error at postreload.c:396

2009-06-15 Thread gni at gecko dot de


--- Comment #3 from gni at gecko dot de  2009-06-15 19:36 ---
Subject:  gcc 4.4.0 error at postreload.c:396

(In reply to comment #2)
 Could be a duplicate of one of PR30064, PR34439, PR37053.

I compiled the provided testcases as stated in the appropriate PR
with the following result:

The testcase for PR30064 does ICE with 3.4.6 and 4.[012].0, it doesn't
ICE with 4.[34].0.

The testcase for PR34439 does ICE with 3.4.6 when not optimizing, does
always ICE with 4.[012].0. No ICE with 4.[34].0.

The testcase for PR37053 does ICE with 2.95.x without optimization,
3.[34].6 and 4.[012].0 always ICE, 4.[34].0 does ICE with optimization.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40414



[Bug rtl-optimization/33928] [4.3/4.4 Regression] 30% performance slowdown in floating-point code caused by r118475

2009-06-15 Thread lucier at math dot purdue dot edu


--- Comment #102 from lucier at math dot purdue dot edu  2009-06-15 19:57 
---
Subject: Re:  [4.3/4.4/4.5 Regression] 30%
 performance slowdown in floating-point code caused by  r118475

On Mon, 2009-06-15 at 16:20 +, paolo dot bonzini at gmail dot com
wrote:

 Yes, and the output of -ftime-report is not needed.  Just the time 
 ./cc1 ... output for the two.  Thanks!

The two commands:

time /pkgs/gcc-mainline/bin/gcc -O1 -fno-math-errno -fschedule-insns2
-fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC
-fno-common -mieee-fp -c compiler.i 
261.424u 1.184s 4:22.76 99.9%   0+0k 0+28456io 0pf+0w
time /pkgs/gcc-mainline/bin/gcc -O1 -fno-math-errno -fschedule-insns2
-fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC
-fno-common -mieee-fp -c compiler.i -ftime-report 
263.424u 4.900s 4:28.68 99.8%   0+0k 0+28480io 0pf+0w


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33928



[Bug rtl-optimization/33928] [4.3/4.4/4.5 Regression] 30% performance slowdown in floating-point code caused by r118475

2009-06-15 Thread lucier at math dot purdue dot edu


--- Comment #103 from lucier at math dot purdue dot edu  2009-06-15 20:21 
---
Regarding comment #101 ...

With

heine:~/programs/gcc/objdirs/gsc-fft-tests/gambc-v4_1_2
/pkgs/gcc-mainline/bin/gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../../mainline/configure --prefix=/pkgs/gcc-mainline
--enable-languages=c --disable-multilib --enable-checking=release
Thread model: posix
gcc version 4.5.0 20090608 (experimental) [trunk revision 148276] (GCC) 

(and including Paolo's patch to speed up DF), the routine in direct.c takes

168 ms cpu time (168 user, 0 system)

As reported here

http://www.math.purdue.edu/~lucier/bugzilla/9/

with gcc-4.2.4, this routine takes 156 ms on the same machine.

Comment #9 gives the code that 4.2.4 generates at the start of the main loop; 
the start of the main loop with the version of 4.5.0 I gave above is:

.L2938:
movq%rcx, %rdx
addq8(%rax), %rdx
leaq4(%rcx), %rbx
movq%rdx, -8(%rax)
leaq4(%rdx), %rdi
addq8(%rax), %rdx
movq%rdi, -16(%rax)
movq%rdx, -24(%rax)
leaq4(%rdx), %rdi
addq8(%rax), %rdx
movq%rdi, -32(%rax)
movq%rdx, -40(%rax)
leaq4(%rdx), %rdi
movq40(%rax), %rdx
movq%rdi, -48(%rax)
movsd   7(%rdx,%rdi,2), %xmm7
movq-40(%rax), %rdi
leaq7(%rdx,%rcx,2), %r8
addq$8, %rcx
movsd   (%r8), %xmm4
cmpq%rcx, %r13
movsd   7(%rdx,%rdi,2), %xmm10
movq-32(%rax), %rdi
movsd   7(%rdx,%rdi,2), %xmm5
movq-24(%rax), %rdi
movsd   7(%rdx,%rdi,2), %xmm6
movq-16(%rax), %rdi
movsd   7(%rdx,%rdi,2), %xmm13
movq-8(%rax), %rdi
movsd   7(%rdx,%rdi,2), %xmm11
leaq(%rbx,%rbx), %rdi
movsd   7(%rdi,%rdx), %xmm9
movq24(%rax), %rdx
movapd  %xmm11, %xmm14
movsd   15(%rdx), %xmm1
movsd   7(%rdx), %xmm2
movapd  %xmm1, %xmm8
movsd   31(%rdx), %xmm3
movapd  %xmm2, %xmm12
mulsd   %xmm10, %xmm8
mulsd   %xmm7, %xmm12
mulsd   %xmm2, %xmm10
mulsd   %xmm1, %xmm7
movsd   23(%rdx), %xmm0

So, to my mind, this is still a 4.5 regression, as there is still a slow-down
and the code is still much less optimized by 4.5.0 than by 4.2.4. 168/156 ~
1.08, so if you want to change the Summary of this bug to 8% regression, or
some other things, that's fine, but I've changed this PR back to being a 4.5
regression.

I was not really thrilled when Richard marked PR 39157 as a duplicate of this
PR.  To my mind, there are three more or less independent things---run time of
Gambit-generated code, compile time of the code, and the space required to
compile the code.  This PR is about run time; PR 39157 was about space needed
by the compiler; PR 26854 is about compile time.  They seem to have all been
mushed together.


-- 

lucier at math dot purdue dot edu changed:

   What|Removed |Added

  Known to work|4.5.0   |
Summary|[4.3/4.4 Regression] 30%|[4.3/4.4/4.5 Regression] 30%
   |performance slowdown in |performance slowdown in
   |floating-point code caused  |floating-point code caused
   |by  r118475 |by  r118475


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33928



[Bug other/36368] Fixincludes corrupts sysmacros.h

2009-06-15 Thread geir at cray dot com


--- Comment #3 from geir at cray dot com  2009-06-15 20:47 ---
For another point of reference, I see this problem in our GCC 4.3.1 build; but
the problem did not occur in our gcc 4.3.0 and 4.3.2 versions.  I assume this
was an error on our part.

$ diff
/opt/gcc/4.3.1/snos/lib/gcc/x86_64-suse-linux/4.3.1/include-fixed/sys/sysmacros.h
/opt/gcc/4.3.0/snos/lib/gcc/x86_64-suse-linux/4.3.0/include-fixed/sys/sysmacros.h
11c11
Copyright (C) 1996, 1997, 1999, 2003 Free Software Foundation, Inc.
---
Copyright (C) 1996, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.
51c51
 gnu_dev_major (unsigned long long int __dev) __THROW
---
 __NTH (gnu_dev_major (unsigned long long int __dev))
57c57
 gnu_dev_minor (unsigned long long int __dev) __THROW
---
 __NTH (gnu_dev_minor (unsigned long long int __dev))
63c63
 gnu_dev_makedev (unsigned int __major, unsigned int __minor) __THROW
---
 __NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor))
$ diff
/opt/gcc/4.3.1/snos/lib/gcc/x86_64-suse-linux/4.3.1/include-fixed/sys/sysmacros.h
/opt/gcc/4.3.2/snos/lib/gcc/x86_64-suse-linux/4.3.2/include-fixed/sys/sysmacros.h
11c11
Copyright (C) 1996, 1997, 1999, 2003 Free Software Foundation, Inc.
---
Copyright (C) 1996, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.
51c51
 gnu_dev_major (unsigned long long int __dev) __THROW
---
 __NTH (gnu_dev_major (unsigned long long int __dev))
57c57
 gnu_dev_minor (unsigned long long int __dev) __THROW
---
 __NTH (gnu_dev_minor (unsigned long long int __dev))
63c63
 gnu_dev_makedev (unsigned int __major, unsigned int __minor) __THROW
---
 __NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor))
$ diff
/opt/gcc/4.3.0/snos/lib/gcc/x86_64-suse-linux/4.3.0/include-fixed/sys/sysmacros.h
/opt/gcc/4.3.2/snos/lib/gcc/x86_64-suse-linux/4.3.2/include-fixed/sys/sysmacros.h
$


-- 

geir at cray dot com changed:

   What|Removed |Added

 CC||geir at cray dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36368



[Bug fortran/40451] New: procedure-pointer assignment rejected

2009-06-15 Thread burnus at gcc dot gnu dot org
The following program is rejected with:

f = sin
 1
Error: Interfaces don't match in procedure pointer assignment at (1)

However, if one removes the module m; contains it is accepted


module m
contains
  function f()
intrinsic :: sin
procedure(sin), pointer :: f
f = sin
  end function f
end module m


-- 
   Summary: procedure-pointer assignment rejected
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40451



[Bug fortran/40451] procedure-pointer assignment rejected

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2009-06-15 21:10 ---
Post script: With your current patch, the error message is:

Error: Interface mismatch in procedure pointer assignment at (1): 'sin' has the
wrong number of arguments


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40451



[Bug fortran/40452] New: -fbounds-check: False positive due to ignoring storage association

2009-06-15 Thread burnus at gcc dot gnu dot org
Follow up to PR 37746 / PR 40383. I believe the following program is valid due
to the storage association/argument association. However, with -fcheck=bounds
one gets:

At line 5 of file aa.f90
Fortran runtime error: Actual string length is shorter than the declared one
for dummy argument 'a' (2/4)

Note: If one changes the actual argument to [ab] or [a,b] both NAG f95
and gfortran are able to diagnose the problem at compile time. For the program
below, neither compilers gives a compile-time error/warning. (Nor does NAG with
-C=all give a run-time error.)


program test
  implicit none
  call sub([ab, cd])
contains
  subroutine sub(a)
   character(len=4) :: a(1)
   print *, a(1)
  end subroutine sub
end program test



From the standard (F2003, cf. 16.4.3 Storage association):

In a storage association context [...] (3) A nonpointer scalar object of type
default character and character length len occupies len contiguous character
storage units; [...] (7) A nonpointer array occupies a sequence of contiguous
storage sequences, one for each array element, in array element order
(6.2.2.2); [...] A sequence of storage sequences forms a storage sequence.

(And a bit further down one finds a bit more to argument association.)


The challenge is diagnose this properly. The problem is that the array size is
_not_ passed. One solution would be to enable the check only with -std=f95. I
believe the argument association is only allowed since Fortran 2003. Or one
does a proper argument checking by checking whether the argument is an array.
For this one needs -fcheck=call and save the arguments in some external
variable, then one checks whether the current procedure matches the procedure
where the global variable stores the argument information - and then uses this
information for the array check. Sorry, I don't have any better idea at the
moment.

Note: The primary use of the argument association is:
  call c_func(abc)
with
  subroutine c_func(str) bind(C)
character(len=1,kind=c_char) :: str(*)
as otherwise one had to use 'call c_func([a,b,c])' which is awkward!


-- 
   Summary: -fbounds-check: False positive due to ignoring storage
association
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40452



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread mrsam at courier-mta dot com


--- Comment #18 from mrsam at courier-mta dot com  2009-06-15 21:53 ---
Yes, the patch does add a new data member to the class. I see that this would
fall under item #8 under prohibited changes, although, as I said, AFAIK it
won't actually break binary compatibility with existing applications, for the
reasons I outlined.

I think I see a way of doing this without changing the existing std::messages
class, but it's ugly. Basically -- I think I can subclass std::messages and put
the new data member into the subclass (__gnu_internal::messages?), then
override all the virtual methods and find all places in libstdc++ that
instantiate std::messages, and change them to instantiate
__gnu_internal::messages.

I was able to find two places in libstdc++ that instantiate std::messages,
which would be changed to instantiate __gnu_internal::messages instead. If I
missed any, the results won't be catastrophic -- I think anything that falls
through the cracks would just fall back to using the existing implementation,
and that can always be fixed up later.

This patch would be bigger and uglier (and I'd still like my first one better),
but before I try to write it up, is there any reason, that I'm missing, why
this approach wouldn't work?

One other detail -- anyone know which version of glibc first had libintl that
implemented dgettext()?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread paolo dot carlini at oracle dot com


--- Comment #19 from paolo dot carlini at oracle dot com  2009-06-15 22:06 
---
I think we are definitely going to wait for the next ABI, sorry.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread paolo dot carlini at oracle dot com


--- Comment #20 from paolo dot carlini at oracle dot com  2009-06-15 22:18 
---
One last clarification, maybe necessary because not spelled out (yet) in the
docs: really, when we say *ABI* we mean it in a very wide sense, also including
linking together objects built with different versions of the headers. All in
all, anything changing either the size or the layout of types defined in the
C++ standard is certainly a no-no, but there are also many other subtler
forbidden changes, as you may easily understand.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug fortran/40276] Matching GENERIC procedure: Wrong INTENT should give directly an error message

2009-06-15 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2009-06-15 22:40 ---
Also for OPTIONAL a suitable error message would be useful. For finding a
specific interface, the OPTIONAL attribute could be ignored similarly to
INTENT; however, one needs to be careful as for ambiguity checks and if the
actual argument is not present, the OPTIONAL is still relevant.

PURE is another item which should be checked, which is simpler, however.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40276



[Bug fortran/40453] New: Enhanced argument checking:

2009-06-15 Thread burnus at gcc dot gnu dot org
Follow up to PR 36947/PR 40039. I think there was no PR yet, if not - mark as
duplicate.  See also PR 40276.


I think some other checks should still be added, e.g.

a) PUREness check (see example below); passing/assigning
   a pure to a non-pure dummy/proc-pointer is OK; doing vice versa
   is not.

See 12.4.1.3 (dummy-actual arguments)
 If the interface of the dummy argument is explicit,
  the characteristics listed in 12.2 shall be the same for the
  associated actual argument and the corresponding dummy argument,
  except that a pure actual argument may be associated with a dummy
  argument that is not pure and an elemental intrinsic actual
  procedure may be associated with a dummy procedure (which is
  prohibited from being elemental).
And also 7.4.2.2 (proc-pointer assignment):
 If proc-pointer-object has an explicit interface, its
  characteristics shall be the same as proc-target except that
  proc-target may be pure even if proc-pointer-object is not pure
  and proc-target may be an elemental intrinsic procedure even
  if proc-pointer-object is not elemental.

b) Similarly for ELEMENTAL. For proc-pointer assignments, use the
   first example with PURE changed to ELEMENTAL. That non-intrinsic
   elementals are not allowed as actual argument, is already checked
   for (cf. C1228). Except of the remark in parentheses I could not
   find in F2003/F2008 anything which prohibits ELEMENTAL for the
   dummy argument; however, the parentheses is normative. Maybe one
   should re-check the standard before adding an error check (see
   example below).

c) One needs to go recursively over the arguments as the second
   example below shows.



PROGRAM PURENESS
implicit none
interface
  subroutine one(a,b,c,d,e,f,g,h,i)
implicit none
integer,intent(in) :: a,b,c,d,e,f,g,h,i
  end subroutine one
  pure subroutine two(a,b,c,d,e,f,g,h,i)
implicit none
integer,intent(in) :: a,b,c,d,e,f,g,h,i
  end subroutine two
end interface
procedure(two), pointer :: ptr
ptr = one  ! Invalid: (pure) = (unpure)
end program pureness


program RecursiveInterface
  interface
subroutine a(x)
  real :: x
end subroutine a
subroutine b(a)
  integer :: a
end subroutine b
subroutine c(f)
  procedure(a) :: f
end subroutine c
subroutine d(f)
  procedure(b) :: f
end subroutine d
subroutine e(f)
 procedure(c) :: f
end subroutine e
  end interface
  call e(d) ! Argument (dummy subroutine) d has an integer argument
! but e's f expects a real argument
end program RecursiveInterface


interface
  elemental subroutine a()  ! Expected: Warning: ELEMENTAL procedure
! without arguments
  ! (Having ELEMENTAL does not make much sense without arguments, but
  !  it is valid)
  end subroutine a
  subroutine sub(f)
interface
  elemental subroutine f(a)
integer,intent(IN) :: a
  end subroutine f
end interface
! Invalid per 12.4.1.3?
! an elemental intrinsic actual procedure may be associated with
!  a dummy procedure (which is prohibited from being elemental).
! 
! Todo: Find it elsewhere in the standard - or in the corrigenda;
!   other compilers accept it. However, the part above is normative
  end subroutine sub
end interface
end program elementalCheck


-- 
   Summary: Enhanced argument checking:
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40453



[Bug middle-end/39254] [4.4/4.5 Regression] gcc.c-torture/execute/va-arg-trap-1.c ICEs on powerpc-apple-darwin9

2009-06-15 Thread dje at gcc dot gnu dot org


--- Comment #14 from dje at gcc dot gnu dot org  2009-06-15 23:06 ---
This patch also fixes the gcc.c-torture/compile/pr34688.c failures.  RTL-PRE
finds RTL with deep LABEL_REFs.  When it creates a move, the emit_use and the
REG_NOTE on the move itself share RTL.

I suspect we need to apply the patch and deal with the fall-out separately.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39254



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread peturrun at gmail dot com


--- Comment #21 from peturrun at gmail dot com  2009-06-15 23:10 ---
Isn't it possible to add more data to messages without breaking the ABI by
changing the type of one of the existing members?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread paolo dot carlini at oracle dot com


--- Comment #22 from paolo dot carlini at oracle dot com  2009-06-15 23:14 
---
A patch would help understanding what you exactly mean, at the moment, I'm
skeptical.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug c/40454] New: GCC 4.4.0 vs 3.4.0 - PNGCrush is about 20% slower when compiled with GCC 4.4.0

2009-06-15 Thread ami_stuff at o2 dot pl
Hi,

I notice that PNGCrush compiled with GCC 4.4.0 (release) is about 20% slower
compared to GCC 3.4.0 build. (Amiga 68...@50mhz). 

CFLAGS = -I. -DNO_FSEEKO -O2 -fomit-frame-pointer -Wall -m68060 -s


PNGCrush test.png out.png


Here are the results:

GCC 3.4.0 build:

CPU time used = 267.340 seconds (decoding 16.940,
encoding 247.800, other 2.600 seconds)

GCC 4.4.0 build:

CPU time used = 328.360 seconds (decoding 16.800,
encoding 309.260, other 2.300 seconds) 


Maybe someone with m68k Debian/PPC/x86 can compile PNGCrush with GCC 3.4.0 and
GCC 4.4.0, so we will know if this regression happens there too?


Here is a link to the source code (I used PNGCrush 1.6.15 for test):

http://sourceforge.net/project/showfiles.php?group_id=1689package_id=1641


Here is a link to PNG image:

http://www.filejumbo.com/Download/D8F7981723E5F07C/


Regards


-- 
   Summary: GCC 4.4.0 vs 3.4.0 - PNGCrush is about 20% slower when
compiled with GCC 4.4.0
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ami_stuff at o2 dot pl
  GCC host triplet: i686-cygwin
GCC target triplet: m68k-amigaos


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40454



[Bug c/40435] [4.5 regression] Many regressions on trunk

2009-06-15 Thread hp at gcc dot gnu dot org


--- Comment #4 from hp at gcc dot gnu dot org  2009-06-16 02:28 ---
Mee too!  I mean, seen for cris-elf too!
BTW, isn't it odd that for recent regressions, the committer's testing never
seem to have shown the regressions seen by every other target after commit? 
1/2 ;)
(Definitely _not_ just you, Aldy.)


-- 

hp at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hp at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-06-16 02:28:24
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40435



[Bug c/40435] [4.5 regression] Many regressions on trunk

2009-06-15 Thread hp at gcc dot gnu dot org


--- Comment #5 from hp at gcc dot gnu dot org  2009-06-16 02:36 ---
To add something useful, I should have mentioned that they were ok for 148440,
regressed for 148444 for cris-elf, so that leaves only commit's from Aldy and
Steven B., IIUC.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40435



[Bug libstdc++/13631] Problems in messages

2009-06-15 Thread mrsam at courier-mta dot com


--- Comment #23 from mrsam at courier-mta dot com  2009-06-16 03:51 ---
Created an attachment (id=18004)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18004action=view)
Revised patch

Well, this is approximately what I have in mind. Aside from the formatting
style, which I can clean up, as far as I can tell no existing classes get
modified.


-- 

mrsam at courier-mta dot com changed:

   What|Removed |Added

  Attachment #17994|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631



[Bug tree-optimization/39455] [4.3 Regression] ICE : in compare_values_warnv, at tree-vrp.c:1073

2009-06-15 Thread cnstar9988 at gmail dot com


--- Comment #13 from cnstar9988 at gmail dot com  2009-06-16 03:54 ---
ping 4.3.4...


-- 

cnstar9988 at gmail dot com changed:

   What|Removed |Added

 CC||cnstar9988 at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39455



[Bug tree-optimization/39455] [4.3 Regression] ICE : in compare_values_warnv, at tree-vrp.c:1073

2009-06-15 Thread cnstar9988 at gmail dot com


--- Comment #14 from cnstar9988 at gmail dot com  2009-06-16 03:56 ---
ping 4.3.4...
The PR40087 fix depends on changes from the this fix, thanks!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39455



[Bug c/40435] [4.5 regression] Revision 148442 caused many regressions on trunk

2009-06-15 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2009-06-16 04:30 ---
All regressions are caused by revision 148442, including
gcc.dg/func-ptr-conv-1.c. You may need to enable checking
to see it.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

Summary|[4.5 regression] Many   |[4.5 regression] Revision
   |regressions on trunk|148442 caused many
   ||regressions on trunk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40435



[Bug bootstrap/40455] New: gcc trunk does not bootstrap as of commit r148408

2009-06-15 Thread christian dot joensson at gmail dot com
As of commit r148408, http://gcc.gnu.org/ml/gcc-cvs/2009-06/msg00388.html, gcc
trunk does not bootstrap on cygwin using configure like this:

../gcc/configure --enable-threads=posix --enable-libgcj
--disable-sjlj-exceptions --with-system-zlib --enable-nls --enable-static
--enable-shared --enable-shared-libgcc --enable-__cxa_atexit
--disable-libmudflap --enable-version-specific-runtime-libs
--without-included-gettext --with-dwarf2 --disable-symvers --enable-libssp
--with-mpc --without-ppl --without-cloog --enable-languages=c,c++

Configuring stage 2 in ./intl
configure: creating cache ./config.cache
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for i686-pc-cygwin-gcc...
/usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include
checking for C compiler default output file name... a.exe
checking whether the C compiler works... configure: error: in
`/usr/local/src/trunk/objdir/intl':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
make[2]: *** [configure-stage2-intl] Error 1
make[2]: Leaving directory `/usr/local/src/trunk/objdir'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/usr/local/src/trunk/objdir'
make: *** [all] Error 2

nd looking into intl/config.log I see this:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

 $ /usr/local/src/trunk/gcc/intl/configure
--cache-file=./config.cache --enable-threads=posix --enable-libgcj
--disable-sjlj-exceptions --with-system-zlib --enable-nls
--enable-static --enable-shared --enable-shared-libgcc
--enable-__cxa_atexit --disable-libmudflap
--enable-version-specific-runtime-libs --without-included-gettext
--with-dwarf2 --disable-symvers --enable-libssp --with-mpc
--without-ppl --without-cloog --enable-languages=c,c++
--program-transform-name=s,y,y, --build=i686-pc-cygwin
--host=i686-pc-cygwin --target=i686-pc-cygwin --srcdir=../../gcc/intl
--with-build-libsubdir=. --enable-werror-always

## - ##
## Platform. ##
## - ##

hostname = snip
uname -m = i686
uname -r = 1.7.0(0.210/5/3)
uname -s = CYGWIN_NT-5.1
uname -v = 2009-05-06 14:21

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch  = i686
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
hostinfo   = unknown
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /usr/local/src/trunk/objdir/i686-pc-cygwin/libstdc++-v3/.libs
PATH: /usr/local/src/trunk/objdir/i686-pc-cygwin/libssp/.libs
PATH: /usr/local/src/trunk/objdir/./gcc/shlib
PATH: /usr/local/src/trunk/objdir/./prev-gcc/shlib
PATH: /usr/local/src/trunk/objdir/i686-pc-cygwin/libstdc++-v3/.libs
PATH: /usr/local/src/trunk/objdir/i686-pc-cygwin/libssp/.libs
PATH: /usr/local/src/trunk/objdir/./gcc/shlib
PATH: /usr/local/src/trunk/objdir/./prev-gcc/shlib
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/X11R6/bin
snip


## --- ##
## Core tests. ##
## --- ##

configure:1229: creating cache ./config.cache
configure:1338: checking whether make sets $(MAKE)
configure:1358: result: yes
configure:1406: checking for a BSD-compatible install
configure:1472: result: /usr/bin/install -c
configure:1497: checking whether NLS is requested
configure:1506: result: yes
configure:1544: checking for msgfmt
configure:1575: result: /usr/bin/msgfmt
configure:1584: checking for gmsgfmt
configure:1615: result: /usr/bin/msgfmt
configure:1654: checking for xgettext
configure:1685: result: /usr/bin/xgettext
configure:1725: checking for msgmerge
configure:1755: result: /usr/bin/msgmerge
configure:1798: checking for i686-pc-cygwin-gcc
configure:1824: result:  /usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include
configure:2108: checking for C compiler version
configure:2111:  /usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include--version /dev/null 5
xgcc (GCC)