[Bug target/40301] [4.3 regression] SH: miscompile with -O2 -fPIC

2009-05-30 Thread kkojima at gcc dot gnu dot org


--- Comment #2 from kkojima at gcc dot gnu dot org  2009-05-30 07:12 ---
It seems that gcc-4.3 hits PR30807 again for SH.  Could you try
Christian's patch in the audit trail #2 of 30807 or Joern's
patch in the URL suggested at #4?


-- 

kkojima at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Priority|P3  |P4
   Last reconfirmed|-00-00 00:00:00 |2009-05-30 07:12:02
   date||


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



[Bug fortran/40011] Problems with -fwhole-file

2009-05-30 Thread pault at gcc dot gnu dot org


--- Comment #27 from pault at gcc dot gnu dot org  2009-05-30 08:27 ---
(In reply to comment #25)

  types that are identical
 I'm not sure this is related, but note comment #8. Even identical types are 
 not
 identical, unless they are sequence type.

Joost,

No, this is not related.  The testing in the front end is more or less OK. 
However, the compiler receives more than one delaration of derived types,
either through explicit declaration, host association or use assocation.  The
middle-end has to ensure that the same backend_decl is used for each. 
Otherwise, when one is assigned to the other, via a defined assignement, it is
found that the TREE_TYPEs are not the same.  I have been trying to move the
backend_decls up to global scope so as to ensure that this happens but I am
missing some essential trick somewhere.  I'll be asking the experts next week
:-)

Paul


-- 


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



[Bug c++/11764] [DR147] g++ does not treat injected class name correctly.

2009-05-30 Thread Woebbeking at web dot de


--- Comment #13 from Woebbeking at web dot de  2009-05-30 08:46 ---
If you're sure that it's a bug why isn't it fixed yet? Is it that hard that you
need more than six years?

Sure it's no show stopper but it's annoying. I'm using -pedantic and -ansi to
ensure platform independent code and then this...


-- 


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



[Bug c++/40294] method definition can have the class scope multiple time

2009-05-30 Thread Woebbeking at web dot de


--- Comment #2 from Woebbeking at web dot de  2009-05-30 08:49 ---
Thanks, I didn't know which term I should looking for :-)


-- 


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



[Bug middle-end/31241] Post Increment opportunity missed

2009-05-30 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2009-05-30 09:18 ---
This is improved by http://gcc.gnu.org/ml/gcc-patches/2009-05/msg01622.html.
With the patch we get the following code generated. 

.cpu cortex-a8
.eabi_attribute 27, 3
.fpu neon
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
.eabi_attribute 30, 2
.eabi_attribute 18, 4
.file   31241.c
.text
.align  2
.global foo
.type   foo, %function
foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
add r2, r0, #40
.L2:
ldr r3, [r0, #0]
orr r3, r1, r3
str r3, [r0], #4
cmp r0, r2
bne .L2
bx  lr
.size   foo, .-foo
.ident  GCC: (GNU) 4.5.0 20090527 (experimental)


-- 


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



[Bug other/40302] [4.5 Regression] GCC must hard-require MPC before release

2009-05-30 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-05-30 09:35 ---
Marking as regression to show up in the list of important bugs.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|GCC must hard-require MPC   |[4.5 Regression] GCC must
   |before release  |hard-require MPC before
   ||release
   Target Milestone|--- |4.5.0


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



[Bug tree-optimization/36318] SRA pessimizes struct copies without -Os

2009-05-30 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-05-30 09:49 ---
Can you provide a testcase suitable for inclusion in the testsuite?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.5.0


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



[Bug target/40301] [4.3 regression] SH: miscompile with -O2 -fPIC

2009-05-30 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.4


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



[Bug c/40303] New: internal compiler error: in stmt_ann, at tree-flow-inline.h:173

2009-05-30 Thread roman dot werpachowski at gmail dot com
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../gcc-4.2.4/configure --prefix=/opt/gcc/4.2.4 --enable-shared
--enable-threads=posix --enable-checking=release --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions
--enable-languages=c,c++,fortran --disable-dssi --with-cpu=generic
--host=x86_64-redhat-linux
Thread model: posix
gcc version 4.2.4
 /opt/gcc/4.2.4/libexec/gcc/x86_64-redhat-linux/4.2.4/cc1 -E -quiet -v
-I./src/common -I. -I. -I./src/divonne -DHAVE_CONFIG_H ./src/divonne/Divonne.c
-mtune=generic -fomit-frame-pointer -ffast-math -O3 -fpch-preprocess -o
Divonne.i
ignoring nonexistent directory
/opt/gcc/4.2.4/lib/gcc/x86_64-redhat-linux/4.2.4/../../../../x86_64-redhat-linux/include
ignoring duplicate directory .
#include ... search starts here:
#include ... search starts here:
 ./src/common
 .
 ./src/divonne
 /usr/local/include
 /opt/gcc/4.2.4/include
 /opt/gcc/4.2.4/lib/gcc/x86_64-redhat-linux/4.2.4/include
 /usr/include
End of search list.
 /opt/gcc/4.2.4/libexec/gcc/x86_64-redhat-linux/4.2.4/cc1 -fpreprocessed
Divonne.i -quiet -dumpbase Divonne.c -mtune=generic -auxbase-strip Divonne.o
-O3 -version -fomit-frame-pointer -ffast-math -o Divonne.s
GNU C version 4.2.4 (x86_64-redhat-linux)
compiled by GNU C version 4.2.4.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: d4a5ebe8da1d4ab780126ed34b473a99
./src/divonne/Explore.c: In function Ć¢ExploreĆ¢:
./src/divonne/Explore.c:17: internal compiler error: in stmt_ann, at
tree-flow-inline.h:173


-- 
   Summary: internal compiler error: in stmt_ann, at tree-flow-
inline.h:173
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: roman dot werpachowski at gmail dot com
GCC target triplet:  x86_64-redhat-linux


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



[Bug c/40303] internal compiler error: in stmt_ann, at tree-flow-inline.h:173

2009-05-30 Thread roman dot werpachowski at gmail dot com


--- Comment #1 from roman dot werpachowski at gmail dot com  2009-05-30 
11:28 ---
Created an attachment (id=17935)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17935action=view)
Test case

Test case showing the bug.


-- 


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



[Bug c/40303] internal compiler error: in stmt_ann, at tree-flow-inline.h:173

2009-05-30 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-05-30 12:29 ---
GCC 4.2 is no longer maintained, please upgrade to GCC 4.3.3 or GCC 4.4.0.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
 GCC target triplet| x86_64-redhat-linux|x86_64-redhat-linux


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



[Bug c/40303] internal compiler error: in stmt_ann, at tree-flow-inline.h:173

2009-05-30 Thread roman dot werpachowski at gmail dot com


--- Comment #3 from roman dot werpachowski at gmail dot com  2009-05-30 
12:36 ---
4.4.0 works fine.


-- 

roman dot werpachowski at gmail dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2009-05-30 Thread tkoenig at gcc dot gnu dot org


--- Comment #5 from tkoenig at gcc dot gnu dot org  2009-05-30 13:17 ---
Subject: Bug 37577

Author: tkoenig
Date: Sat May 30 13:17:14 2009
New Revision: 148002

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148002
Log:
2009-05-30  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/37577
PR libfortran/40187
* runtime/in_pack_generic (internal_pack):  Remove unnecessary
test for stride == 0.
* runtime/in_unpack_generic.c (internal_unpack):  Likewise.
* intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
of stride in shape argument.  Use array access macros for
accessing array descriptors.
* libgfortran.h (struct descriptor_dimension):  Change stride
to _stride, lbound to _lbound and ubound to _ubound.
(GFC_DIMENSION_LBOUND):  Use new name(s) in struct
descriptor_dimension.
(GFC_DIMENSION_UBOUND):  Likewise.
(GFC_DIMENSION_STRIDE):  Likewise.
(GFC_DIMENSION_EXTENT):  Likewise.
(GFC_DIMENSION_SET):  Likewise.
(GFC_DESCRIPTOR_LBOUND):  Likewise.
(GFC_DESCRIPTOR_UBOUND):  Likewise.
(GFC_DESCRIPTOR_EXTENT):  Likewise.
(GFC_DESCRIPTOR_STRIDE):  Likewise.
* io/transfer.c (transfer_array):  Use array access macros.
Use byte-sized strides.

2009-05-30  Thomas Koenig  tkoe...@gcc.gnu.org

PR libfortran/40187
* gfortran.dg/c_f_pointer_shape_tests_4.f03:  New file.
* gfortran.dg/c_f_pointer_shape_tests_4_driver.c:  New file.


Added:
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_4.f03
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_4_driver.c
Modified:
branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
branches/fortran-dev/libgfortran/ChangeLog.dev
branches/fortran-dev/libgfortran/intrinsics/iso_c_binding.c
branches/fortran-dev/libgfortran/io/transfer.c
branches/fortran-dev/libgfortran/libgfortran.h
branches/fortran-dev/libgfortran/runtime/in_pack_generic.c
branches/fortran-dev/libgfortran/runtime/in_unpack_generic.c


-- 


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



[Bug libfortran/40187] c_f_pointer with stride in SHAPE

2009-05-30 Thread tkoenig at gcc dot gnu dot org


--- Comment #7 from tkoenig at gcc dot gnu dot org  2009-05-30 13:17 ---
Subject: Bug 40187

Author: tkoenig
Date: Sat May 30 13:17:14 2009
New Revision: 148002

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148002
Log:
2009-05-30  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/37577
PR libfortran/40187
* runtime/in_pack_generic (internal_pack):  Remove unnecessary
test for stride == 0.
* runtime/in_unpack_generic.c (internal_unpack):  Likewise.
* intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
of stride in shape argument.  Use array access macros for
accessing array descriptors.
* libgfortran.h (struct descriptor_dimension):  Change stride
to _stride, lbound to _lbound and ubound to _ubound.
(GFC_DIMENSION_LBOUND):  Use new name(s) in struct
descriptor_dimension.
(GFC_DIMENSION_UBOUND):  Likewise.
(GFC_DIMENSION_STRIDE):  Likewise.
(GFC_DIMENSION_EXTENT):  Likewise.
(GFC_DIMENSION_SET):  Likewise.
(GFC_DESCRIPTOR_LBOUND):  Likewise.
(GFC_DESCRIPTOR_UBOUND):  Likewise.
(GFC_DESCRIPTOR_EXTENT):  Likewise.
(GFC_DESCRIPTOR_STRIDE):  Likewise.
* io/transfer.c (transfer_array):  Use array access macros.
Use byte-sized strides.

2009-05-30  Thomas Koenig  tkoe...@gcc.gnu.org

PR libfortran/40187
* gfortran.dg/c_f_pointer_shape_tests_4.f03:  New file.
* gfortran.dg/c_f_pointer_shape_tests_4_driver.c:  New file.


Added:
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_4.f03
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_4_driver.c
Modified:
branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
branches/fortran-dev/libgfortran/ChangeLog.dev
branches/fortran-dev/libgfortran/intrinsics/iso_c_binding.c
branches/fortran-dev/libgfortran/io/transfer.c
branches/fortran-dev/libgfortran/libgfortran.h
branches/fortran-dev/libgfortran/runtime/in_pack_generic.c
branches/fortran-dev/libgfortran/runtime/in_unpack_generic.c


-- 


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



[Bug middle-end/40304] New: [4.5 Regression] Revision 147995 breaks stack unwind

2009-05-30 Thread hjl dot tools at gmail dot com
On Linux/ia32, revision 147995:

http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00974.html

caused

FAIL: g++.dg/eh/async-unwind1.C execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O3 -fomit-frame-pointer 
execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O3 -fomit-frame-pointer 
execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O3 -fomit-frame-pointer 
execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O3 -fomit-frame-pointer 
execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O3 -fomit-frame-pointer 
execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O3 -fomit-frame-pointer 
execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/unwind-0.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/unwind-0.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/unwind-0.C  -O3 -fomit-frame-pointer  execution
test
FAIL: g++.dg/torture/stackalign/unwind-0.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/unwind-1.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/unwind-1.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/unwind-1.C  -O3 -fomit-frame-pointer  execution
test
FAIL: g++.dg/torture/stackalign/unwind-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/unwind-2.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/unwind-2.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/unwind-2.C  -O3 -fomit-frame-pointer  execution
test
FAIL: g++.dg/torture/stackalign/unwind-2.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/unwind-3.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/unwind-3.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/unwind-3.C  -O3 -fomit-frame-pointer  execution
test
FAIL: g++.dg/torture/stackalign/unwind-3.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/unwind-5.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/unwind-5.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/unwind-5.C  -O3 -fomit-frame-pointer  execution
test
FAIL: g++.dg/torture/stackalign/unwind-5.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/unwind-6.C  -O1  execution test
FAIL: g++.dg/torture/stackalign/unwind-6.C  -O2  execution test
FAIL: g++.dg/torture/stackalign/unwind-6.C  -O3 -fomit-frame-pointer  execution
test
FAIL: g++.dg/torture/stackalign/unwind-6.C  -O3 -g  execution test
FAIL: gcc.target/i386/lea.c scan-assembler leal


-- 
   Summary: [4.5 Regression]  Revision 147995 breaks stack unwind
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug c/40305] New: strict aliasing and inlining

2009-05-30 Thread arnaud dot lb at gmail dot com
The following code (attaching preprocessed one) crashes with gcc 4.3.3 and gcc
4.4.1 (20090529).

Adding noinline attribute to pop() avoids the crash.

Declaring pop(strict foo *f, void** a) as pop(strict foo *f, int **a) avoids
the crash.

Adding -fno-strict-aliasing avoids the crash.

I'm not sure it does breaks strict aliasing (not the same as casting a void*
to a int* and dereferencing it). gcc does not prints any warning about strict
aliasing.

Compiled with gcc-4.4.1 -o out test.c -O3, ran with ./out.

#include string.h
#include assert.h

struct foo {
int *a;
void **top;
void *storage[1];
};

void crash(struct foo *f);

int main() {
struct foo f;
int i = 0;

memset(f, 0, sizeof(f));

f.top = f.storage[1];
f.a = i;

crash(f);

assert(f.top == f.storage[0]);
assert(f.a == f.storage[0]);
assert(f.a == NULL);
}

void pop(struct foo *f, void **a) {
*a = *(--f-top);
}   

__attribute__((noinline))
void crash(struct foo *f) {

while (f-a) {
pop(f, (void**)f-a);
}   
}


-- 
   Summary: strict aliasing and inlining
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: arnaud dot lb at gmail dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug c/40305] strict aliasing and inlining

2009-05-30 Thread arnaud dot lb at gmail dot com


--- Comment #1 from arnaud dot lb at gmail dot com  2009-05-30 13:22 ---
Created an attachment (id=17936)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17936action=view)
preprocessed code


-- 


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



[Bug middle-end/40304] [4.5 Regression] Revision 147995 breaks stack unwind

2009-05-30 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.0


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



[Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248

2009-05-30 Thread hjl at gcc dot gnu dot org


--- Comment #11 from hjl at gcc dot gnu dot org  2009-05-30 13:50 ---
Subject: Bug 39754

Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148004
Log:
2009-05-30  H.J. Lu  hongjiu...@intel.com

Backport from mainline:

2009-05-28  Dodji Seketeli  do...@redhat.com

PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.

2009-05-28  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.

2009-05-26  Richard Guenther  rguent...@suse.de

PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.

2009-05-26  Dodji Seketeli  do...@redhat.com

PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.

2009-05-25  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.

2009-05-24  Richard Guenther  rguent...@suse.de

PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/40252] [4.5 Regression] Internal compiler error on samba4 (verify_gimple failed)

2009-05-30 Thread hjl at gcc dot gnu dot org


--- Comment #7 from hjl at gcc dot gnu dot org  2009-05-30 13:50 ---
Subject: Bug 40252

Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148004
Log:
2009-05-30  H.J. Lu  hongjiu...@intel.com

Backport from mainline:

2009-05-28  Dodji Seketeli  do...@redhat.com

PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.

2009-05-28  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.

2009-05-26  Richard Guenther  rguent...@suse.de

PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.

2009-05-26  Dodji Seketeli  do...@redhat.com

PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.

2009-05-25  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.

2009-05-24  Richard Guenther  rguent...@suse.de

PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/40238] [4.5 Regression] ICE in gimple_verify_flow_info, at tree-cfg.c:4603

2009-05-30 Thread hjl at gcc dot gnu dot org


--- Comment #5 from hjl at gcc dot gnu dot org  2009-05-30 13:50 ---
Subject: Bug 40238

Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148004
Log:
2009-05-30  H.J. Lu  hongjiu...@intel.com

Backport from mainline:

2009-05-28  Dodji Seketeli  do...@redhat.com

PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.

2009-05-28  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.

2009-05-26  Richard Guenther  rguent...@suse.de

PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.

2009-05-26  Dodji Seketeli  do...@redhat.com

PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.

2009-05-25  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.

2009-05-24  Richard Guenther  rguent...@suse.de

PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/40007] [4.5 regression] specialization causes access problem in primary template

2009-05-30 Thread hjl at gcc dot gnu dot org


--- Comment #9 from hjl at gcc dot gnu dot org  2009-05-30 13:50 ---
Subject: Bug 40007

Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148004
Log:
2009-05-30  H.J. Lu  hongjiu...@intel.com

Backport from mainline:

2009-05-28  Dodji Seketeli  do...@redhat.com

PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.

2009-05-28  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.

2009-05-26  Richard Guenther  rguent...@suse.de

PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.

2009-05-26  Dodji Seketeli  do...@redhat.com

PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.

2009-05-25  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.

2009-05-24  Richard Guenther  rguent...@suse.de

PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/40233] [4.5 Regression] Test failures with alignment of array elements is greater than element size

2009-05-30 Thread hjl at gcc dot gnu dot org


--- Comment #6 from hjl at gcc dot gnu dot org  2009-05-30 13:50 ---
Subject: Bug 40233

Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148004
Log:
2009-05-30  H.J. Lu  hongjiu...@intel.com

Backport from mainline:

2009-05-28  Dodji Seketeli  do...@redhat.com

PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.

2009-05-28  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.

2009-05-26  Richard Guenther  rguent...@suse.de

PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.

2009-05-26  Dodji Seketeli  do...@redhat.com

PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.

2009-05-25  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.

2009-05-24  Richard Guenther  rguent...@suse.de

PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/40254] [4.5 Regression] SPEC2006 403.gcc miscompares

2009-05-30 Thread hjl at gcc dot gnu dot org


--- Comment #8 from hjl at gcc dot gnu dot org  2009-05-30 13:50 ---
Subject: Bug 40254

Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148004
Log:
2009-05-30  H.J. Lu  hongjiu...@intel.com

Backport from mainline:

2009-05-28  Dodji Seketeli  do...@redhat.com

PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.

2009-05-28  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.

2009-05-26  Richard Guenther  rguent...@suse.de

PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.

2009-05-26  Dodji Seketeli  do...@redhat.com

PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.

2009-05-25  Ira Rosen  i...@il.ibm.com

PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.

2009-05-24  Richard Guenther  rguent...@suse.de

PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
  - copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
  - copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
  - copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c/40305] strict aliasing and inlining

2009-05-30 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2009-05-30 13:50 ---
It is invalid.  f-a is accessed through an incompatible type (void * rather
than int *).  And gcc even warns about it, with -Wstrict-aliasing=2 or
-Wstrict-aliasing=1.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/40306] New: ICE when using auto to declare a local copy inside a member function

2009-05-30 Thread public at alisdairm dot net
Tested on MinGW 4.4.0

The following code produces an Internal Compiler Error:

template typename T 
struct test {
   test run() {
  auto tmp = *this;
  return tmp;
   }
};

int main()
{
   testint x;
   x.run();
   return 0;
}


Compiler output:

||=== AutoBug01, Debug ===|
In member function 'testT testT::run()':
error: in type_unification_real, at cp/pt.c:12477|
||=== Build finished: 1 errors, 0 warnings ===|


-- 
   Summary: ICE when using auto to declare a local copy inside a
member function
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: public at alisdairm dot net


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



[Bug c++/40307] New: Problem with auto deducing class type inside one of its own member functions

2009-05-30 Thread public at alisdairm dot net
The following code demonstrates the problem.  It should compile cleanly, as
demonstrated by the run_pass function, but the run_fail function generates an
error:

template typename T 
struct test {
   test run_pass() {
  test tmp( *this );
  return tmp;
   }

   test run_fail() {
  auto tmp( *this );
  return tmp;
   }
};

int main()
{
   testint x;
   x.run_pass();
   x.run_fail();
   return 0;
}


Compiler output:

||=== AutoBug02, Debug ===|
In member function 'testT testT::run_fail() [with T = int]':
instantiated from here
error: 'tmp' has incomplete type
||=== Build finished: 1 errors, 0 warnings ===|


-- 
   Summary: Problem with auto deducing class type inside one of its
own member functions
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: public at alisdairm dot net


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



[Bug c++/40308] New: Brace initialization fails for member initializers in constructor for class templates

2009-05-30 Thread public at alisdairm dot net
Tested against MinGW 4.4.0

The following code fails to compile, with the two specializations yielding
different error messages.

Test code:

template typename T 
struct test {
   test() : data{} {}

   T data;
};

int main()
{
   testint x;
   testint* y;
   return 0;
}


Compiler output:
||=== BraceInitBug01, Debug ===|
main.cpp||In constructor 'testT::test() [with T = int]':|
main.cpp|10|instantiated from here|
main.cpp|3|error: aggregate value used where an integer was expected|
main.cpp||In constructor 'testT::test() [with T = int*]':|
main.cpp|11|instantiated from here|
main.cpp|3|error: cannot convert 'brace-enclosed initializer list()' from
type 'brace-enclosed initializer list' to type 'int*'|
||=== Build finished: 2 errors, 0 warnings ===|


-- 
   Summary: Brace initialization fails for member initializers in
constructor for class templates
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: public at alisdairm dot net


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



[Bug fortran/40309] New: gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com
[ ref: http://gcc.gnu.org/onlinedocs/gccint/Initialization.html ]
[ ref: http://gcc.gnu.org/ml/fortran/2009-05/threads.html#00440 ]

gfortran does not set main_identifier_node to anything.  This causes
gimple_expand_cfg() in cfgexpand.c to fail to emit a call to the libgcc static
init function __main, because the MAIN_NAME_P check in this conditional:

  /* If this function is `main', emit a call to `__main'
 to run global initializers, etc.  */
  if (DECL_NAME (current_function_decl)
   MAIN_NAME_P (DECL_NAME (current_function_decl))
   DECL_FILE_SCOPE_P (current_function_decl))
expand_main_function ();

fails.  On cygwin, this means that gfortran's init() function is never set up,
the units and option variables don't get initialised, and hello world fails
when it tries to output the first char, with a runtime library error.

The fix is to correctly initialise it somewhere in the fortran compiler's early
 startup, using a line as simple as:

  main_identifier_node = get_identifier (main);

although I don't know for sure what mangled version of the name main to use
for fortran, or where would be the best place in the fortran frontend to put
this code.


-- 
   Summary: gfortran does not support static c/d-tors.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dave dot korn dot cygwin at gmail dot com
 GCC build triplet: i686-pc-cygwin
  GCC host triplet: i686-pc-cygwin
GCC target triplet: i686-pc-cygwin


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



[Bug ada/40310] New: Patches for gcc 4.4.0 to support FreeBSD x86_64

2009-05-30 Thread gcc at coreland dot ath dot cx
See the attachments.


-- 
   Summary: Patches for gcc 4.4.0 to support FreeBSD x86_64
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at coreland dot ath dot cx
 GCC build triplet: x86_64-pc-freebsd7.2
  GCC host triplet: x86_64-pc-freebsd7.2
GCC target triplet: x86_64-pc-freebsd7.2


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



[Bug ada/40310] Patches for gcc 4.4.0 to support FreeBSD x86_64

2009-05-30 Thread gcc at coreland dot ath dot cx


--- Comment #1 from gcc at coreland dot ath dot cx  2009-05-30 15:01 ---
Created an attachment (id=17937)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17937action=view)
Patch to Makefile to use 64 bit FreeBSD system package.


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #1 from dave dot korn dot cygwin at gmail dot com  2009-05-30 
15:01 ---

It's not entirely straightforward, it seems.  An earlier attempt appears to
have fizzled out:

http://gcc.gnu.org/ml/fortran/2007-09/threads.html#00289

I do not yet understand Andrew Pinski's objection: 

 This is wrong as it causes the middle-end to also emitt a call to
__main inside MAIN__.  Now you will get two calls to __main which
calls the global constructors now twice. 

as I don't understand what the also refers to.  Right now there are precisely
no calls to __main at all.  Perhaps there used to be an actual C-linkage main
function in libgfortran.  Yes, wait a minute, this is what libgfortranbegin
used to get us, is it not?


-- 


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



[Bug ada/40310] Patches for gcc 4.4.0 to support FreeBSD x86_64

2009-05-30 Thread gcc at coreland dot ath dot cx


--- Comment #2 from gcc at coreland dot ath dot cx  2009-05-30 15:02 ---
Created an attachment (id=17938)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17938action=view)
64 bit FreeBSD system package.


-- 


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



[Bug ada/40310] Patches for gcc 4.4.0 to support FreeBSD x86_64

2009-05-30 Thread gcc at coreland dot ath dot cx


--- Comment #3 from gcc at coreland dot ath dot cx  2009-05-30 15:03 ---
I've just noticed that I accidentally left in a # PATCHED comment
in the c8.diff patch. Anyone who commits this patch will probably
want to remove that.


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-05-30 15:11 ---
(In reply to comment #1)
 It's not entirely straightforward, it seems.  An earlier attempt appears to
 have fizzled out:

That no longer applies because gfortran produces main now.  MAIN__ is not going
to be used but main will be.

Thanks,
Andrew Pinski


-- 


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



[Bug c++/40311] New: brace initialization does not work well with new

2009-05-30 Thread public at alisdairm dot net
Tested on MinGW 4.4.0

The following code does not compile and should:

int main()
{
   int * a = new int{};
   int * b = new int{5};
   return 0;
}


Compiler output:
main.cpp||In function 'int main()':|
main.cpp|3|error: aggregate value used where an integer was expected|
main.cpp|4|error: aggregate value used where an integer was expected|
main.cpp|3|warning: unused variable 'a'|
main.cpp|4|warning: unused variable 'b'|
||=== Build finished: 2 errors, 2 warnings ===|


-- 
   Summary: brace initialization does not work well with new
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: public at alisdairm dot net


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #3 from dave dot korn dot cygwin at gmail dot com  2009-05-30 
15:19 ---

About to test this:

$ svn diff -x -p fortran/trans-decl.c
Index: fortran/trans-decl.c
===
--- fortran/trans-decl.c(revision 147949)
+++ fortran/trans-decl.c(working copy)
@@ -3859,7 +3859,8 @@ create_main_function (tree fndecl)
   tmp =  build_function_type_list (integer_type_node, integer_type_node,
   build_pointer_type (pchar_type_node),
   NULL_TREE);
-  ftn_main = build_decl (FUNCTION_DECL, get_identifier (main), tmp);
+  main_identifier_node
+= ftn_main = build_decl (FUNCTION_DECL, get_identifier (main), tmp);
   DECL_EXTERNAL (ftn_main) = 0;
   TREE_PUBLIC (ftn_main) = 1;
   TREE_STATIC (ftn_main) = 1;


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #4 from dave dot korn dot cygwin at gmail dot com  2009-05-30 
15:34 ---
(In reply to comment #3)
 About to test this:

  That was wrong.  This is what I should have said:

$ svn diff fortran/trans-decl.c
Index: fortran/trans-decl.c
===
--- fortran/trans-decl.c(revision 147949)
+++ fortran/trans-decl.c(working copy)
@@ -3859,7 +3859,8 @@
   tmp =  build_function_type_list (integer_type_node, integer_type_node,
   build_pointer_type (pchar_type_node),
   NULL_TREE);
-  ftn_main = build_decl (FUNCTION_DECL, get_identifier (main), tmp);
+  main_identifier_node = get_identifier (main);
+  ftn_main = build_decl (FUNCTION_DECL, main_identifier_node, tmp);
   DECL_EXTERNAL (ftn_main) = 0;
   TREE_PUBLIC (ftn_main) = 1;
   TREE_STATIC (ftn_main) = 1;


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #5 from dave dot korn dot cygwin at gmail dot com  2009-05-30 
15:38 ---
The patch in comment 4 works.

dkad...@ubik /tmp/fortran
$ ./hello-fixed.exe
 Hello World!

dkad...@ubik /tmp/fortran
$ gdb ./hello-fixed.exe
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as i686-pc-cygwin...
(gdb) disass main
Dump of assembler code for function main:
0x0040114d main+0:push   %ebp
0x0040114e main+1:mov%esp,%ebp
0x00401150 main+3:and$0xfff0,%esp
0x00401153 main+6:sub$0x10,%esp
0x00401156 main+9:call   0x401210 __main
0x0040115b main+14:   mov0xc(%ebp),%eax
0x0040115e main+17:   mov%eax,0x4(%esp)
0x00401162 main+21:   mov0x8(%ebp),%eax
0x00401165 main+24:   mov%eax,(%esp)
0x00401168 main+27:   call   0x402320 *__gfortran_set_args
0x0040116d main+32:   movl   $0x417b00,0x4(%esp)
0x00401175 main+40:   movl   $0x8,(%esp)
0x0040117c main+47:   call   0x4023b0 *__gfortran_set_options
0x00401181 main+52:   call   0x4010e0 MAIN__
0x00401186 main+57:   mov$0x0,%eax
0x0040118b main+62:   leave
0x0040118c main+63:   ret
0x0040118d main+64:   nop
0x0040118e main+65:   nop
0x0040118f main+66:   nop
End of assembler dump.
(gdb)

I'll try a testsuite run now.


-- 


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



[Bug target/40301] [4.3 regression] SH: miscompile with -O2 -fPIC

2009-05-30 Thread sugioka at itonet dot co dot jp


--- Comment #3 from sugioka at itonet dot co dot jp  2009-05-30 15:55 
---
Thanks for your reply.
I tried Christian's patch and Joern's patch on x86 cross distcc environment.
Both of them worked for my case.
Thanks.


-- 


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



[Bug c++/11764] [DR147] g++ does not treat injected class name correctly.

2009-05-30 Thread ian at airs dot com


--- Comment #14 from ian at airs dot com  2009-05-30 16:03 ---
gcc is a free software project driven largely by volunteers.  Interest in
fixing accepts-invalid bugs is generally low; people are generally more
interested in rejects-valid bugs, or in better optimizations, or in avoiding
regressions.  There are, unfortunately, many open bugs, many of which have
higher priority than this one.  If this bug is important to you, you do have
the option of fixing it yourself.


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #6 from dave dot korn dot cygwin at gmail dot com  2009-05-30 
16:12 ---
Groan.

PASS: gfortran.dg/Wall.f90 (test for excess errors)
spawn [open ...]
Internal Error: insert(): Duplicate key found!
FAIL: gfortran.dg/Wall.f90 execution test

In other words, exactly what Andrew warned would happen.

Breakpoint 1, __main () at /gnu/winsup/src/winsup/cygwin/dcrt0.cc:993
993   do_global_ctors (user_data-ctors, false);
(gdb) bt
#0  __main () at /gnu/winsup/src/winsup/cygwin/dcrt0.cc:993
#1  0x00401166 in main ()
(gdb) c
Continuing.

Breakpoint 1, __main () at /gnu/winsup/src/winsup/cygwin/dcrt0.cc:993
993   do_global_ctors (user_data-ctors, false);
(gdb) bt
#0  __main () at /gnu/winsup/src/winsup/cygwin/dcrt0.cc:993
#1  0x004010ee in MAIN__ ()
#2  0x00401191 in main ()
(gdb)

For some reason though, there isn't any call to __main in MAIN__ in my original
hello world testcase, only in main.  I don't yet understand that.  It may be
to do with the usage of main_program_symbol() in parse.c, which is called from
two places:

case ST_PROGRAM:
  if (seen_program)
goto duplicate_main;
  seen_program = 1;
  prog_locus = gfc_current_locus;

  push_state (s, COMP_PROGRAM, gfc_new_block);
  main_program_symbol(gfc_current_ns, gfc_new_block-name);
  accept_statement (st);


/* Anything else starts a nameless main program block.  */
default:
  if (seen_program)
goto duplicate_main;
  seen_program = 1;
  prog_locus = gfc_current_locus;

  push_state (s, COMP_PROGRAM, gfc_new_block);
  main_program_symbol (gfc_current_ns, MAIN__);


  I'm not sure yet what happens when we take the first one of these clauses and
create a main function that is not called MAIN__, because there is code in
gfc_sym_mangled_function_id in trans-decl.c that assumes any main function has
the same name:

  /* Main program is mangled into MAIN__.  */
  if (sym-attr.is_main_program)
return get_identifier (MAIN__);

Possibly this is an inconsistency, and if there's a named main block we create
a main function but then look up what will effectively be an unrelated name.  I
need advice from someone who knows the fortran compiler internals better than
me. 


-- 


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



[Bug ada/40310] Patches for gcc 4.4.0/GNAT to support FreeBSD x86_64

2009-05-30 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2009-05-30 16:18 ---
patches need to be sent to gcc-patc...@gcc.gnu.org together with a ChangeLog
entry following existing practice and a notice how they were tested (bootstrap
and running the testsuite is required).


-- 


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



[Bug middle-end/40244] [4.5 Regression] Revision 147829 caused extra failures

2009-05-30 Thread irar at il dot ibm dot com


--- Comment #5 from irar at il dot ibm dot com  2009-05-30 16:53 ---
(In reply to comment #4)
 (In reply to comment #1)
  (In reply to comment #0)
   On Linux/ia64, revision 147829:
   http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00806.html
   caused:
   FAIL: Matrix4f -O3 compilation from source
  
  Could you please provide some information, it doesn't fail on x86_64...
  
   FAIL: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp unsupported 
   alignment
   in basic block. 1
   FAIL: gcc.dg/vect/bb-slp-4.c scan-tree-dump-times slp basic block 
   vectorized
   using SLP 0
  
  I think they can be fixed as following. Could you please check?
  
 Yes, it fixed the problem. Thanks.

Thanks.
Is Matrix4f OK now too?


-- 


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



[Bug middle-end/40244] [4.5 Regression] Revision 147829 caused extra failures

2009-05-30 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2009-05-30 16:57 ---
(In reply to comment #5)
 Is Matrix4f OK now too?
 

Yes.


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #7 from dave dot korn dot cygwin at gmail dot com  2009-05-30 
17:09 ---
http://gcc.gnu.org/ml/fortran/2009-05/msg00452.html

We have two functions that both match MAIN_NAME_P, because they share the same
DECL_NAME.  This happens when there is a PROGRAM main directive in the
fortran source.


-- 


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



[Bug middle-end/40304] [4.5 Regression] Revision 147995 breaks stack unwind

2009-05-30 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2009-05-30 19:00 ---
See http://gcc.gnu.org/ml/gcc-patches/2009-05/msg01942.html


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-05-30 Thread burnus at gcc dot gnu dot org


--- Comment #8 from burnus at gcc dot gnu dot org  2009-05-30 21:14 ---
Latest patch - fixing the main_identifier_node (__main() call) problem as in
comment 4 plus fixes the PROGRAM main problem.

http://gcc.gnu.org/ml/fortran/2009-05/msg00458.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-05-30 21:14:46
   date||


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



[Bug middle-end/30807] sh postreload bug (might be generic in trunk)

2009-05-30 Thread kkojima at gcc dot gnu dot org


--- Comment #5 from kkojima at gcc dot gnu dot org  2009-05-30 22:56 ---
*** Bug 40301 has been marked as a duplicate of this bug. ***


-- 

kkojima at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||sugioka at itonet dot co dot
   ||jp


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



[Bug target/35179] execs crash in shared lib destructor = do_global_dtors_aux

2009-05-30 Thread radu dot gcc at ohmi dot org


--- Comment #5 from radu dot gcc at ohmi dot org  2009-05-31 01:52 ---
Created an attachment (id=17939)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17939action=view)
Improved hello-test case showing working and failing command lines, with
Makefile

This behaviour exists on Linux beam 2.6.22-15-server #1 SMP Wed Aug 20
19:08:24 UTC 2008 i686 GNU/Linux, running gcc version 4.1.3 20080308
(prerelease) (Ubuntu 4.1.2-21ubuntu1)

In my case, I found it accidentally, as there was a stray '-static' on the
command line, even though I was compiling a shared build. Removing '-static'
fixes the problem, but I did bang by head against the wall a couple of times
while looking for the problem.

The attached testcase shows how this bug is duplicated. It is the same testcase
submitted previously, but I added the '-static -shared' combo, as on my system
the original testcase did not reproduce the bug. The output from my run is:

gcc -o hellomain.o -c -g hellomain.c
hellomain.c: In function 'main':
hellomain.c:9: warning: incompatible implicit declaration of built-in function
'exit'
gcc -o hello_.o -g -c -fpic -DPIC hello.c
gcc -o libhello.so -shared -g hello_.o
gcc -g -o hello-exec hellomain.o -L. -lhello
echo Linking with both -static and -shared flags exposes the bug.
Linking with both -static and -shared flags exposes the bug.
gcc -g -static -o hello-exec-gccbug35179 hellomain.o -shared -L. -lhello -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1
--enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.3 20080308 (prerelease) (Ubuntu 4.1.2-21ubuntu1)
 /usr/lib/gcc/i486-linux-gnu/4.1.3/collect2 -m elf_i386 --hash-style=both
-shared -o hello-exec-gccbug35179
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crti.o
/usr/lib/gcc/i486-linux-gnu/4.1.3/crtbeginT.o -L.
-L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3
-L/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib -L/lib/../lib
-L/usr/lib/../lib hellomain.o -lhello --start-group -lgcc -lgcc_eh -lc
--end-group /usr/lib/gcc/i486-linux-gnu/4.1.3/crtendS.o
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crtn.o
./hello-exec
About to call hello!

Hello, World!
gdb -x gdb.run ./hello-exec-gccbug35179
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as i486-linux-gnu...

Program received signal SIGSEGV, Segmentation fault.
0x8426 in __do_global_dtors_aux ()
Current language:  auto; currently asm
The program is running.  Exit anyway? (y or n) [answered Y; input not from
terminal]


-- 


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



[Bug target/35179] execs crash in shared lib destructor = do_global_dtors_aux

2009-05-30 Thread radu dot gcc at ohmi dot org


--- Comment #6 from radu dot gcc at ohmi dot org  2009-05-31 01:55 ---
(From update of attachment 17939)
Works as expected:
gcc -g -o hello-exec hellomain.o -L. -lhello

Triggers the bug:
gcc -g -static -o hello-exec-gccbug35179 hellomain.o -shared -L. -lhello -v


-- 


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



[Bug rtl-optimization/40314] New: inefficient address calculation of fields of large struct

2009-05-30 Thread carrot at google dot com
Given a structure and 3 field access

typedef struct network
{
   char inputfile[400];
   int* nodes;
   int* arcs;
   int* stop_arcs;
} network_t;

   int *arc;
   int *node = net-nodes;   --- A
   void *stop = (void *)net-stop_arcs;  --- B
   for( arc = net-arcs; arc != (int *)stop; arc++ ) --- C

GCC generates following instruction sequence in thumb mode with options -O2
-Os, it needs 9 insts to load 3 fields 

   mov r2, #200 ---  A1
   lsl r1, r2, #1   ---  A2
   .loc 1 14 0
   mov r4, #204   B1
   lsl r3, r4, #1   ---   B2
   .loc 1 13 0
   ldr r2, [r0, r1]    A3
   .loc 1 15 0
   mov r1, #202  ---  C1
   .loc 1 14 0
   ldr r4, [r0, r3]  --- B3
   .loc 1 15 0
   lsl r3, r1, #1---  C2
   ldr r3, [r0, r3]   ---  C3

A better method is adjusting the base address first, which is nearer to all 3
fields we will access. Then we can use ldr dest, [base, offset] to load each
fields with only 1 instruction.

Although this opportunity is found in target ARM, it should also be applicable
to other architectures with addressing mode of (base + offset) and offset has a
limited value range.


-- 
   Summary: inefficient address calculation of fields of large
struct
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carrot at google dot com
 GCC build triplet: i686-linux
  GCC host triplet: i686-linux
GCC target triplet: arm-eabi


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



[Bug rtl-optimization/40314] inefficient address calculation of fields of large struct

2009-05-30 Thread carrot at google dot com


--- Comment #1 from carrot at google dot com  2009-05-31 02:42 ---
Created an attachment (id=17940)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17940action=view)
test case to show the opportunity


-- 


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



[Bug rtl-optimization/40314] inefficient address calculation of fields of large struct

2009-05-30 Thread carrot at google dot com


--- Comment #2 from carrot at google dot com  2009-05-31 02:51 ---
There are a lot of such opportunities in mcf from SPEC CPU 2006.

One possible implementation is to add a pass before cse. In the new pass it
should detect insn patterns like:

(set r200 400) # 400 is offset of field1
(set r201 (mem (plus r100 r200)))  # r100 contains struct base
...
(set r300 404) # 404 is offset of field2
(set r301 (mem (plus r100 r300)))  # r100 contains struct base

And rewrite them as:

(set r200 400) # keep the original insn
(set r250 (plus r100 400)) # r250 is new base
(set r201 (mem (plus r250 0)))
...
(set r300 404)
(set r251 (plus r100 400)) # r251 contains same value as r250
(set r301 (mem (plus r251 4)))

We can let dce and cse remove the redundant code, the final result should look
like:

(set r101 (plus r100 400))
(set r201 (mem (plus r101 0)))
...
(set r301 (mem (plus r101 4)))


-- 


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