[Bug bootstrap/45680] [4.6 regression] cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing

2010-09-15 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2010-09-15 18:21 ---
(In reply to comment #0)

 This is most likely from this patch

FYI, this patch also introduced the same build failure when building cc1 from
linux to cygwin cross. Before this patch, cc1 build went just fine even without
cygwin binutils.


-- 


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



[Bug lto/45586] [4.6 Regression] ICE non-trivial conversion at assignment

2010-09-15 Thread Joost dot VandeVondele at pci dot uzh dot ch


--- Comment #4 from Joost dot VandeVondele at pci dot uzh dot ch  
2010-09-15 18:25 ---
If realspace_grid_type%r is declared as pointer instead of allocatable, the
testcase can be compiled, and a similar workaround in CP2K allows an LTO build
of CP2K to finish (after updating binutils to its CVS version).


-- 


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



[Bug bootstrap/45680] [4.6 regression] cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing

2010-09-15 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2010-09-15 18:26 ---
(In reply to comment #2)
 (In reply to comment #0)
 
  This is most likely from this patch
 
 FYI, this patch also introduced the same build failure when building cc1 from
 linux to cygwin cross. Before this patch, cc1 build went just fine even 
 without
 cygwin binutils.

Ah, the failure happens when HAVE_GAS_MAX_SKIP_P2ALIGN is undefined. In this
case, ASM_OUTPUT_MAX_SKIP_PAD is undefined (see i386.h, line 2045) and
following this, min_insn_size doesn't get compiled in.


-- 


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



[Bug fortran/45681] internal compiler error: in make_decl_rtl, at varasm.c:1297

2010-09-15 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2010-09-15 18:30 ---
Thanks for the bug report.  The problem appears to be fixed in
gcc version 4.6.0 20100913 (experimental) (GCC)
and 
gcc version 4.5.1 20100728 (prerelease) (GCC).

It is unlikely that this will be fixed in 4.4.x because
it does not appear to be a regression.  The code has the
same failure in 4.2.x and 4.3.x.  If it is possible to
upgrade to 4.5.x, then I suggest that route.

A possible work around is to change the declaration of
'character*(n) c' to 'character*(*) c'.

I'll leave the bug report open for a few days to see
if one of the other gfortran developers has a quick
fix, but I think this problem is going to be caught
by insufficient man power to fixed it.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu dot org


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



[Bug middle-end/45230] gcc.c-torture/execute/strncmp-1.c ICEs with -fgraphite-identity

2010-09-15 Thread zsojka at seznam dot cz


--- Comment #12 from zsojka at seznam dot cz  2010-09-15 18:39 ---
You are right, it still fails in the graphite branch, though with different
ICE:
(r164299, x86_64-linux)

$ gcc gcc/testsuite/gcc.c-torture/execute/strncmp-1.c -Os -m32  
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c: In function 'test':
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:37:5: warning: incompatible
implicit declaration of built-in function 'abort' [enabled by default]
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c: In function 'main':
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:139:3: warning: incompatible
implicit declaration of built-in function 'exit' [enabled by default]
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:44:1: error: Invalid first
operand of MEM_REF.
u1.buf
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:79:12: note: in statement
# .MEM_120 = VDEF .MEM_12
MEM[(unsigned char *)u1.buf] = 0;

gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:44:1: error: Invalid first
operand of MEM_REF.
u2.buf
gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:80:12: note: in statement
# .MEM_119 = VDEF .MEM_120
MEM[(unsigned char *)u2.buf] = 0;

gcc/testsuite/gcc.c-torture/execute/strncmp-1.c:44:1: internal compiler error:
verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 


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



[Bug c++/45605] Missed devirtualization

2010-09-15 Thread jamborm at gcc dot gnu dot org


--- Comment #7 from jamborm at gcc dot gnu dot org  2010-09-15 18:42 ---
Well, it turns out that fold_stmt_1 is never called on that statement
(neither with -O -finline or -O2 or -O3).  Where is it supposed to be
called from?


-- 


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



[Bug fortran/45681] internal compiler error: in make_decl_rtl, at varasm.c:1297

2010-09-15 Thread jteg68 at gmail dot com


--- Comment #2 from jteg68 at gmail dot com  2010-09-15 18:57 ---
Hi,

as it's already fixed in newer versions, please don't spend any more time on
this.

/Jörgen


-- 


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



[Bug debug/45682] New: missing namespace parent die when using -gdwarf-4

2010-09-15 Thread dje at google dot com
For the example below, when using gcc 4.5 and svn head, gcc -gdwarf-4 is not
emitting the class definition in an enclosing namespace parent die.

foo.cc:

namespace thread {

class Executor {
 public:
  static Executor* CurrentExecutor();
};

}

namespace thread {

Executor* Executor::CurrentExecutor() {
  return 0;
}

}

thread::Executor *te;

int
main ()
{
  return 0;
}

bash$ gcc -g -c -o foo.o foo.cc
bash$ readelf -w foo.o foo.w

--

 0b: Abbrev Number: 1 (DW_TAG_compile_unit)
c   DW_AT_producer: (indirect string, offset: 0x13): GNU C++ 4.6.0
20100914 (experimental)
   10   DW_AT_language: 4(C++)
   11   DW_AT_name: (indirect string, offset: 0x69): foo.cc
   15   DW_AT_comp_dir: (indirect string, offset: 0x0):
/home/dje/src/play
   19   DW_AT_low_pc  : 0x0
   21   DW_AT_high_pc : 0xb
   29   DW_AT_stmt_list   : 0x0
 12d: Abbrev Number: 2 (DW_TAG_namespace)
   2e   DW_AT_name: (indirect string, offset: 0x70): thread
   32   DW_AT_decl_file   : 1
   33   DW_AT_decl_line   : 2
   34   DW_AT_sibling : 0x3f
 238: Abbrev Number: 3 (DW_TAG_class_type)
   39   DW_AT_name: (indirect string, offset: 0x39): Executor
   3d   DW_AT_declaration : 1
 13f: Abbrev Number: 4 (DW_TAG_class_type)
   40   DW_AT_specification: 0x38
   44   DW_AT_byte_size   : 1
   45   DW_AT_decl_file   : 1
   46   DW_AT_decl_line   : 4
   47   DW_AT_sibling : 0x5d
 24b: Abbrev Number: 5 (DW_TAG_subprogram)
   4c   DW_AT_external: 1
   4d   DW_AT_name: (indirect string, offset: 0x77): CurrentExecutor
   51   DW_AT_decl_file   : 1
   52   DW_AT_decl_line   : 6
   53   DW_AT_MIPS_linkage_name: (indirect string, offset: 0x42):
_ZN6thread8Executor15CurrentExecutorEv
   57   DW_AT_type: 0x5d
   5b   DW_AT_declaration : 1
 15d: Abbrev Number: 6 (DW_TAG_pointer_type)
   5e   DW_AT_byte_size   : 8
   5f   DW_AT_type: 0x3f
 163: Abbrev Number: 7 (DW_TAG_subprogram)
   64   DW_AT_specification: 0x4b
   68   DW_AT_decl_line   : 13
   69   DW_AT_low_pc  : 0x0
   71   DW_AT_high_pc : 0xb
   79   DW_AT_frame_base  : 0x0  (location list)

bash$ gcc -gdwarf-4 -c -o foo.o foo.cc
bash$ readelf -w foo.o foo.w

--

 0b: Abbrev Number: 7 (DW_TAG_compile_unit)
c   DW_AT_producer: (indirect string, offset: 0x13): GNU C++ 4.6.0
20100914 (experimental)
   10   DW_AT_language: 4(C++)
   11   DW_AT_name: (indirect string, offset: 0x69): foo.cc
   15   DW_AT_comp_dir: (indirect string, offset: 0x0):
/home/dje/src/play
   19   DW_AT_low_pc  : 0x0
   21   DW_AT_high_pc : 0xb
   29   DW_AT_stmt_list   : 0x0
 12d: Abbrev Number: 8 (DW_TAG_namespace)
   2e   DW_AT_name: (indirect string, offset: 0x70): thread
   32   DW_AT_decl_file   : 1
   33   DW_AT_decl_line   : 2
 134: Abbrev Number: 9 (DW_TAG_class_type)
   35   DW_AT_name: (indirect string, offset: 0x39): Executor
   39   DW_AT_declaration : 1
   39   DW_AT_sibling : 0x4d
 23d: Abbrev Number: 5 (DW_TAG_subprogram)
   3e   DW_AT_external: 1
   3e   DW_AT_name: (indirect string, offset: 0x77): CurrentExecutor
   42   DW_AT_decl_file   : 1
   43   DW_AT_decl_line   : 6
   44   DW_AT_linkage_name: (indirect string, offset: 0x42):
_ZN6thread8Executor15CurrentExecutorEv
   48   DW_AT_type: 0x4d
   4c   DW_AT_declaration : 1
 14d: Abbrev Number: 10 (DW_TAG_pointer_type)
   4e   DW_AT_byte_size   : 8
   4f   DW_AT_type: signature: a547508193f2f296
 157: Abbrev Number: 11 (DW_TAG_subprogram)
   58   DW_AT_specification: 0x3d
   5c   DW_AT_decl_line   : 13
   5d   DW_AT_low_pc  : 0x0
   65   DW_AT_high_pc : 0xb
   6d   DW_AT_frame_base  : 1 byte block: 9c (DW_OP_call_frame_cfa)

Notice that in the -gdwarf-4 case the die for class Executor is missing an
enclosing namespace parent die.


-- 
   Summary: missing namespace parent die when using -gdwarf-4
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dje at google dot com
 GCC build triplet: amd64-linux
  GCC host triplet: amd64-linux
GCC target triplet: amd64-linux


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



[Bug c++/45605] Missed devirtualization

2010-09-15 Thread rguenther at suse dot de


--- Comment #8 from rguenther at suse dot de  2010-09-15 19:09 ---
Subject: Re:  Missed devirtualization

On Wed, 15 Sep 2010, jamborm at gcc dot gnu dot org wrote:

 --- Comment #7 from jamborm at gcc dot gnu dot org  2010-09-15 18:42 
 ---
 Well, it turns out that fold_stmt_1 is never called on that statement
 (neither with -O -finline or -O2 or -O3).  Where is it supposed to be
 called from?

We fold a stmt only if it is propagated to (by ccp, copyprop, forwprop,
dom or by inlining).


-- 


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



[Bug bootstrap/45680] [4.6 regression] cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing

2010-09-15 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2010-09-15 19:21 ---
Yes, x86-64 requires 16 byte stack alignment, but alloca should ensure that.

Can you come up with a small testcase which was misbehaving before?  It would
be great to add it to the libffi testsuite.


-- 


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



[Bug c/45683] New: Segmentation fault on large unsigned integer values in C99 mode

2010-09-15 Thread mail at rink dot nu
The attached tiny program gives the following:

$ gcc -m32 -std=c99 -c faal.c
faal.c:18:50: warning: integer constant is so large that it is unsigned
faal.c:20:13: warning: integer constant is so large that it is unsigned
faal.c: In function ‘main’:
faal.c:18: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.

I've tried all GCC versions I have access to (4.2.1, 4.4.2 and 4.4.3) and they
all give this problem, but only when compiling for i386; it compiles fine for
x86_64.


-- 
   Summary: Segmentation fault on large unsigned integer values in
C99 mode
   Product: gcc
   Version: 4.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mail at rink dot nu
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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



[Bug c/45683] Segmentation fault on large unsigned integer values in C99 mode

2010-09-15 Thread mail at rink dot nu


--- Comment #1 from mail at rink dot nu  2010-09-15 20:40 ---
Created an attachment (id=21804)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21804action=view)
Failing code


-- 


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



[Bug c/45683] Segmentation fault on large unsigned integer values in C99 mode

2010-09-15 Thread mail at rink dot nu


--- Comment #2 from mail at rink dot nu  2010-09-15 20:40 ---
Created an attachment (id=21805)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21805action=view)
.i file


-- 


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



[Bug target/43118] vld4 and vst4 intrinsics are not handled correctly

2010-09-15 Thread generalruzzmo at gmail dot com


--- Comment #6 from generalruzzmo at gmail dot com  2010-09-15 20:54 ---
this bug is bugging me too..


-- 


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



[Bug target/45683] Segmentation fault on large unsigned integer values in C99 mode

2010-09-15 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-09-15 20:56 ---
  D.1837_4 = (unnamed-signed:128) D.1836_3;

Looks like the support 128bit integer is not fully there for x86.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet|x86_64-linux-gnu|
   GCC host triplet|x86_64-linux-gnu|
 GCC target triplet|x86_64-linux-gnu|i?86-*-*


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



[Bug c/45684] New: Internal compiler error when compiling gcc-4.5.1 from source

2010-09-15 Thread kjetil1001 at gmail dot com
my system:  
kje...@familien:~/git/incanter$ lsb_release -rd
Description:Ubuntu maverick (development branch)
Release:10.10

my gcc version: (standard version from ubuntu Maverick):

kje...@familien:~/git/incanter$ gcc --version
gcc (Ubuntu/Linaro 4.4.4-14ubuntu3) 4.4.5
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


I was  compiling gcc version 4.5.1 from source, using the tarball downloaded
from the gnu site:gcc-4.5.1.tar.gz

I was building this with the incantation:

kje...@familien:~/gcc/gcc-4.5.1-objdir$ ../gcc-4.5.1/configure
--program-suffix=-4.5.1 

kje...@familien:~/gcc/gcc-4.5.1-objdir$ make profiledbootstrap

resulting (after a long time) in the segfault:

.
.
.
libtool: compile:  /home/kjetil/gcc/gcc-4.5.1-objdir/./gcc/xgcc -shared-libgcc
-B/home/kjetil/gcc/gcc-4.5.1-objdir/./gcc -nostdinc++
-L/home/kjetil/gcc/gcc-4.5.1-objdir/i686-pc-linux-gnu/libstdc++-v3/src
-L/home/kjetil/gcc/gcc-4.5.1-objdir/i686-pc-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/
-isystem /usr/local/i686-pc-linux-gnu/include -isystem
/usr/local/i686-pc-linux-gnu/sys-include
-I/home/kjetil/gcc/gcc-4.5.1-objdir/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu
-I/home/kjetil/gcc/gcc-4.5.1-objdir/i686-pc-linux-gnu/libstdc++-v3/include
-I/home/kjetil/gcc/gcc-4.5.1/libstdc++-v3/libsupc++ -fno-implicit-templates
-Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c
../../../../gcc-4.5.1/libstdc++-v3/src/pool_allocator.cc  -fPIC -DPIC -o
.libs/pool_allocator.o
In file included from
../../../../gcc-4.5.1/libstdc++-v3/src/pool_allocator.cc:31:0:
/home/kjetil/gcc/gcc-4.5.1-objdir/i686-pc-linux-gnu/libstdc++-v3/include/ext/pool_allocator.h:
In constructor ‘__gnu_cxx::__pool_alloc_Tp::__pool_alloc() [with _Tp =
char]’:
../../../../gcc-4.5.1/libstdc++-v3/src/pool_allocator.cc:171:18:   instantiated
from here
/home/kjetil/gcc/gcc-4.5.1-objdir/i686-pc-linux-gnu/libstdc++-v3/include/ext/pool_allocator.h:140:30:
internal compiler error: Segmentation fault
Please submit a full bug report,


-- 
   Summary: Internal compiler error when compiling gcc-4.5.1 from
source
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kjetil1001 at gmail dot com


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



[Bug c++/43085] Make profiledbootstrap fails with cc1plus catching SIGSEGV

2010-09-15 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2010-09-15 21:00 ---
*** Bug 45684 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kjetil1001 at gmail dot com


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



[Bug gcov-profile/45684] Internal compiler error when compiling gcc-4.5.1 from source with profilebootstrap

2010-09-15 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-09-15 21:00 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread dwitte at gmail dot com


--- Comment #9 from dwitte at gmail dot com  2010-09-15 21:01 ---
Created an attachment (id=21806)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21806action=view)
testcase

Here you go. This passes at -O0 but fails at -O2. Note that the testcase
requires = 7 args to the test function, to force the last arg to spill onto
the stack; also an inner (non-inlined) function call, to force that single
stack arg to be zero-extended to word size and overwrite the flags.


-- 


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



[Bug fortran/45681] internal compiler error: in make_decl_rtl, at varasm.c:1297

2010-09-15 Thread kargl at gcc dot gnu dot org


--- Comment #3 from kargl at gcc dot gnu dot org  2010-09-15 21:08 ---
(In reply to comment #2)
 Hi,
 
 as it's already fixed in newer versions, please don't spend any more time on
 this.
 

OK.

Once again thanks for sending a bug report.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


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



[Bug web/43011] Upgrade gcc.gnu.org/bugzilla to Bugzilla 3.6

2010-09-15 Thread LpSolit at netscape dot net


--- Comment #47 from LpSolit at netscape dot net  2010-09-15 21:16 ---
Per the email Ian sent a few minutes ago, we will upgrade Bugzilla this Friday,
September 17, for three hours starting at 18:00 GMT (11:00 PDT).

So *please* give a try at our test installation, and report any problem with it
asap.


-- 


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



[Bug c++/45605] Missed devirtualization

2010-09-15 Thread hubicka at ucw dot cz


--- Comment #9 from hubicka at ucw dot cz  2010-09-15 22:39 ---
Subject: Re:  Missed devirtualization

 We fold a stmt only if it is propagated to (by ccp, copyprop, forwprop,
 dom or by inlining).
Well, since fold_stmt is stornger than what fe does, I guess we should fold
each stmt at least once.

Honza


-- 


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



[Bug rtl-optimization/45593] [4.5/4.6 regression] segfault with -Os

2010-09-15 Thread ebotcazou at gcc dot gnu dot org


--- Comment #5 from ebotcazou at gcc dot gnu dot org  2010-09-15 22:48 
---
Subject: Bug 45593

Author: ebotcazou
Date: Wed Sep 15 22:48:00 2010
New Revision: 164318

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164318
Log:
PR rtl-optimization/45593
* reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
insns that were in delay slots as stand-alone insns.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/20100915-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/reorg.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug ada/45568] [4.6 Regression] stack overflow (or erroneous memory access) building gnattools

2010-09-15 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2010-09-15 22:49 ---
Bug returns in build with revision 164294.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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



[Bug rtl-optimization/45593] [4.5/4.6 regression] segfault with -Os

2010-09-15 Thread ebotcazou at gcc dot gnu dot org


--- Comment #6 from ebotcazou at gcc dot gnu dot org  2010-09-15 22:51 
---
Subject: Bug 45593

Author: ebotcazou
Date: Wed Sep 15 22:51:44 2010
New Revision: 164319

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164319
Log:
PR rtl-optimization/45593
* reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
insns that were in delay slots as stand-alone insns.

Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/compile/20100915-1.c
  - copied unchanged from r164318,
trunk/gcc/testsuite/gcc.c-torture/compile/20100915-1.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/reorg.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/45593] [4.5/4.6 regression] segfault with -Os

2010-09-15 Thread ebotcazou at gcc dot gnu dot org


--- Comment #7 from ebotcazou at gcc dot gnu dot org  2010-09-15 22:57 
---
Thanks for the reduced testcase.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2010-
   ||09/msg01297.html
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libstdc++/45403] python pretty printer for std::string requires GDB 7.1

2010-09-15 Thread redi at gcc dot gnu dot org


--- Comment #8 from redi at gcc dot gnu dot org  2010-09-15 23:43 ---
Hmm, OK, I can reproduce that with a current 4.5.2 build, but not with a
snapshot from last week. Please file a separate bug for that, component=c++ -
thanks!


-- 


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



[Bug libstdc++/45403] python pretty printer for std::string requires GDB 7.1

2010-09-15 Thread redi at gcc dot gnu dot org


--- Comment #9 from redi at gcc dot gnu dot org  2010-09-15 23:52 ---
oops, I wasn't paying attention - I screwed up my build of gdb-7.2 so it didn't
have python support and mistook the non-pretty printed string for a traceback!

Here is a fresh GCC 4.5.2 build and a vanilla GDB 7.2 build (with python
support!)

moria:shm$ cat pr45403.cc 
#include string
int main()
{
std::string s( foo );
s.size();
}
moria:shm$ ~/gcc/4.5/bin/g++ pr45403.cc -v 21 | fgrep 'version 4.5'
gcc version 4.5.2 20100915 (prerelease) (GCC) 
GNU C++ (GCC) version 4.5.2 20100915 (prerelease) (x86_64-unknown-linux-gnu)
GNU C++ (GCC) version 4.5.2 20100915 (prerelease) (x86_64-unknown-linux-gnu)
moria:shm$ 
moria:shm$ ~/gcc/4.5/bin/g++ pr45403.cc -gdwarf-4 -g2 -Wl,-R$HOME/gcc/4.5/lib64
moria:shm$ 
moria:shm$ /dev/shm/gdb/bin/gdb ./a.out
GNU gdb (GDB) 7.2
Copyright (C) 2010 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 x86_64-unknown-linux-gnu.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /dev/shm/a.out...done.
(gdb) br main
Breakpoint 1 at 0x4007cd: file pr45403.cc, line 4.
(gdb) r
Starting program: /dev/shm/a.out 

Breakpoint 1, main () at pr45403.cc:4
4   std::string s( foo );
(gdb) n
5   s.size();
(gdb) p s
$1 = foo

Are you sure you haven't modified your GCC sources?


-- 


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



[Bug rtl-optimization/45685] New: GCC optimizer for Intel x64 generates inefficient code

2010-09-15 Thread ekuznetsov at divxcorp dot com
I've attached two copies of a simple function. They are identical except for
the type of the internal variable (one uses 'int64_t', the other uses 'int').
When compiled with GCC 4.4.3 on a x64 platform using -O3 optimizations, the
assembly code for the first version will contain a conditional move instruction
'cmov', the second version will contain a branch. Since branches are extremely
slow, the second version ends up two times slower than the first version.


-- 
   Summary: GCC optimizer for Intel x64 generates inefficient code
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ekuznetsov at divxcorp dot com


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



[Bug rtl-optimization/45685] GCC optimizer for Intel x64 generates inefficient code

2010-09-15 Thread ekuznetsov at divxcorp dot com


--- Comment #1 from ekuznetsov at divxcorp dot com  2010-09-16 01:18 ---
Created an attachment (id=21807)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21807action=view)
Sample code


-- 


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



[Bug fortran/45081] [4.3/4.4/4.5/4.6 Regression] ICE in gfc_conv_array_initializer, at fortran/trans-array.c:4208

2010-09-15 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2010-09-16 05:11 ---
Created an attachment (id=21808)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21808action=view)
A fix for this PR

Bootstraps and regtests on FC9/x86_64.

It is clear that many other array intrinsics fail with derived type sources.  I
have verified this for (un)pack and applied it to the attached patch.  I
believe that there are related PRs that I have to find.

I am away until Monday. I will complete the job then and submit thereafter.

Cheers

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug fortran/45676] Move array assignments out of loop

2010-09-15 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2010-09-15 06:40 ---
Related to PR42108 and PR45223.


-- 


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



[Bug c++/45635] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2010-09-15 06:56 ---
Thanks.  Though, both #c5 and #c6 patches are C++ FE patches and thus I can't
see how they could ever be related to a C testcase.


-- 


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



[Bug libstdc++/45403] python pretty printer for std::string requires GDB 7.1

2010-09-15 Thread pluto at agmk dot net


--- Comment #5 from pluto at agmk dot net  2010-09-15 07:52 ---
there's one more issue with std::string pretty printing.
with -gdwarf-4 enabled it fails on gdb-7.2 with runtime error:

$1 = Traceback (most recent call last):
  File
/local/devel/toolchain45/x86_64-gnu-linux.mt_alloc/share/gcc-4.5.2/python/libstdcxx/v6/printers.py,
line 546, in to_string
reptype = gdb.lookup_type (str (realtype) + '::_Rep').pointer ()
RuntimeError: No type named std::basic_stringchar, std::char_traitschar,
std::allocatorchar ::_Rep.

for -gdwarf-2 and -gdwarf-3 it works.


-- 


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



[Bug target/42070] FAIL: g++.dg/tree-prof/partition1.C compilation, -O3 -g -fprofile-use

2010-09-15 Thread mrs at gcc dot gnu dot org


--- Comment #5 from mrs at gcc dot gnu dot org  2010-09-15 07:55 ---
Fixed.


-- 

mrs at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/45596] Implement simple static points-to analysis in Fortran FE

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2010-09-15 08:37 ---
You're right, it doesn't call compute_spt_expr on all the actual arguments's
-expr.  If/when it will use a generic walker, that will be fixed
automatically, but I'll fix it in the meantime as well.


-- 


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



[Bug preprocessor/45362] Dangling reference about saved cpp_macro for push/pop macro

2010-09-15 Thread t66667 at gmail dot com


--- Comment #5 from t7 at gmail dot com  2010-09-15 08:56 ---
Peeled this skin (164193) off and then blood comes running out.


-- 


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



[Bug c++/31584] [DR502] ICE on probably invalid code

2010-09-15 Thread numerical dot simulation at web dot de


--- Comment #9 from numerical dot simulation at web dot de  2010-09-15 
09:03 ---
Hi!

Looks like http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#502
now has a resolution, namely that a type is dependent if it is
a nested class or enumeration that is a member of the current instantiation.
So though the voting might not be through, the compilers could already adopt
the proposed behavior and give some informational error message.

- Change Status back to new?

Markus


-- 

numerical dot simulation at web dot de changed:

   What|Removed |Added

 CC||numerical dot simulation at
   ||web dot de


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



[Bug c++/45665] [4.4/4.5/4.6 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in grokdeclarator, at cp/decl.c:8797 on invalid code

2010-09-15 Thread paolo at gcc dot gnu dot org


--- Comment #3 from paolo at gcc dot gnu dot org  2010-09-15 09:06 ---
Subject: Bug 45665

Author: paolo
Date: Wed Sep 15 09:06:32 2010
New Revision: 164299

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164299
Log:
/cp
2010-09-15  Paolo Carlini  paolo.carl...@oracle.com

PR c++/45665
* decl.c (grokdeclarator): Check build_memfn_type return value
for error_mark_node.

/testsuite
2010-09-15  Paolo Carlini  paolo.carl...@oracle.com

PR c++/45665
* g++.dg/template/crash103.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/crash103.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/45665] [4.4/4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in grokdeclarator, at cp/decl.c:8797 on invalid code

2010-09-15 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-09-15 09:08 
---
Fixed for 4.6.0.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|paolo dot carlini at oracle |unassigned at gcc dot gnu
   |dot com |dot org
 Status|ASSIGNED|NEW
  Known to fail|4.4.5 4.5.2 4.6.0   |4.4.5 4.5.2
  Known to work|4.4.2   |4.4.2 4.6.0
Summary|[4.4/4.5/4.6 Regression]|[4.4/4.5 Regression] ICE:
   |ICE: tree check: expected   |tree check: expected class
   |class 'type', have  |'type', have 'exceptional'
   |'exceptional' (error_mark)  |(error_mark) in
   |in grokdeclarator, at   |grokdeclarator, at
   |cp/decl.c:8797 on invalid   |cp/decl.c:8797 on invalid
   |code|code
   Target Milestone|4.4.5   |4.6.0


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



[Bug target/40959] [4.3/4.4/4.5/4.6 regression] FreeBSD/ia64 build fails: No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'.

2010-09-15 Thread mexas at bristol dot ac dot uk


--- Comment #21 from mexas at bristol dot ac dot uk  2010-09-15 09:20 
---
Just to confirm that 45 now builds on ia64: gcc-4.5.2.20100909

The error for 46 is this:

*skip*

gmake[4]: Entering directory
`/usr/ports/lang/gcc46/work/build/ia64-portbld-freebsd9.0/libgfortran'
if [ -z  ]; then \
  true; \
else \
  rootpre=`${PWDCMD-pwd}`/; export rootpre; \
  srcrootpre=`cd ../.././../gcc-4.6-20100911/libgfortran;
${PWDCMD-pwd}`/; export srcrootpre; \
  lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
  compiler=/usr/ports/lang/gcc46/work/build/./gcc/xgcc
-B/usr/ports/lang/gcc46/work/build/./gcc/
-B/usr/local/ia64-portbld-freebsd9.0/bi /
-B/usr/local/ia64-portbld-freebsd9.0/lib/ -isystem
/usr/local/ia64-portbld-freebsd9.0/include -isystem
/usr/local/ia64-portbld-freebsd9.0/sys-i clude   ; \
  for i in `${compiler} --print-multi-lib 2/dev/null`; do \
dir=`echo $i | sed -e 's/;.*$//'`; \
if [ ${dir} = . ]; then \
  true; \
else \
  if [ -d ../${dir}/${lib} ]; then \
flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
if (cd ../${dir}/${lib}; gmake  \
CFLAGS=-g -O1 -I/usr/local/include ${flags} \
CCASFLAGS= ${flags} \
FCFLAGS=-g -O2 ${flags} \
FFLAGS= ${flags} \
ADAFLAGS= ${flags} \
prefix=/usr/local \
exec_prefix=/usr/local \
GCJFLAGS= ${flags} \
CXXFLAGS=-g -O1 -I/usr/local/include ${flags}
\
LIBCFLAGS=-g -O1 -I/usr/local/include
${flags} \
LIBCXXFLAGS=-g -O1 -I/usr/local/include
-fno-implicit-templates ${flags} \
LDFLAGS= ${flags} \
MULTIFLAGS=${flags} \
DESTDIR= \
INSTALL=/usr/bin/install -c -o root -g wheel
\
INSTALL_DATA=install  -o root -g wheel -m 444
\
INSTALL_PROGRAM=install  -s -o root -g wheel
-m 555 \
INSTALL_SCRIPT=install  -o root -g wheel -m
555 \
all); then \
  true; \
else \
  exit 1; \
fi; \
  else true; \
  fi; \
fi; \
  done; \
fi
gmake[4]: Leaving directory
`/usr/ports/lang/gcc46/work/build/ia64-portbld-freebsd9.0/libgfortran'
gmake[3]: Leaving directory
`/usr/ports/lang/gcc46/work/build/ia64-portbld-freebsd9.0/libgfortran'
gmake[2]: Leaving directory
`/usr/ports/lang/gcc46/work/build/ia64-portbld-freebsd9.0/libgfortran'
gmake[1]: Leaving directory `/usr/ports/lang/gcc46/work/build'
gmake: *** [bootstrap-lean] Error 2
*** Error code 1

Stop in /usr/ports/lang/gcc46.
*** Error code 1


-- 


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



[Bug fortran/45676] Move array assignments out of loop

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-09-15 09:47 ---
We can't hoist invariant control flow.  Also print *,c is surely thought
to be an escape point for c and thus may clobber it.

I'd rate this impossible to do for the middle-end (and generally not worth
the hassle to implement).  Better fix your sources ;)


-- 


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



[Bug middle-end/45663] [4.6 regression] New test failures

2010-09-15 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug debug/45673] -fcompare-debug failure with minor difference in dumps

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-09-15 09:49 ---
Another dumping artifact probably.  At some point I'd like to dump all
MEM_REFs as MEM[(...)p + cst] and drop the fancy ways.


-- 


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



[Bug bootstrap/45672] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: 'rs6000_units_per_simd_word' defined but not used

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-09-15 09:49 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0


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



[Bug middle-end/45644] [4.6 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2010-09-15 Thread vladimir dot a dot kharchenko at intel dot com


--- Comment #5 from vladimir dot a dot kharchenko at intel dot com  
2010-09-15 10:11 ---
When I run ./soplex -s1 -e -m45000 pds-50.mps Seg fault is:

Program received signal SIGSEGV, Segmentation fault.
0x004363a7 in size (this=0x7fffce40, ds=value optimized out) at
svector.h:174
174   if( m_elem != 0 )
Missing separate debuginfos, use: debuginfo-install glibc-2.11.1-6.x86_64
libgcc-4.4.3-4.fc12.x86_64 libstdc++-4.4.3-4.fc12.x86_64
(gdb) where
#0  0x004363a7 in size (this=0x7fffce40, ds=value optimized out)
at svector.h:174
#1  soplex::SPxBasis::loadDesc (this=0x7fffce40, ds=value optimized out)
at spxbasis.cc:162
#2  0x0042d244 in soplex::SoPlex::read (this=0x7fffcce0, in=...,
rowNames=0x7fffdb50, 
colNames=0x7fffdae0, intVars=0x0) at soplex.cc:56
#3  0x0042e085 in soplex::SoPlex::readFile (this=0x7fffcce0,
filename=value optimized out, 
rowNames=0x7fffdb50, colNames=0x7fffdae0, intVars=0x0) at
soplex.cc:400
#4  0x0040a9b3 in main (argc=value optimized out, argv=value
optimized out) at example.cc:429

When I compiled spxbasis.cc by old compiler and linked with other object files
I received:
Program received signal SIGSEGV, Segmentation fault.
soplex::SPxWeightST::generate (this=0x70a470, base=...) at spxweightst.cc:248
248  if (bVec.size() == 1)
Missing separate debuginfos, use: debuginfo-install glibc-2.11.1-6.x86_64
libgcc-4.4.3-4.fc12.x86_64 libstdc++-4.4.3-4.fc12.x86_64
(gdb) where
#0  soplex::SPxWeightST::generate (this=0x70a470, base=...) at
spxweightst.cc:248
#1  0x0046c2db in soplex::SoPlex::solve (this=0x7fffcce0) at
spxsolve.cc:87
#2  0x0040aa73 in main (argc=value optimized out, argv=value
optimized out) at example.cc:458
(gdb) 
When I compiled spxweightst.cc and spxsolve.cc by old compiler I received Sef
fault in other place. It seems to me that the problem in header files, maybe
svector.h is compiled incorrectly.  


-- 


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



[Bug libstdc++/45403] python pretty printer for std::string requires GDB 7.1

2010-09-15 Thread redi at gcc dot gnu dot org


--- Comment #6 from redi at gcc dot gnu dot org  2010-09-15 11:21 ---
(In reply to comment #5)
 with -gdwarf-4 enabled it fails on gdb-7.2 with runtime error:

I couldn't reproduce that with 4.5.2 20100909, can you give more details?


-- 


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



[Bug libstdc++/45403] python pretty printer for std::string requires GDB 7.1

2010-09-15 Thread pluto at agmk dot net


--- Comment #7 from pluto at agmk dot net  2010-09-15 11:34 ---
(In reply to comment #6)
 (In reply to comment #5)
  with -gdwarf-4 enabled it fails on gdb-7.2 with runtime error:
 
 I couldn't reproduce that with 4.5.2 20100909, can you give more details?

$ cat t.cpp 
#include string
int main()
{
std::string s( foo );
s.size();
}

$ /local/devel/toolchain45/x86_64-gnu-linux.mt_alloc/bin/x86_64-gnu-linux-g++
t.cpp -gdwarf-4 -g2 -o t 

$ gdb ./t
(gdb) b main
Breakpoint 1 at 0x402c8d: file t.cpp, line 4.
(gdb) r
Starting program: /home/users/pawels/sandbox/src/bug/t 
Breakpoint 1, main () at t.cpp:4
4   std::string s( foo );
(gdb) n
5   s.size();
(gdb) p s
$1 = Traceback (most recent call last):
  File
/local/devel/toolchain45/x86_64-gnu-linux.mt_alloc/share/gcc-4.5.2/python/libstdcxx/v6/printers.py,
line 546, in to_string
reptype = gdb.lookup_type (str (realtype) + '::_Rep').pointer ()
RuntimeError: No type named std::basic_stringchar, std::char_traitschar,
std::allocatorchar ::_Rep.


-- 


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



[Bug target/45623] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #9 from mh+gcc at glandium dot org  2010-09-15 11:45 ---
Created an attachment (id=21798)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21798action=view)
Reduced testcase

Both issues Taras mentioned are actually separated. One is an actual bug in ffi
(to be filed), the other one is an optimization issue with gcc. I reduced the
problematic code to the attached code, which prints foo with -O1 (and more),
and bar with -O0, with gcc 4.5.1. gcc 4.4 compiled code correctly prints
bar with any optimization level.


-- 


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



[Bug target/45623] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #10 from mh+gcc at glandium dot org  2010-09-15 11:53 ---
Please note this actually only happens on x86. (I would change the summary and
target if I could)


-- 


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



[Bug target/45623] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #11 from mh+gcc at glandium dot org  2010-09-15 12:05 ---
Created an attachment (id=21799)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21799action=view)
Reduced testcase

Inlining JSVAL_TO_PRIVATE by hand still makes it break, and reduces the
testcase further.


-- 

mh+gcc at glandium dot org changed:

   What|Removed |Added

  Attachment #21798|0   |1
is obsolete||


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



[Bug target/45623] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #12 from mh+gcc at glandium dot org  2010-09-15 12:11 ---
FWIW, it's still broken on a gcc trunk snapshot from the 28th of august.


-- 


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



[Bug target/45623] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2010-09-15 12:16 
---
Confirmed and investigating.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-15 12:16:05
   date||


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



[Bug libffi/45677] New: Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread mh+gcc at glandium dot org
The stack space allocated by ffi_call for the non-register arguments is not big
enough (and not properly aligned) when calling the target function, and
depending on what the called function does with the stack, it can end up
overwriting ffi_call_unix64's stack. A case where this occurred is with a
target function with a lot of arguments, the last one being a boolean. The
target function itself, depending on gcc version and optimization level would
rewrite all boolean arguments with padding to pass them to another function,
and the allocated stack space for that was insufficient, such that rewriting
this last boolean argument would actually overflow, overwriting the flags in
ffi_call_unix64 and making the returned value ignored.

See https://bugzilla.mozilla.org/show_bug.cgi?id=594611


-- 
   Summary: Bad stack allocation for ffi function calls on x86-64
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libffi
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mh+gcc at glandium dot org
GCC target triplet: x86_64-*-linux


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #1 from mh+gcc at glandium dot org  2010-09-15 12:21 ---
Created an attachment (id=21800)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21800action=view)
Fix stack allocation for ffi function calls on x86-64


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2010-09-15 12:31 
---
You are accessing a pointer of type char *s1 via an lvalue of type void *
(*data).  Or speaking in C++, you are accessing an object of dynamic type
void * (stored to via *data) by an lvalue of type char * (s1).

Thus your testcase invokes undefined behavior.

That it is miscompiled at -O1 is a bug.

With GCC 4.6 we now assign the same alias-set to all pointers, hiding
this issue.

data_4 is a non-pointer variable,ignoring constraint:*data_4 = s2.1_5
data_4, points-to vars: { }

oops.  I will have a look at the points-to bug.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
  Component|target  |tree-optimization
   Keywords||wrong-code
   Last reconfirmed|2010-09-15 12:16:05 |2010-09-15 12:31:16
   date||
Summary|GCC 4.5.[01] breaks our ffi |[4.5/4.6 Regression] GCC
   |on Linux64. ABI break?  |4.5.[01] breaks our ffi on
   ||Linux64. ABI break?
   Target Milestone|--- |4.5.2


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



[Bug rtl-optimization/45678] New: gcc-4.4: crash on vector code with -m32 -msse

2010-09-15 Thread edwintorok at gmail dot com
This testcase crashes when compiled with gcc 4.4 -m32 -msse -O2, but not when
compiled with 4.3 or 4.5. It doesn't crash when compiled as -m64.
/* compile me with -O2 -msse -m32 */
#include string.h
typedef float v4sf __attribute__ ((vector_size (16)));

int main(void)
{
float m4[4];
v4sf m3;
float m2[4] = {4, 3, 2, 1};
v4sf one2 = {5, 15, 25, 35};

memcpy(m3, m2, sizeof(m2));
m3 = m3 * one2;
memcpy(m4, m3, sizeof(m4));
if (m4[0] != 20)
return 1;

return 0;
}


$ gcc-4.4 bug.c -m32 -O2 -msse
$ ./a.out
Segmentation fault

GDB shows it crashes on the SSE instructions, probably wrong alignment:
Dump of assembler code for function main:
   0x080483a0 +0: push   %ebp
   0x080483a1 +1: mov%esp,%ebp
   0x080483a3 +3: sub$0x14,%esp
   0x080483a6 +6: movaps 0x80484d0,%xmm0
   0x080483ad +13:movl   $0x4080,0x4(%esp)
   0x080483b5 +21:movl   $0x4040,0x8(%esp)
   0x080483bd +29:flds   0x80484e0
   0x080483c3 +35:movl   $0x4000,0xc(%esp)
   0x080483cb +43:movl   $0x3f80,0x10(%esp)
= 0x080483d3 +51:mulps  0x4(%esp),%xmm0
   0x080483d8 +56:movss  %xmm0,(%esp)
   0x080483dd +61:flds   (%esp)
   0x080483e0 +64:fucomip %st(1),%st
   0x080483e2 +66:fstp   %st(0)
   0x080483e4 +68:setne  %al
   0x080483e7 +71:setp   %dl
   0x080483ea +74:or %edx,%eax
   0x080483ec +76:movzbl %al,%eax
   0x080483ef +79:leave  
   0x080483f0 +80:ret
End of assembler dump.

gcc -v output:
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-14'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--with-arch-32=i586 --with-tune=generic --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 20100909 (prerelease) (Debian 4.4.4-14) 

My libc version is this (should it matter):
GNU C Library (Debian EGLIBC 2.11.2-5) stable release version 2.11.2, by Roland
McGrath et al.
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.5 20100824 (prerelease).
Compiled on a Linux 2.6.32 system on 2010-09-03.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
For bug reporting instructions, please see:
http://www.debian.org/Bugs/.


-- 
   Summary: gcc-4.4: crash on vector code with -m32 -msse
   Product: gcc
   Version: 4.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: edwintorok at gmail dot com
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #15 from mh+gcc at glandium dot org  2010-09-15 12:47 ---
Note that the original code doesn't use char *. I used char * to make it easily
visible with a printf. Actually, just writing

void foo(jsval_layout l, void *s2) {
jsval_layout m;
m.asBits = l.asBits;
void ** data = (void**)m.ptr; 
*data = s2;
}

exhibits the problem, afaics.


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #16 from mh+gcc at glandium dot org  2010-09-15 12:52 ---
The real code where this gets problematic:
http://mxr.mozilla.org/mozilla-central/source/js/src/ctypes/CTypes.cpp#5615

The function it calls:
http://mxr.mozilla.org/mozilla-central/source/js/src/ctypes/CTypes.cpp#5542
http://mxr.mozilla.org/mozilla-central/source/js/src/jsapi.h#281
http://mxr.mozilla.org/mozilla-central/source/js/src/jsval.h#799
http://mxr.mozilla.org/mozilla-central/source/js/src/jsval.h#506


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #17 from rguenth at gcc dot gnu dot org  2010-09-15 13:03 
---
points-to analysis does not honor GCCs type-punning through union extension
(it works on x86_64 because ptr and asBits match in size and thus SRA
cleans the code up before pointer-analysis).  So PTA sees

  ss1.0_1 = ss1;
  l.ptr = ss1.0_1;
  D.3244_2 = l.asBits;
  m.asBits = D.3244_2;
  D.3245_3 = m.ptr;
  data_4 = (void * *) D.3245_3;

and it considers both D.3244_2 = l.asBits and m.asBits = D.3244_2 as
irrelevant (as they do not involve pointers).  Thus, m.ptr is never
assigned to and the points-to set of data_4 ends up as empty which
makes us remove the store *data_4 = s2.1_5.

Thus, as a workaround you should make sure the asBits field matches
pointer-size (so for example use uintptr_t isntead of uint64_t).


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #18 from mh+gcc at glandium dot org  2010-09-15 13:14 ---
(In reply to comment #17)
 Thus, as a workaround you should make sure the asBits field matches
 pointer-size (so for example use uintptr_t isntead of uint64_t).

which is not possible in the original code, as the union is a bit more
complicated than in the reduced testcase:
http://mxr.mozilla.org/mozilla-central/source/js/src/jsval.h#274


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #19 from rguenth at gcc dot gnu dot org  2010-09-15 13:24 
---
Another workaround is to use -fno-tree-pta.


-- 


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



[Bug middle-end/45644] [4.6 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2010-09-15 Thread jamborm at gcc dot gnu dot org


--- Comment #6 from jamborm at gcc dot gnu dot org  2010-09-15 13:25 ---
I have just sent a proposed fix to the mailing list:
http://gcc.gnu.org/ml/gcc-patches/2010-09/msg01244.html


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #20 from mh+gcc at glandium dot org  2010-09-15 13:41 ---
(In reply to comment #19)
 Another workaround is to use -fno-tree-pta.

Doesn't work here.


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #21 from rguenth at gcc dot gnu dot org  2010-09-15 13:50 
---
(In reply to comment #20)
 (In reply to comment #19)
  Another workaround is to use -fno-tree-pta.
 
 Doesn't work here.

For the original code?  Then your reduced testcase is different from the
original problem.


-- 


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



[Bug fortran/45577] [4.6 Regression] Bogus(?) ... type incompatible with source-expr ... error

2010-09-15 Thread janus at gcc dot gnu dot org


--- Comment #9 from janus at gcc dot gnu dot org  2010-09-15 13:50 ---
Subject: Bug 45577

Author: janus
Date: Wed Sep 15 13:50:15 2010
New Revision: 164305

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164305
Log:
2010-09-15  Janus Weil  ja...@gcc.gnu.org

PR fortran/45577
* resolve.c (resolve_allocate_expr): Do default initialization via
EXEC_INIT_ASSIGN.


2010-09-15  Janus Weil  ja...@gcc.gnu.org

PR fortran/45577
* gfortran.dg/allocate_derived_4.f90: New.

Added:
trunk/gcc/testsuite/gfortran.dg/allocate_derived_4.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #22 from mh+gcc at glandium dot org  2010-09-15 13:52 ---
(In reply to comment #21)
 For the original code?  Then your reduced testcase is different from the
 original problem.

It doesn't work for the reduced testcase here, with gcc 4.5.1


-- 


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



[Bug fortran/45577] [4.6 Regression] Bogus(?) ... type incompatible with source-expr ... error

2010-09-15 Thread janus at gcc dot gnu dot org


--- Comment #10 from janus at gcc dot gnu dot org  2010-09-15 13:52 ---
Fixed with r164305. Closing.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenther at suse dot de


--- Comment #23 from rguenther at suse dot de  2010-09-15 13:56 ---
Subject: Re:  [4.5/4.6 Regression] GCC 4.5.[01]
 breaks our ffi on Linux64. ABI break?

On Wed, 15 Sep 2010, mh+gcc at glandium dot org wrote:

 --- Comment #22 from mh+gcc at glandium dot org  2010-09-15 13:52 ---
 (In reply to comment #21)
  For the original code?  Then your reduced testcase is different from the
  original problem.
 
 It doesn't work for the reduced testcase here, with gcc 4.5.1

It does fix the PTA problem (thus makes it work at -O1).  Still
fails at -O2 for some reason (but can't reproduce that on
the tip of the branch, only with the 4.5.1 release).  Alias-correct 
testcase:

#include stdint.h

extern void abort (void);

char *s1 = foo;
char *s2 = bar;

char **ss1 = s1;

typedef union jsval_layout
{
uint64_t asBits;
char **ptr;
} jsval_layout;

int main()
{
  jsval_layout l, m;
  l.ptr = ss1;
  m.asBits = l.asBits;
  char ** data = m.ptr;
  *data = s2;
  if (s1 != s2)
abort ();
  return 0;
}


-- 


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



[Bug fortran/45674] [OOP] Undefined references for extended types

2010-09-15 Thread janus at gcc dot gnu dot org


--- Comment #1 from janus at gcc dot gnu dot org  2010-09-15 13:57 ---
Confirmed. From a quick glimpse it seems the patch goes in the right direction.
Will have a closer look soon.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-15 13:57:41
   date||


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread rguenth at gcc dot gnu dot org


--- Comment #24 from rguenth at gcc dot gnu dot org  2010-09-15 13:59 
---
Created an attachment (id=21801)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21801action=view)
patch

I am testing this patch (for 4.5 branch).


-- 


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



[Bug tree-optimization/45623] [4.5/4.6 Regression] GCC 4.5.[01] breaks our ffi on Linux64. ABI break?

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #25 from mh+gcc at glandium dot org  2010-09-15 14:01 ---
Oh, I was trying with -O2, yes, it works with -O1 -fno-tree-pta. Let me try on
the original code, too.


-- 


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



[Bug rtl-optimization/45678] gcc-4.4: crash on vector code with -m32 -msse

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-09-15 14:10 ---
No longer crashes in 4.5/4.6 since r147980, aka SRA rewrite.  The only
difference in *.optimized is though that before r147980 we have:
  m3.3_3 = VIEW_CONVERT_EXPRv4sf(m2);
  m3.5_4 = m3.3_3 * { 5.0e+0, 1.5e+1, 2.5e+1, 3.5e+1 };
  m4$0_5 = VIEW_CONVERT_EXPRfloat[4](m3.5_4)[0];
  if (m4$0_5 != 2.0e+1)
and after it:
  m3.3_7 = VIEW_CONVERT_EXPRv4sf(m2);
  m3.5_8 = m3.3_7 * { 5.0e+0, 1.5e+1, 2.5e+1, 3.5e+1 };
  m4 = VIEW_CONVERT_EXPRfloat[4](m3.5_8);
  m4$0_22 = m4[0];
  if (m4$0_22 != 2.0e+1)
where m2 (and in the second case m4 as well) are float [4] arrays, m3 is v4sf
and m4$0 is float.  This doesn't look like a fix for the case that the
VCEv4sf(m2) load during expansion assumes m2 is 128-bits aligned when it is
not.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-15 14:10:59
   date||


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



[Bug rtl-optimization/45678] [4.4 Regression] crash on vector code with -m32 -msse

2010-09-15 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|gcc-4.4: crash on vector|[4.4 Regression] crash on
   |code with -m32 -msse|vector code with -m32 -msse
   Target Milestone|--- |4.4.5


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



[Bug rtl-optimization/45678] [4.4/4.5/4.6 Regression] crash on vector code with -m32 -msse

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-09-15 14:23 ---
Actually
typedef float V __attribute__ ((vector_size (16)));
V g;

int
main ()
{
  float d[4] = { 4, 3, 2, 1 };
  V e;
  __builtin_memcpy (e, d, sizeof (d));
  V f = { 5, 15, 25, 35 };
  e = e * f;
  g = e;
  return 0;
}

segfaults even with 4.5/4.6 at -O2 -m32 -msse2.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.4 Regression] crash on   |[4.4/4.5/4.6 Regression]
   |vector code with -m32 -msse |crash on vector code with -
   ||m32 -msse


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



[Bug fortran/45674] [OOP] Undefined references for extended types

2010-09-15 Thread janus at gcc dot gnu dot org


--- Comment #2 from janus at gcc dot gnu dot org  2010-09-15 14:46 ---
(In reply to comment #0)
 Index: fortran/interface.c
 ===
 --- fortran/interface.c (revision 164288)
 +++ fortran/interface.c (working copy)
 @@ -1428,10 +1428,12 @@
 actual-ts.u.derived  actual-ts.u.derived-ts.is_iso_c)
  return 1;
 
 -  if (formal-ts.type == BT_CLASS)
 +  if (formal-ts.type == BT_CLASS) {
  /* Make sure the vtab symbol is present when
 the module variables are generated.  */
  gfc_find_derived_vtab (formal-ts.u.derived);
 +gfc_find_derived_vtab (actual-ts.u.derived);
 +  }
 
if (actual-ts.type == BT_PROCEDURE)
  {
 

Actually I think this patch is ok. Are you interested in committing it
yourself? [Note that you'll need an FSF copyright assignment, if you don't
already have one.] Otherwise I can commit it for you.

Side note: One can (should) extend the patch in the following way ...

Index: gcc/fortran/interface.c
===
--- gcc/fortran/interface.c (revision 164304)
+++ gcc/fortran/interface.c (working copy)
@@ -1428,10 +1428,10 @@ compare_parameter (gfc_symbol *formal, gfc_expr *a
actual-ts.u.derived  actual-ts.u.derived-ts.is_iso_c)
 return 1;

-  if (formal-ts.type == BT_CLASS)
+  if (formal-ts.type == BT_CLASS  actual-ts.type == BT_DERIVED)
 /* Make sure the vtab symbol is present when
the module variables are generated.  */
-gfc_find_derived_vtab (formal-ts.u.derived);
+gfc_find_derived_vtab (actual-ts.u.derived);

   if (actual-ts.type == BT_PROCEDURE)
 {


(I have not regtested this yet.)


-- 


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



[Bug lto/45679] New: ICE at lto1: error: edge points to wrong declaration while compiling povray

2010-09-15 Thread hubicka at gcc dot gnu dot org
~/trunk-install/bin/g++ -O3 -fwhopr a.ii b.ii  -r  -nostdlib

leads to
 function_decl 0x771d6800
_Z20POVMS_AssertFunctioniPKcS0_i.part.0.2033.constprop.2
type function_type 0x771d83f0
type integer_type 0x77ed8498 public SI
size integer_cst 0x77ec7708 constant 32
unit size integer_cst 0x77ec7410 constant 4
align 32 symtab 0 alias set -1 canonical type 0x77ed8498
precision 32 min integer_cst 0x77ec7690 -2147483648 max integer_cst
0x77ec76b8 2147483647
pointer_to_this pointer_type 0x77ee53f0
QI
size integer_cst 0x77ec74d8 constant 8
unit size integer_cst 0x77ec7500 constant 1
align 8 symtab 0 alias set -1 canonical type 0x771d83f0
arg-types tree_list 0x771d9118 value pointer_type 0x771d82a0
chain tree_list 0x771d9140 value integer_type 0x77ed8498
chain tree_list 0x77ec7fa0 value void_type
0x77ed8d20
addressable used nothrow static external QI file b.ii line 39 col 11 align
8 abstract_origin function_decl 0x771d6700 POVMS_AssertFunction
arguments parm_decl 0x77eceaa0 str
type pointer_type 0x771d82a0 type integer_type 0x771d8000
char
unsigned DI
size integer_cst 0x77ec77d0 constant 64
unit size integer_cst 0x77ec77f8 constant 8
align 64 symtab 0 alias set -1 canonical type 0x771d82a0
used unsigned DI file b.ii line 39 col 54 size integer_cst
0x77ec77d0 64 unit size integer_cst 0x77ec77f8 8
align 64 context function_decl 0x771d6600
_Z20POVMS_AssertFunctioniPKcS0_i.part.0 abstract_origin parm_decl
0x77ece908 str arg-type pointer_type 0x771d82a0
chain parm_decl 0x77eceb28 filename type pointer_type
0x771d82a0
used unsigned DI file b.ii line 39 col 71 size integer_cst
0x77ec77d0 64 unit size integer_cst 0x77ec77f8 8
align 64 context function_decl 0x771d6600
_Z20POVMS_AssertFunctioniPKcS0_i.part.0 abstract_origin parm_decl
0x77ece990 filename arg-type pointer_type 0x771d82a0 chain
parm_decl 0x77ecebb0 line
result result_decl 0x77ed0380 D.2026 type integer_type
0x77ed8498
used ignored SI file b.ii line 39 col 89 size integer_cst
0x77ec7708 32 unit size integer_cst 0x77ec7410 4
align 32 context function_decl 0x771d6600
_Z20POVMS_AssertFunctioniPKcS0_i.part.0 abstract_origin result_decl
0x77ed0300 D.2022
 Instead of: function_decl 0x771d6600
_Z20POVMS_AssertFunctioniPKcS0_i.part.0
type function_type 0x771d81f8
type integer_type 0x77ed8498 public SI
size integer_cst 0x77ec7708 constant 32
unit size integer_cst 0x77ec7410 constant 4
align 32 symtab 0 alias set -1 canonical type 0x77ed8498
precision 32 min integer_cst 0x77ec7690 -2147483648 max integer_cst
0x77ec76b8 2147483647
pointer_to_this pointer_type 0x77ee53f0
QI
size integer_cst 0x77ec74d8 constant 8
unit size integer_cst 0x77ec7500 constant 1
align 8 symtab 0 alias set -1 canonical type 0x771d81f8
arg-types tree_list 0x771cfe38 value pointer_type 0x771d82a0
chain tree_list 0x771cfe60 value pointer_type 0x771d82a0
chain tree_list 0x771cfe88 value integer_type
0x77ed8498
chain tree_list 0x77ec7fa0 value void_type
0x77ed8d20
pointer_to_this pointer_type 0x771dfa80
addressable used static QI file b.ii line 39 col 11 align 8 initial block
0x771f6478 abstract_origin function_decl 0x771d6700
POVMS_AssertFunction
arguments parm_decl 0x77eceaa0 str
type pointer_type 0x771d82a0 type integer_type 0x771d8000
char
unsigned DI
size integer_cst 0x77ec77d0 constant 64
unit size integer_cst 0x77ec77f8 constant 8
align 64 symtab 0 alias set -1 canonical type 0x771d82a0
used unsigned DI file b.ii line 39 col 54 size integer_cst
0x77ec77d0 64 unit size integer_cst 0x77ec77f8 8
align 64 context function_decl 0x771d6600
_Z20POVMS_AssertFunctioniPKcS0_i.part.0 abstract_origin parm_decl
0x77ece908 str arg-type pointer_type 0x771d82a0
chain parm_decl 0x77eceb28 filename type pointer_type
0x771d82a0
used unsigned DI file b.ii line 39 col 71 size integer_cst
0x77ec77d0 64 unit size integer_cst 0x77ec77f8 8
align 64 context function_decl 0x771d6600
_Z20POVMS_AssertFunctioniPKcS0_i.part.0 abstract_origin parm_decl
0x77ece990 filename arg-type pointer_type 0x771d82a0 chain
parm_decl 0x77ecebb0 line
result result_decl 0x77ed0380 D.2026 type integer_type
0x77ed8498
used ignored SI file b.ii line 39 col 89 size 

[Bug lto/45679] ICE at lto1: error: edge points to wrong declaration while compiling povray

2010-09-15 Thread hubicka at gcc dot gnu dot org


--- Comment #1 from hubicka at gcc dot gnu dot org  2010-09-15 15:16 ---
Created an attachment (id=21802)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21802action=view)
first part of testcase


-- 


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



[Bug lto/45679] ICE at lto1: error: edge points to wrong declaration while compiling povray

2010-09-15 Thread hubicka at gcc dot gnu dot org


--- Comment #2 from hubicka at gcc dot gnu dot org  2010-09-15 15:17 ---
Created an attachment (id=21803)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21803action=view)
second part of testcase


-- 


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



[Bug fortran/45659] LTO / function pointers with iso_c_binding

2010-09-15 Thread Joost dot VandeVondele at pci dot uzh dot ch


--- Comment #6 from Joost dot VandeVondele at pci dot uzh dot ch  
2010-09-15 15:17 ---
OK, fixed with using CVS binutils...

ld -v
GNU gold (GNU Binutils 2.20.51.20100915) 1.10


-- 

Joost dot VandeVondele at pci dot uzh dot ch changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug bootstrap/45658] [4.6 regression] Comparison failure in gcc/ada/ali.o on Solaris 2/SPARC

2010-09-15 Thread ro at CeBiTec dot Uni-Bielefeld dot DE


--- Comment #1 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-15 
15:34 ---
Subject: Re:   New: [4.6 regression] Comparison failure in gcc/ada/ali.o on
Solaris 2/SPARC

A reghunt identified the responsible patch:

2010-09-10  Jan Hubicka  j...@suse.cz

* tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.

Reghunting was a nightmare in this case since there was lots of
intermediate breakage which left the tree unbuildable for unrelated
reasons.


-- 


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



[Bug fortran/45674] [OOP] Undefined references for extended types

2010-09-15 Thread dietmar dot ebner at gmail dot com


--- Comment #3 from dietmar dot ebner at gmail dot com  2010-09-15 15:36 
---
(In reply to comment #2)
 Actually I think this patch is ok. Are you interested in committing it
 yourself? [Note that you'll need an FSF copyright assignment, if you don't
 already have one.] Otherwise I can commit it for you.
I don't have the copyright assignment in place so please go ahead and do it.

Thanks for the quick fix!


-- 


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



[Bug bootstrap/45658] [4.6 regression] Comparison failure in gcc/ada/ali.o on Solaris 2/SPARC

2010-09-15 Thread ro at gcc dot gnu dot org


--- Comment #2 from ro at gcc dot gnu dot org  2010-09-15 15:37 ---
Jan, this is the second of your recent patches (after PR bootstrap/45612) to
break Ada/SPARC bootstrap.  Could you please have a look?

Thanks.
  Rainer


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-15 15:37:16
   date||


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



[Bug c++/45635] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2010-09-15 15:40 ---
Subject: Bug 45635

Author: jakub
Date: Wed Sep 15 15:39:57 2010
New Revision: 164311

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164311
Log:
PR c++/45635
* class.c (build_vtbl_initializer): Use fn instead of init's operand
as first argument to FDESC_EXPR.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c


-- 


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



[Bug tree-optimization/45633] [4.6 regression] internal compiler error: verify_stmts failed

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2010-09-15 15:43 ---
Subject: Bug 45633

Author: jakub
Date: Wed Sep 15 15:42:41 2010
New Revision: 164312

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164312
Log:
PR tree-optimization/45633
* tree-cfg.c (verify_gimple_assign_binary): Allow
MINUS_EXPR with lhs and rhs1 pointer vector and
rhs2 sizetype vector.
* expr.c (expand_expr_real_2) case PLUS_EXPR: For pointer
or vector pointer use TER to optimize pointer subtraction.

* gcc.dg/vect/pr45633.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/vect/pr45633.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c


-- 


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



[Bug c++/45635] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #12 from jakub at gcc dot gnu dot org  2010-09-15 15:54 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/45644] [4.6 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2010-09-15 Thread jamborm at gcc dot gnu dot org


--- Comment #7 from jamborm at gcc dot gnu dot org  2010-09-15 16:00 ---
Subject: Bug 45644

Author: jamborm
Date: Wed Sep 15 15:59:27 2010
New Revision: 164313

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164313
Log:
2010-09-15  Martin Jambor  mjam...@suse.cz

PR middle-end/45644
* tree-sra.c (create_access): Check for bit-fields directly.

* testsuite/gcc.dg/ipa/pr45644.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/ipa/pr45644.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-sra.c


-- 


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



[Bug tree-optimization/45633] [4.6 regression] internal compiler error: verify_stmts failed

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2010-09-15 16:06 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/45644] [4.6 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2010-09-15 Thread jamborm at gcc dot gnu dot org


--- Comment #8 from jamborm at gcc dot gnu dot org  2010-09-15 16:06 ---
Fixed.


-- 

jamborm at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread dwitte at mozilla dot com


--- Comment #2 from dwitte at mozilla dot com  2010-09-15 16:17 ---
I'd recommend upstreaming things directly to the maintainer, Anthony Green
(that's what I do). If you'd like, close this out, and post the patch to
libffi-disc...@sourceware.org and CC gr...@redhat.com?


-- 

dwitte at mozilla dot com changed:

   What|Removed |Added

 CC||dwitte at mozilla dot com


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread dwitte at mozilla dot com


--- Comment #3 from dwitte at mozilla dot com  2010-09-15 16:18 ---
(Oh, and please include a description of your change in ChangeLog -- makes his
job easier.)


-- 


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-09-15 17:07 ---
That patch looks wrong.  The padding for alignment must be done before the
arguments, not after them.
Say if bytes is 24 at the start of one iteration, cif-arg_types[i]-alignment
is 32 and cif-arg_types[i]-size is 40, currently it would correctly
first pad bytes to 32 and then increase it 72, while with your patch
it will be 64.
What we need is to make sure  8 byte arguments have the whole word assigned
for them.  As alignment is always set to at least 8, it is enough to add this
final padding just at the end, so I think the right fix is:
--- libffi/src/x86/ffi64.c 2010-08-11 21:08:14.0 +0200
+++ libffi/src/x86/ffi64.c 2010-09-15 19:05:16.573717651 +0200
@@ -390,7 +390,7 @@ ffi_prep_cif_machdep (ffi_cif *cif)
   if (ssecount)
 flags |= 1  11;
   cif-flags = flags;
-  cif-bytes = bytes;
+  cif-bytes = ALIGN (bytes, 8);

   return FFI_OK;
 }


-- 


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread dwitte at mozilla dot com


--- Comment #5 from dwitte at mozilla dot com  2010-09-15 17:24 ---
Yeah, that sounds right to me. The final alignment really wants to be the
alignment of whatever comes next, right? Which happens to be cif-flags, so 8
is fine. I wonder if just assuming 8 is fragile, but since we'll only ever have
integers or pointers on the stack, it should be OK?


-- 


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



[Bug bootstrap/45680] New: [4.6 regression] cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing

2010-09-15 Thread ro at gcc dot gnu dot org
Between 20100908 and 20100915, mainline failed to bootstrap on Solaris 9/x86
with Sun as: cc1 doesn't link any more due to an undefined referenced to
min_insn_size.

This is most likely from this patch

2010-09-09  Reza Yazdani  reza.yazd...@amd.com

* config/i386/i386.c: Include sched-int.h.
(TARGET_SCHED_DISPATCH): Defined.
(TARGET_SCHED_DISPATCH_DO): Defined.
(DISPATCH_WINDOW_SIZE): Defined.
(MAX_DISPATCH_WINDOWS): Defined.
[...]

which contains several new references to min_insn_size and the only recent one
to add such calls.

Reza, could you please have a look?


-- 
   Summary: [4.6 regression] cc1 fails to link on Solaris 9/x86 with
Sun as: min_insn_size missing
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: i386-pc-solaris2.9
  GCC host triplet: i386-pc-solaris2.9
GCC target triplet: i386-pc-solaris2.9


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



I know it is roaring at the gods, Waiting t

2010-09-15 Thread Donel Hazell

Em bare And gripped the ground and grasped the air, Staggered, and
strove to stand. He bent them back
with spear and spade, With desperate dyke and wall, With foemen
leaning on his shield And roaring on him when he reeled; And no help
came at all. He

broke them with a broken sword A little towards the sea, And
for one hour of panting
peace, Ringed with a roar that would not cease, With golden crown

and girded
fleece Made laws under a tree. The Northmen came about our land A
Christless

chivalry: Who knew not of the
arch or pen, Great, beautiful half-witted men From the sunrise and the
sea. Misshapen ships stood on the deep Full of strange gold and
fire, And hairy men,
as huge as sin With horned heads, came wading in Through the long, low
sea-mire. Our towns were shaken of tall kings With scarlet beards like
blood: The
world turned empty where they
trod, They took the kindly cross of God And cut it up for wood. Their
souls were drifting as the sea, And all good towns and lands They only
saw with heavy eyes, And broke with heavy hands, Their gods were
sadder than the sea, Gods of a w
attachment: sunsuit.jpg


[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2010-09-15 17:51 ---
No, the 8 in the final ALIGN is because that's the stack word size, everything
smaller than that is passed as low bits of the whole 64-bit word.


-- 


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



[Bug libffi/45677] Bad stack allocation for ffi function calls on x86-64

2010-09-15 Thread mh+gcc at glandium dot org


--- Comment #7 from mh+gcc at glandium dot org  2010-09-15 18:13 ---
Nice catch. BTW I read recently that gcc 4.5 assumes 16 bytes stack alignment,
is that x86 only or does that apply to x86-64 too ? (in which case we'd need to
be careful about that as well)


-- 


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



[Bug fortran/45681] New: internal compiler error: in make_decl_rtl, at varasm.c:1297

2010-09-15 Thread jteg68 at gmail dot com
ICE on buggy? code.

#cat buggy.f
  integer function fcall(c,n)
  character*(n) c
  integer n
  character c2
  c2=c(1)
  return
  end


#gfortran buggy.f --save-temps
buggy.f: In function ‘fcall’:
buggy.f:1: internal compiler error: in make_decl_rtl, at varasm.c:1297
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.4/README.Bugs for instructions.

#cat buggy.s
.file   buggy.f

#gfortran -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-14'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-targets=all --with-arch-32=i586 --with-tune=generic
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.4.5 20100909 (prerelease) (Debian 4.4.4-14)


-- 
   Summary: internal compiler error: in make_decl_rtl, at
varasm.c:1297
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jteg68 at gmail dot com


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



[Bug bootstrap/45680] [4.6 regression] cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing

2010-09-15 Thread reza dot yazdani at amd dot com


--- Comment #1 from reza dot yazdani at amd dot com  2010-09-15 18:16 
---
Subject: RE:   New: [4.6 regression] cc1 fails to link
 on Solaris 9/x86 with Sun as: min_insn_size missing

I will and let you know.

Reza

-Original Message-
From: ro at gcc dot gnu dot org [mailto:gcc-bugzi...@gcc.gnu.org] 
Sent: Wednesday, September 15, 2010 10:28 AM
To: Yazdani, Reza
Subject: [Bug bootstrap/45680] New: [4.6 regression] cc1 fails to link on
Solaris 9/x86 with Sun as: min_insn_size missing

Between 20100908 and 20100915, mainline failed to bootstrap on Solaris 9/x86
with Sun as: cc1 doesn't link any more due to an undefined referenced to
min_insn_size.

This is most likely from this patch

2010-09-09  Reza Yazdani  reza.yazd...@amd.com

* config/i386/i386.c: Include sched-int.h.
(TARGET_SCHED_DISPATCH): Defined.
(TARGET_SCHED_DISPATCH_DO): Defined.
(DISPATCH_WINDOW_SIZE): Defined.
(MAX_DISPATCH_WINDOWS): Defined.
[...]

which contains several new references to min_insn_size and the only recent one
to add such calls.

Reza, could you please have a look?


-- 
   Summary: [4.6 regression] cc1 fails to link on Solaris 9/x86 with
Sun as: min_insn_size missing
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: i386-pc-solaris2.9
  GCC host triplet: i386-pc-solaris2.9
GCC target triplet: i386-pc-solaris2.9


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

--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who is.


-- 


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



  1   2   >