[Bug bootstrap/45206] New: [4.6 regression] ICE in ix86_expand_epilogue compiling libgcc

2010-08-06 Thread ebotcazou at gcc dot gnu dot org
The error is:

/home/eric/gnat/gnat-head/native32/./gcc/xgcc
-B/home/eric/gnat/gnat-head/native32/./gcc/
-B/home/eric/install/gnat-head/i586-suse-linux/bin/
-B/home/eric/install/gnat-head/i586-suse-linux/lib/ -isystem
/home/eric/install/gnat-head/i586-suse-linux/include -isystem
/home/eric/install/gnat-head/i586-suse-linux/sys-include-g -O2 -O2  -g -O2
-DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I.
-I../.././gcc -I/home/eric/gnat/gnat-head/src/libgcc
-I/home/eric/gnat/gnat-head/src/libgcc/.
-I/home/eric/gnat/gnat-head/src/libgcc/../gcc
-I/home/eric/gnat/gnat-head/src/libgcc/../include
-I/home/eric/gnat/gnat-head/src/libgcc/config/libbid
-DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS  -DUSE_TLS -o unwind-dw2.o -MT
unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c
/home/eric/gnat/gnat-head/src/libgcc/../gcc/unwind-dw2.c -fvisibility=hidden
-DHIDE_EXPORTS
In file included from
/home/eric/gnat/gnat-head/src/libgcc/../gcc/unwind-dw2.c:1582:0:
/home/eric/gnat/gnat-head/src/libgcc/../gcc/unwind.inc: In function
'_Unwind_RaiseException':
/home/eric/gnat/gnat-head/src/libgcc/../gcc/unwind.inc:136:1: internal compiler
error: in ix86_expand_epilogue, at config/i386/i386.c:10178
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[3]: *** [unwind-dw2.o] Error 1

Preprocessed file to be attached, compile with -mtune=i586.


-- 
   Summary: [4.6 regression] ICE in ix86_expand_epilogue compiling
libgcc
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ebotcazou at gcc dot gnu dot org
 GCC build triplet: i586-*-*
  GCC host triplet: i586-*-*
GCC target triplet: i586-*-*


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



[Bug bootstrap/45206] [4.6 regression] ICE in ix86_expand_epilogue compiling libgcc

2010-08-06 Thread ebotcazou at gcc dot gnu dot org


--- Comment #1 from ebotcazou at gcc dot gnu dot org  2010-08-06 06:21 
---
Created an attachment (id=21420)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21420action=view)
Preprocessed file.


-- 


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



[Bug libstdc++/45202] Strict aliasing warning in stl_tree (returning a copy of a set from a member function in a loop)

2010-08-06 Thread paolo dot carlini at oracle dot com


--- Comment #5 from paolo dot carlini at oracle dot com  2010-08-06 06:53 
---


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


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/42032] Aliasing errors in stl_tree.h

2010-08-06 Thread paolo dot carlini at oracle dot com


--- Comment #9 from paolo dot carlini at oracle dot com  2010-08-06 06:53 
---
*** Bug 45202 has been marked as a duplicate of this bug. ***


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||eric_moyer at yahoo dot com


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bonzini at gnu dot org


--- Comment #68 from bonzini at gnu dot org  2010-08-06 07:07 ---
fwprop.c doesn't handle it directly, but local_ref_killed_between_p should see
defs created by df-scan.c for each hard register in regs_invalidated_by_call
(see df_get_call_refs).

Also, since fwprop can lengthen lifetimes arbitrarily (though this wouldn't
happen often) propagate_rtx actually forbids copy propagation of hard
registers:

  if (REG_P (new_rtx)  REGNO (new_rtx)  FIRST_PSEUDO_REGISTER)
return NULL_RTX;


-- 


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



[Bug c/44803] LIBRARY_PATH should work on cross-compilers

2010-08-06 Thread felipe dot contreras at gmail dot com


--- Comment #2 from felipe dot contreras at gmail dot com  2010-08-06 07:08 
---
(In reply to comment #1)
 ? (you have to give some more details)

What exactly do you need?

From the manpage
 LIBRARY_PATH
  The value of LIBRARY_PATH is a colon-separated list of directories, much like
PATH.  When configured as a native compiler, GCC
  tries the directories thus specified when searching for special linker files,
if it can’t find them using GCC_EXEC_PREFIX.  Linking
  using GCC also uses these directories when searching for ordinary libraries
for the -l option (but directories specified with -L
  come first).

I confirm that LIBRARY_PATH is ignored by CodeSourcery cross-compiler, and I
don't see why. Wouldn't LIBRARY_PATH be specially useful for cross-comilation?


-- 

felipe dot contreras at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |felipe dot contreras at
   |dot org |gmail dot com
 Status|WAITING |UNCONFIRMED


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



[Bug c/45207] New: The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread fredrik dot hederstierna at securitas-direct dot com
We have problems with GCC-4.5.0 and GCC-4.5.1 for ARM when using the -Os
optimizer flag. The code crashes due to what seems to be undefined instruction
exception.

If we instead use -O1 or -O2 it works fine. Also GCC-4.3.x and GCC-4.4.x
works well.

I also tried to add all excluded -O2 flags when compiling with -Os but this
gave still wrong code.

Our CFLAGS:
-g3 -ggdb3 -gdwarf-2 -mthumb -c -Wall -W -Wextra -Wno-unused-parameter
-mcpu=arm966e-s -Os -mhard-float -mfpu=fpa -ffunction-sections -fdata-sections

I attach build-script for our arm-elf-toolchain built on an intel machine.

Also arm-elf-gdb 7.1 complaints about the elf file when trying to debug:

warning: (Internal error: pc 0x4a42c in read in psymtab, but not in symtab.)

Thanks and Best Regards,
Fredrik Hederstierna


-- 
   Summary: The -Os flag generates wrong code for ARM966e-s
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fredrik dot hederstierna at securitas-direct dot com
GCC target triplet: arm-elf-gcc


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



[Bug c/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread fredrik dot hederstierna at securitas-direct dot com


--- Comment #1 from fredrik dot hederstierna at securitas-direct dot com  
2010-08-06 07:20 ---
Created an attachment (id=21421)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21421action=view)
Script to build arm-elf toolchain


-- 


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



[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #52 from dominiq at lps dot ens dot fr  2010-08-06 07:33 ---
The miscompilation with -m64 is back at revision 162879.


-- 


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



[Bug target/45205] printf does not print some long doubles correctly

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2010-08-06 07:46 ---
The test works here with:

Using built-in specs.
Target: powerpc-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5493~1/src/configure --disable-checking
-enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=i686-apple-darwin9 --program-prefix= --host=powerpc-apple-darwin9
--target=powerpc-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)

and also with all the FSF gcc versions I have tried.

It looks like a bug in 10.4  which will probably never be fixed. Any reason not
to upgrade your system to 10.5 or 10.6?


-- 


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



[Bug target/45205] printf does not print some long doubles correctly

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2010-08-06 07:49 ---
 to upgrade your system to 10.5 or 10.6?

I just realized that 10.6 requires an Intel proc!-)


-- 


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



[Bug target/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-08-06 07:52 ---
Have you tried compiling with -fno-strict-aliasing ?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |target
   Keywords||wrong-code


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



[Bug target/45208] New: powerpc-gcc -msdata breakdown on incomplete initializers

2010-08-06 Thread corsepiu at gcc dot gnu dot org
When compiling the code-snippet below with powerpc-*-gcc -msdata,
this error happens:

# powerpc-rtems4.11-gcc -c test.c -o test.o -msdata
test.c:10: error: rtems_filesystem_mount_table_size causes a section type
conflict

--- snip ---
int pipe (int __fildes[2] );

void Init( void )
{
  int fd[2] = {0};

  pipe( fd );
}

const int rtems_filesystem_mount_table_size = 1;
--- snip ---

This error does not happen, when
- compiling this snippet without -msdata
- expanding int fd[2] = {0}; into int fd[2] = {0,0};

I am able to reproduce this bug with GCC 4.2.4, 4.3.2, 4.4.4, 4.5.1,
all targetting powerpc-rtems.


-- 
   Summary: powerpc-gcc -msdata breakdown on incomplete initializers
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: corsepiu at gcc dot gnu dot org
GCC target triplet: powerpc-rtems*, powerpc-elf*


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



[Bug tree-optimization/45195] incorrect array subscript above bounds warning

2010-08-06 Thread rahul at icerasemi dot com


--- Comment #2 from rahul at icerasemi dot com  2010-08-06 08:01 ---
Confirmed, fix for PR41317 avoids forwarding ARRAY_REFs to their use and fixes
this issue. Does this fix hinder any optimizations?


-- 


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



[Bug c/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread fredrik dot hederstierna at securitas-direct dot com


--- Comment #3 from fredrik dot hederstierna at securitas-direct dot com  
2010-08-06 08:36 ---
(In reply to comment #2)
 Have you tried compiling with -fno-strict-aliasing ?

I've tried it now, and it made no difference I'm afraid.
The code got slightly bigger, but behavior is the same as previously.
/Fredrik


-- 

fredrik dot hederstierna at securitas-direct dot com changed:

   What|Removed |Added

 CC||fredrik dot hederstierna at
   ||securitas-direct dot com
  Component|target  |c


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



[Bug fortran/44232] function result with pointer to strided component of argument

2010-08-06 Thread fxcoudert at gcc dot gnu dot org


--- Comment #12 from fxcoudert at gcc dot gnu dot org  2010-08-06 09:05 
---
(In reply to comment #8)
 Hmm.  I've now built gfortran 4.5.1  20100521 (from the branch) and still have
 the same internal compiler error.

I have gcc 4.5.1 20100506 on x86_64-apple-darwin10.3.0, and it compiles fine.
The Fortran patches between my version and yours are:

--
Revision 159556
2010-05-19  Tobias Burnus  bur...@net-b.de

PR fortran/43591
* expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
proc-pointers and type-bound procedures.
(gfc_specification_expr): Check proc-pointers for pureness.


Revision 159417
2010-05-14  Steven G. Kargl  ka...@gcc.gnu.org

PR fortran/44135
* fortran/interface.c (get_sym_storage_size): Use signed instead of
unsigned mpz_get_?i routines.


Revision 159363
PR fortran/44036
* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
variable lists.
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
by reference dummy procedures or non-dummy procedure pointers.
(gfc_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.


Revision 159306
2010-05-12  Daniel Franke  franke.dan...@gmail.com

PR fortran/40728
* intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
as external.


Revision 159101
2010-05-06  Tobias Burnus  bur...@net-b.de

PR fortran/43985
* trans-types.c (gfc_sym_type): Mark Cray pointees as
GFC_POINTER_TYPE_P.
--


None of these look like they could be it. It could be something outside the
Fortran front-end, or a 32/64-bit issue (but then, we'd probably see it on
32-bit linux too).

If you have time, can you:

  1. Using gfortran -v, isolate the invocation of the compiler itself, f951
  2. Copy-paste this command-line and run it under gdb: gdb -args [command
line here]
  3. When it aborts, backtrace (command bt) and copy-paste the output of gdb.

This will give information on where to look.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code


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



[Bug c/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread fredrik dot hederstierna at securitas-direct dot com


--- Comment #4 from fredrik dot hederstierna at securitas-direct dot com  
2010-08-06 09:09 ---
Hm, I now tried to disable all possible optimization flags, but still -Os
does not work, but -O2 still works!

Does the -Os option do anything more that is not controllable from command
line options/flags?

# Disable O1 flags
CFLAGS  +=   -fno-auto-inc-dec 
CFLAGS  +=   -fno-cprop-registers 
CFLAGS  +=   -fno-dce 
CFLAGS  +=   -fno-defer-pop 
CFLAGS  +=   -fno-delayed-branch 
CFLAGS  +=   -fno-dse 
CFLAGS  +=   -fno-guess-branch-probability 
CFLAGS  +=   -fno-if-conversion2 
CFLAGS  +=   -fno-if-conversion 
CFLAGS  +=   -fno-ipa-pure-const 
CFLAGS  +=   -fno-ipa-reference 
CFLAGS  +=   -fno-merge-constants
CFLAGS  +=   -fno-split-wide-types 
CFLAGS  +=   -fno-tree-builtin-call-dce 
CFLAGS  +=   -fno-tree-ccp 
CFLAGS  +=   -fno-tree-ch 
CFLAGS  +=   -fno-tree-copyrename 
CFLAGS  +=   -fno-tree-dce 
CFLAGS  +=   -fno-tree-dominator-opts 
CFLAGS  +=   -fno-tree-dse 
CFLAGS  +=   -fno-tree-forwprop 
CFLAGS  +=   -fno-tree-fre 
CFLAGS  +=   -fno-tree-phiprop 
CFLAGS  +=   -fno-tree-sra 
CFLAGS  +=   -fno-tree-pta 
CFLAGS  +=   -fno-tree-ter 
CFLAGS  +=   -fno-unit-at-a-time

# Disable O2 flags
CFLAGS  +=   -fno-thread-jumps 
CFLAGS  +=   -fno-align-functions  -fno-align-jumps 
CFLAGS  +=   -fno-align-loops  -fno-align-labels 
CFLAGS  +=   -fno-caller-saves 
CFLAGS  +=   -fno-crossjumping 
CFLAGS  +=   -fno-cse-follow-jumps  -fno-cse-skip-blocks 
CFLAGS  +=   -fno-delete-null-pointer-checks 
CFLAGS  +=   -fno-expensive-optimizations 
CFLAGS  +=   -fno-gcse  -fno-gcse-lm  
CFLAGS  +=   -fno-inline-small-functions 
CFLAGS  +=   -fno-indirect-inlining 
CFLAGS  +=   -fno-ipa-sra 
CFLAGS  +=   -fno-optimize-sibling-calls 
CFLAGS  +=   -fno-peephole2 
CFLAGS  +=   -fno-regmove 
CFLAGS  +=   -fno-reorder-blocks  -fno-reorder-functions 
CFLAGS  +=   -fno-rerun-cse-after-loop  
CFLAGS  +=   -fno-sched-interblock  -fno-sched-spec 
CFLAGS  +=   -fno-schedule-insns  -fno-schedule-insns2 
CFLAGS  +=   -fno-strict-aliasing -fno-strict-overflow 
CFLAGS  +=   -fno-tree-switch-conversion 
CFLAGS  +=   -fno-tree-pre 
CFLAGS  +=   -fno-tree-vrp

# Disable flags for debugging purposes
CFLAGS  +=   -fno-omit-frame-pointer -fno-web

The code size increased alot when disabling all this options.

/Fredrik


-- 


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



[Bug c/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread ramana at gcc dot gnu dot org


--- Comment #5 from ramana at gcc dot gnu dot org  2010-08-06 09:13 ---
If you don't give us a testcase we can't verify / see what's going wrong here.
Please report bugs as described here. http://gcc.gnu.org/bugs/ .

Thanks,
Ramana


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bernds at gcc dot gnu dot org


--- Comment #69 from bernds at gcc dot gnu dot org  2010-08-06 09:29 ---
(In reply to comment #68)

 Also, since fwprop can lengthen lifetimes arbitrarily (though this wouldn't
 happen often) propagate_rtx actually forbids copy propagation of hard
 registers:
 
   if (REG_P (new_rtx)  REGNO (new_rtx)  FIRST_PSEUDO_REGISTER)
 return NULL_RTX;

Clearly that isn't working.  Maybe it's because we have (zero_extend
(hardreg))?


-- 


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bonzini at gnu dot org


--- Comment #70 from bonzini at gnu dot org  2010-08-06 09:54 ---
The real reason is the first: why is there no def for r25?


-- 


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bernds at codesourcery dot com


--- Comment #71 from bernds at codesourcery dot com  2010-08-06 09:57 
---
Subject: Re:  [4.6 regression] Revision 162270 failed
 to bootstrap

On 08/06/2010 11:54 AM, bonzini at gnu dot org wrote:
 --- Comment #70 from bonzini at gnu dot org  2010-08-06 09:54 ---
 The real reason is the first: why is there no def for r25?

Because it's an incoming argument.


-- 


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bonzini at gnu dot org


--- Comment #72 from bonzini at gnu dot org  2010-08-06 10:00 ---
No, why is there no def for r25 _where it is clobbered_?


-- 


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bernds at codesourcery dot com


--- Comment #73 from bernds at codesourcery dot com  2010-08-06 10:27 
---
Subject: Re:  [4.6 regression] Revision 162270 failed
 to bootstrap

On 08/06/2010 12:00 PM, bonzini at gnu dot org wrote:
 --- Comment #72 from bonzini at gnu dot org  2010-08-06 10:00 ---
 No, why is there no def for r25 _where it is clobbered_?

There is.  The problem seems to be that we first propagate into insn 15,
which then looks like

(insn 15 14 16 3 (set (reg:DI 67 [ obj.8+-4 ])
(sign_extend:DI (reg:SI 25 %r25 [ obj ])))
../../gcc/gcc/cfg.c:1211 139 {extendsidi2}
 (expr_list:REG_DEAD (reg/v:DI 74 [ obj+-4 ])
(nil)))

and from there, we propagate into another insn.  However, at this point,
insn 15 has no uses associated with it, so all_uses_available_at returns
true without doing anything.


-- 


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



[Bug c/45204] gcc generates incorrect code

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-08-06 10:28 ---
We need a testcase.  Also please try -fno-strict-aliasing if you know the
code is bogus.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug c++/45201] ICE: stack overflow during debug information generation

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-06 10:37 ---
Works for me on x86_64-linux with -m32.


-- 


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



[Bug bootstrap/45206] [4.6 regression] ICE in ix86_expand_epilogue compiling libgcc

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-08-06 11:06 ---
Confirmed.

struct _Unwind_Context { void *ra; };
void _Unwind_RaiseException(void)
{
  struct _Unwind_Context this_context, cur_context;
  long offset = uw_install_context_1 ((this_context), (cur_context));
  void *handler = __builtin_frob_return_addr ((cur_context)-ra);
  __builtin_eh_return (offset, handler);
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 11:06:16
   date||
   Target Milestone|--- |4.6.0


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



[Bug middle-end/44121] [4.6 Regression] multiple char-related fails.

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #18 from dominiq at lps dot ens dot fr  2010-08-06 11:08 ---
AFAICT this pr seems to have been fixed between revisions 162881 (fail) and
162920 (OK) at least on x86_64-apple-darwin10.4.0 (-m32 and -m64) and
powerpc-apple-darwin9 (-m32, see
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg00530.html ).


-- 


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



[Bug tree-optimization/45199] [4.6 Regression] ICE in loop distribution at -O3

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-06 11:11 ---
Confirmed.

Program received signal SIGSEGV, Segmentation fault.
0x00b6a1e4 in gimple_bb (g=0x0)
at /space/rguenther/src/svn/trunk/gcc/gimple.h:1148
1148  return g-gsbase.bb;
(gdb) up
#1  0x00b6af64 in find_uses_to_rename_use (bb=0x75b010d0, 
use=0x75aeb058, use_blocks=0x1868620, need_phis=0x186ada8)
at /space/rguenther/src/svn/trunk/gcc/tree-ssa-loop-manip.c:247
247   def_bb = gimple_bb (SSA_NAME_DEF_STMT (use));
(gdb) p use
$1 = (tree) 0x75aeb058
(gdb) call debug_tree ($1)
 ssa_name 0x75aeb058 nothrow var var_decl 0x75ad9dc0 D.1597def_stmt 

version 7 in-free-list


-- 

rguenth 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-08-06 11:11:19
   date||
Summary|ICE in loop distribution|[4.6 Regression] ICE in loop
   ||distribution at -O3
   Target Milestone|--- |4.6.0


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



[Bug c/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread fredrik dot hederstierna at securitas-direct dot com


--- Comment #6 from fredrik dot hederstierna at securitas-direct dot com  
2010-08-06 12:06 ---
Yes you are right, unfortunately I just had problems to break out any small
test case from our sources.

I think I found out what is the source of the problems.
The -Os disable alignment of functions. In some case I try to force alignment

void __attribute__((aligned(4))) _irq_off(void);

since we have some thumb-arm trampoline functions to modify cpu-flags.
I guess somehow some functions got thumb-aligned, but I try to investigate this
further.

/Fredrik


-- 


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



[Bug middle-end/44121] [4.6 Regression] multiple char-related fails.

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #19 from dominiq at lps dot ens dot fr  2010-08-06 12:48 ---
From IRC:
martinj dominiq: r162911 and r162912 ...and no other recent change seems
relevant
 martinj dominiq: whether the bug is fixed or just hidden, I can't really
tell at the moment


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||mjambor at suse dot cz


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



[Bug c++/45209] New: coredump in exception handling (gcc44, FreeBSD 7.2)

2010-08-06 Thread skylanderr at gmail dot com
Hello,

I have coredump for exception handling in a c++ program using dynamic library. 
I wrote the minimal application using dlopen to load a libtest_so.so and
execute functions in so with dlsym. In the libtest_so.so I throw an exception
and try to catch it. 

Source code:
1) main application test_exception (test.cpp)  

#include cstdio
#include dlfcn.h

typedef void (*TFuncVoid)();

int main() {
void* testlib = dlopen(./libtest_so.so, RTLD_NOW | RTLD_GLOBAL);

TFuncVoid FFunc = 0;
FFunc = TFuncVoid(dlsym(testlib, ThrowCatchException));
if (FFunc) {
try {
FFunc();
} catch (...) {
printf(Catched in test.cpp. \n);
}
}

return 0;
}

2) library libtest_so.so (test_so.cpp)

#include cstdio

extern C void ThrowCatchException() {
try {
throw 5;
} catch (int) {
printf(catch (int): la-la-la \n);
} catch (...) {
printf(catch (...): la-la-la \n);
}
}

3) Commands for compiling the application:
g++44 -g -Wall -fPIC -fexceptions
-DNATIVE_INCLUDE_PATH=/usr/local/lib/gcc44/include/c++/ -Iinclude_path_1
-Iinclude_path_2 -o CMakeFiles/test_exception.dir/test.cpp.o -c
path_to_src/test/test.cpp

g++44 -nostdlib /usr/lib/crt1.o /usr/lib/crti.o
/usr/local/lib/gcc44/gcc/x86_64-portbld-freebsd7.2/4.4.1/crtbegin.o -g -Wall
-fPIC -fexceptions -DNATIVE_INCLUDE_PATH=/usr/local/lib/gcc44/include/c++/
-Wl,-E  CMakeFiles/test_exception.dir/test.cpp.o  -o test_exception  
/usr/local/lib/gcc44/gcc/x86_64-portbld-freebsd7.2/4.4.1/../../../libsupc++.a
/usr/local/lib/gcc44/gcc/x86_64-portbld-freebsd7.2/4.4.1/libgcc.a
/usr/local/lib/gcc44/gcc/x86_64-portbld-freebsd7.2/4.4.1/libgcc_eh.a -lc -lm
/usr/local/lib/gcc44/gcc/x86_64-portbld-freebsd7.2/4.4.1/crtend.o
/usr/lib/crtn.o

4) Commands for compiling the library:
g++44 -g -Wall -fPIC -fexceptions
-DNATIVE_INCLUDE_PATH=/usr/local/lib/gcc44/include/c++/ -Iinclude_path_1
-Iinclude_path_2 -o CMakeFiles/test_so.dir/test_so.cpp.o -c
path_to_src/test_so.cpp

g++44 -fPIC -g -Wall -fexceptions
-DNATIVE_INCLUDE_PATH=/usr/local/lib/gcc44/include/c++/ -shared
-Wl,-soname,libtest_so.so -o libtest_so.so CMakeFiles/test_so.dir/test_so.cpp.o 

4) correct output (command ./test_exception):
catch (int): la-la-la

5) wrong result (command ./test_exception):
terminate called after throwing an instance of 'int'
Abort trap (core dumped)

6) my gcc configuration info (g++44 -v)
Using built-in specs.
Target: x86_64-portbld-freebsd7.2
Configured with: ./../gcc-4.4-20090616/configure --disable-nls
--with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local
--program-suffix=44 --libdir=/usr/local/lib/gcc44
--libexecdir=/usr/local/libexec/gcc44
--with-gxx-include-dir=/usr/local/lib/gcc44/include/c++/ --disable-libgcj
--prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc44
--build=x86_64-portbld-freebsd7.2
Thread model: posix
gcc version 4.4.1 20090616 (prerelease) (GCC)


-- 
   Summary: coredump in exception handling (gcc44, FreeBSD 7.2)
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: skylanderr at gmail dot com
  GCC host triplet: x86_64-unknown-freebsd7.2


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



[Bug c++/45209] coredump in exception handling (gcc44, FreeBSD 7.2)

2010-08-06 Thread skylanderr at gmail dot com


--- Comment #1 from skylanderr at gmail dot com  2010-08-06 13:14 ---
Created an attachment (id=21422)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21422action=view)
the preprocessed file for tha application


-- 


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



[Bug c++/45209] coredump in exception handling (gcc44, FreeBSD 7.2)

2010-08-06 Thread skylanderr at gmail dot com


--- Comment #2 from skylanderr at gmail dot com  2010-08-06 13:15 ---
Created an attachment (id=21423)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21423action=view)
the preprocessed file for the library


-- 


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



[Bug c/45204] gcc generates incorrect code

2010-08-06 Thread contact at philipashmore dot com


--- Comment #2 from contact at philipashmore dot com  2010-08-06 13:37 
---
It's exactly what I tried first - I know there are obvious cases as per your
frequently reported bugs section.
I wanted the compiler to tell me where the aliasing was occurring in these and
in
any less obvious places so I could disable aliasing optimizations in these
cases.

Currently it's missing even the ones the docs claims it should spot - pointer-
uintptr_t - pointer.

Previous release of treedb didn't need -fno-strict-aliasing, or did they?

If the compiler can't spot aliasing should -fno-strict-aliasing be the default?


-- 

contact at philipashmore dot com changed:

   What|Removed |Added

 CC||contact at philipashmore dot
   ||com
 Status|WAITING |UNCONFIRMED


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bonzini at gnu dot org


--- Comment #74 from bonzini at gnu dot org  2010-08-06 13:38 ---
Thanks for the help.  I'll look at it tomorrow/next week.


-- 


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



[Bug c/45204] gcc generates incorrect code

2010-08-06 Thread contact at philipashmore dot com


--- Comment #3 from contact at philipashmore dot com  2010-08-06 13:52 
---
Maybe I should add that the 0.6.0-beta1 release in GIT passed uintptr_t - sized
structures by value and the compiler spotted the aliasing, which is why I
introduced the pointer - uintptr_t - pointer hacks to begin with.

Without passing structs by value the compiler doesn't report the aliasing
problems.

I'm being sincere when I say that if the compiler really can't spot aliasing
problems then -fno-strict-aliasing should be on by default.


-- 


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



[Bug c/45204] gcc generates incorrect code

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-08-06 13:55 ---
(In reply to comment #3)
 Maybe I should add that the 0.6.0-beta1 release in GIT passed uintptr_t - 
 sized
 structures by value and the compiler spotted the aliasing, which is why I
 introduced the pointer - uintptr_t - pointer hacks to begin with.
 
 Without passing structs by value the compiler doesn't report the aliasing
 problems.
 
 I'm being sincere when I say that if the compiler really can't spot aliasing
 problems then -fno-strict-aliasing should be on by default.

The compiler can spot all aliasing that is permitted by the language standard.
If you are writing non-C code then you need to tell that to the compiler
via -fno-strict-aliasing.  Merely adding hacks to avoid the diagnostic
(which can't be perfect, if we could detect the aliasing we wouldn't
optimize based on the fact that it isn't there).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/45209] coredump in exception handling (gcc44, FreeBSD 7.2)

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-06 14:08 ---
Works on x86_64-linux.  I suspect that linking libgcc and libgcc_eh statically
causes the problem for you as I can reproduce the segfault when linking
the whole test application statically.  Thus, this sounds like an installation
problem on your side.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |target
 GCC target triplet||x86_64-unknown-freebsd7.2
Version|unknown |4.4.1


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



[Bug bootstrap/45174] Make fails in zlib

2010-08-06 Thread dschlic1 at gmail dot com


--- Comment #14 from dschlic1 at gmail dot com  2010-08-06 14:35 ---
Subject:  Make fails in zlib

Hello;
 Can you put that in layman's terms? I am using the standard GNU
linker and assembler. I run Ubuntu 10.04 LTS with all of the latest
patches.

Thank You,
Donald Schlicht

On Thu, Aug 5, 2010 at 1:01 PM, rwild at gcc dot gnu dot org
gcc-bugzi...@gcc.gnu.org wrote:


 --- Comment #13 from rwild at gcc dot gnu dot org  2010-08-05 17:01 
 ---
 config.log excerpt from zlib:

 configure:7903: result: yes
 configure:7936: checking whether the gcc  -m64 linker (ld) supports shared
 libraries
 configure:9020: result: yes
 configure:9265: checking dynamic linker characteristics
 configure:9710: error: Link tests are not allowed after GCC_NO_EXECUTABLES.

 which corresponds to this code in zlib/configure, from AC_PROG_LIBTOOL:

  lt_cv_shlibpath_overrides_runpath=no
    save_LDFLAGS=$LDFLAGS
    save_libdir=$libdir
    eval libdir=/foo; wl=\$lt_prog_compiler_wl\; \
         LDFLAGS=\\$LDFLAGS $hardcode_libdir_flag_spec\
    if test x$gcc_no_link = xyes; then
  as_fn_error Link tests are not allowed after GCC_NO_EXECUTABLES. $LINENO
 5


 Either GCC or the user needs to prime cache variables in the way this test
 shows:
 http://git.savannah.gnu.org/cgit/libtool.git/tree/tests/no-executables.at
 (There is currently one item missing there for AIX, which is relevant for GCC
 but irrelevant to this particular PR).

 This same issue supposedly holds for other GCC directories in which
 GCC_NO_EXECUTABLES is used; it might just be latent.

 Question is, what values the variables should be primed with.  In general,
 tough one.  In this specific case: find out whether your linker sets 
 DT_RUNPATH
 upon -Wl,-rpath (yes) or only DT_RPATH (no).  Pass
 lt_cv_shlibpath_overrides_runpath=no or =yes to configure accordingly.  Hmm.
 How can I ensure this primes the cache for host directories only?


-- 


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



[Bug libstdc++/45133] [c++0x] std::future will crash with NULL deref if get() is called twice

2010-08-06 Thread redi at gcc dot gnu dot org


--- Comment #4 from redi at gcc dot gnu dot org  2010-08-06 15:36 ---
The committee is currently in the middle of re-designing future::get so I'll
wait and see what happens.  It looks as though it's going to be renamed and
throw if called twice.


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|SUSPENDED


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



[Bug fortran/45210] New: compilation error

2010-08-06 Thread sliwa at blue dot cft dot edu dot pl
A subroutine fails to compile with an apparently incorrect error message. It is
a piece of the scientific software called nextnano3. I will attach it to this
bug.


-- 
   Summary: compilation error
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sliwa at blue dot cft dot edu dot pl
 GCC build triplet: x86_64-redhat-linux
  GCC host triplet: x86_64-redhat-linux
GCC target triplet: x86_64-redhat-linux


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



[Bug fortran/45210] compilation error

2010-08-06 Thread sliwa at blue dot cft dot edu dot pl


--- Comment #1 from sliwa at blue dot cft dot edu dot pl  2010-08-06 16:43 
---
Created an attachment (id=21424)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21424action=view)
p1.f90

first part of the test case


-- 


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



[Bug fortran/45210] compilation error

2010-08-06 Thread sliwa at blue dot cft dot edu dot pl


--- Comment #2 from sliwa at blue dot cft dot edu dot pl  2010-08-06 16:45 
---
Created an attachment (id=21425)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21425action=view)
second part of the test case

This file contains to routines. The error is reported in the first one, but
after removing the second one no error is reported.


-- 


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



[Bug fortran/45210] compilation error

2010-08-06 Thread sliwa at blue dot cft dot edu dot pl


--- Comment #3 from sliwa at blue dot cft dot edu dot pl  2010-08-06 16:49 
---

To reproduce:

1. gfortran -c p1.f90 (no message)

2. gfortran -c p2.f90

p2.f90:66.25:

 CALL ijk_to_i_j_k(i_j_k,i_j_k_fid,grid_size)
 1
Error: Rank mismatch in argument 'j' at (1) (0 and 1)


3. Now copy the first routine from p2.f90 to p2a.f90

gfortran -c p2a.f90 (no message)


-- 


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



[Bug fortran/45211] New: C interoperable error when compiling BIND(C) function in a module.

2010-08-06 Thread brtnfld at hdfgroup dot org
gfortran (all versions 4.2-4.5) reports the error when trying to compile code
below:

Error: Type 'link_info' at (1) is a parameter to the BIND(C)  procedure
'liter_cb' but is not C interoperable because derived type 'info_t' is not C
interoperable

when I remove the module and compile just the function it compiles fine. info_t
is interoperable with C


MODULE liter_cb_mod
USE ISO_C_BINDING
CONTAINS
  FUNCTION liter_cb(link_info) bind(C)
USE ISO_C_BINDING
IMPLICIT NONE

INTEGER(c_int) liter_cb

TYPE, bind(C) :: info_t
   INTEGER(c_int) :: type
END TYPE info_t

TYPE(info_t) :: link_info

liter_cb = 0

  END FUNCTION liter_cb

END MODULE liter_cb_mod


-- 
   Summary: C interoperable error when compiling BIND(C) function in
a module.
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: brtnfld at hdfgroup dot org


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



[Bug fortran/44660] [4.4 Regression] ICE in resolve_equivalence()

2010-08-06 Thread mikael at gcc dot gnu dot org


--- Comment #23 from mikael at gcc dot gnu dot org  2010-08-06 17:17 ---
Subject: Bug 44660

Author: mikael
Date: Fri Aug  6 17:17:37 2010
New Revision: 162949

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162949
Log:
2010-08-06  Mikael Morin  mik...@gcc.gnu.org

PR fortran/44660
* gfortran.h (gfc_namespace): New field old_equiv.
(gfc_free_equiv_until): New prototype.
* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
a parameterized stop condition.
(gfc_free_equiv): Use gfc_free_equiv_until.
* parse.c (next_statement): Save equivalence list.
(reject_statement): Restore equivalence list. 


Modified:
branches/gcc-4_4-branch/gcc/fortran/ChangeLog
branches/gcc-4_4-branch/gcc/fortran/gfortran.h
branches/gcc-4_4-branch/gcc/fortran/match.c
branches/gcc-4_4-branch/gcc/fortran/parse.c


-- 


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



[Bug fortran/44660] ICE in resolve_equivalence()

2010-08-06 Thread mikael at gcc dot gnu dot org


--- Comment #24 from mikael at gcc dot gnu dot org  2010-08-06 17:19 ---
One more down


-- 

mikael at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to fail|4.4.5   |
  Known to work|4.3.6 4.6.0 4.5.1   |4.3.6 4.4.5 4.5.1 4.6.0
 Resolution||FIXED
Summary|[4.4 Regression] ICE in |ICE in resolve_equivalence()
   |resolve_equivalence()   |


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



[Bug bootstrap/45174] Make fails in zlib

2010-08-06 Thread rwild at gcc dot gnu dot org


--- Comment #15 from rwild at gcc dot gnu dot org  2010-08-06 17:22 ---
(In reply to comment #14)
  Can you put that in layman's terms?

Yes; sorry for the complicated and technical response.  As far as I can see,
there is at the moment no simple way to avoid this issue with a configure
command-line switch, so I'll describe an approach that hopefully works around
the issue for now:

In the build tree where the error occurred, there should be an empty file named
something like:

  arm-unknown-elf/zlib/config.cache

Please open that file with a text editor and add the line

  lt_cv_shlibpath_overrides_runpath=no

Then rerun make.  Please report back if that works or not; if it doesn't, then
find the first error message in the output and cut and paste 50 lines of output
from a few lines above that error message. Thanks.

I'll write to the gcc list about how to improve configury so that this
hopefully becomes easier or unnecessary in the future.


-- 


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



[Bug fortran/45210] compilation error

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2010-08-06 17:22 ---
Confirmed on 4.4.4 and 4.5.0, but the test compiles with trunk (with/without
-fno-whole-file). Now I see:

...
 CALL ijk_to_i_j_k(i_j_k,i_j_k_fid,grid_size)
...
 SUBROUTINE ijk_to_i_j_k(i,j,k,size,i_j_k)

The call has 3 arguments and the subroutine 5. In addition i_j_k_fid is a rank
one array and j a scalar, so the error makes sense for me. What I don't
understand is why this is not detected with 4.6. Should not the summary be
[4.6 Regression] missing error? 


-- 


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



[Bug fortran/45211] C interoperable error when compiling BIND(C) function in a module.

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2010-08-06 17:26 ---
Confirmed also with trunk.


-- 


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



[Bug fortran/45210] compilation error

2010-08-06 Thread sliwa at blue dot cft dot edu dot pl


--- Comment #5 from sliwa at blue dot cft dot edu dot pl  2010-08-06 18:07 
---

Your right, I assumed blindly that this code makes at least some sense (I
modified it to remove the dependencies, but the main issue remains the same).
However, it compiles with Pathscale 3.1 and SunStudio 12.1 (probably also
others, as a Windows binary of this beautiful artwork is available). Is it
normal that a routine can prevent compilation of a preceding one?

PS. A colleague of mine is going to use this program compiled with one of the
above compilers.


-- 


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



[Bug fortran/45210] compilation error

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2010-08-06 18:42 ---
 Your right, I assumed blindly that this code makes at least some sense (I
 modified it to remove the dependencies, but the main issue remains the same).
 However, it compiles with Pathscale 3.1 and SunStudio 12.1 (probably also
 others, as a Windows binary of this beautiful artwork is available). Is it
 normal that a routine can prevent compilation of a preceding one?

Well, I cannot see how the code you POSTED (you may have introduced a problem
when reducing the code, it is quite common) could be valid according the
Fortran standard. However I think the constraints that the actual and dummy
must match are put under a shall, i.e. the burden is on the user and the
compiler may or may not detect the problem (put the call and the subroutine in
two different files instead of in a CONTAINS unit and the compiler has no way
to check that the actual and dummy argument match: a very common mistake when
using libraries).

CCed Steven G. Kargl for additional opinion.


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||sgk at troutmask dot apl dot
   ||washington dot edu


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



[Bug target/24178] [4.0/4.1 regression] generates code that produces unaligned access exceptions

2010-08-06 Thread ubizjak at gmail dot com


--- Comment #15 from ubizjak at gmail dot com  2010-08-06 19:33 ---
This one started to fail on mainline recently.

f:
.frame $30,0,$26,0
.prologue 0
lda $1,18($16)
ldq_u $0,18($16)
extbl $0,$1,$0
ret $31,($26),1
.end f

The testcase passed with r161055 [1] and failed with r161806 [2].

In between is Richi's mem-ref2 merge...

[1] http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg02114.html
[2] http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00417.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug c/45207] The -Os flag generates wrong code for ARM966e-s

2010-08-06 Thread siarhei dot siamashka at gmail dot com


--- Comment #7 from siarhei dot siamashka at gmail dot com  2010-08-06 
19:36 ---
Do you have any packed structs? I wonder if the problem could be somehow
related to PR45070. But it's hard to say anything until you narrow down the
problem to a smaller testcase.


-- 

siarhei dot siamashka at gmail dot com changed:

   What|Removed |Added

 CC||siarhei dot siamashka at
   ||gmail dot com


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



[Bug target/24178] [4.6 Regression] generates code that produces unaligned access exceptions

2010-08-06 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|[4.0/4.1 regression]|[4.6 Regression] generates
   |generates code that produces|code that produces unaligned
   |unaligned access exceptions |access exceptions
   Target Milestone|4.0.3   |4.6.0


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



[Bug target/24178] [4.0/4.1 regression] generates code that produces unaligned access exceptions

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #16 from rguenth at gcc dot gnu dot org  2010-08-06 19:45 
---
Can you instead open a new bug please?  Thx.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED
Summary|[4.6 Regression] generates  |[4.0/4.1 regression]
   |code that produces unaligned|generates code that produces
   |access exceptions   |unaligned access exceptions
   Target Milestone|4.6.0   |4.0.3


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



[Bug target/45212] New: FAIL: gcc.target/alpha/pr24178.c scan-assembler ldl.*,18\\\\(

2010-08-06 Thread ubizjak at gmail dot com
gcc.target/alpha/PR24178.c started to fail on mainline recently:

FAIL: gcc.target/alpha/pr24178.c scan-assembler ldl.*,18(

The problem is, that we don't generate expected ldl insn, but:

f:
.frame $30,0,$26,0
.prologue 0
lda $1,18($16)
ldq_u $0,18($16)
extbl $0,$1,$0
ret $31,($26),1
.end f

The generated code is similar to what PR24178 fixed, see PR24178, comment #9.

The testcase passed with r161055 [1] and failed with r161806 [2].

In between is Richi's mem-ref2 merge...

[1] http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg02114.html
[2] http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00417.html


-- 
   Summary: FAIL: gcc.target/alpha/pr24178.c scan-assembler
ldl.*,18(
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com
GCC target triplet: alphaev68-pc-linux-gnu


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



[Bug target/24178] [4.0/4.1 regression] generates code that produces unaligned access exceptions

2010-08-06 Thread ubizjak at gmail dot com


--- Comment #17 from ubizjak at gmail dot com  2010-08-06 20:00 ---
(In reply to comment #16)
 Can you instead open a new bug please?  Thx.

Sure. PR45212.


-- 


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



[Bug target/45212] [4.6 Regression] FAIL: gcc.target/alpha/pr24178.c scan-assembler ldl.*,18\\\\(

2010-08-06 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2010-08-06 20:14 ---
The problem is, that we enter alpha_expand_mov_nobwx with operand[1]:

(mem/s:QI (plus:DI (reg/v/f:DI 72 [ p10 ])
(const_int 18 [0x12])) [0+8 S1 A16])

This fails aligned_memory_operand (operands[1], mode) check.

OTOH, for gcc-4_5 branch, alpha_expand_mov_nobwx is called with:

(mem/s:QI (plus:DI (reg/v/f:DI 74 [ p10 ])
(const_int 18 [0x12])) [0 S1 A64])


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 20:14:13
   date||
Summary|FAIL:   |[4.6 Regression] FAIL:
   |gcc.target/alpha/pr24178.c  |gcc.target/alpha/pr24178.c
   |scan-assembler ldl.*,18(|scan-assembler ldl.*,18(
   Target Milestone|--- |4.6.0


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



[Bug target/45212] [4.6 Regression] FAIL: gcc.target/alpha/pr24178.c scan-assembler ldl.*,18\\\\(

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-08-06 20:29 ---
Mine.


-- 

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
   Last reconfirmed|2010-08-06 20:14:13 |2010-08-06 20:29:25
   date||


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



[Bug target/45213] New: suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread philip dot taylor at cl dot cam dot ac dot uk
The attached source file gives:

  $ gcc -c t.c -Os -fno-omit-frame-pointer
  /tmp/ccAuCzVe.s: Assembler messages:
  /tmp/ccAuCzVe.s:16: Error: suffix or operands invalid for `push'

It complains on the line:

  pushq $0x3f80

Reproduced on:

Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.5.0/work/gcc-4.5.0/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.0
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.0
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.0/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.0/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --without-ppl --without-cloog --disable-lto --enable-nls
--without-included-gettext --with-system-zlib --disable-checking
--disable-werror --enable-secureplt --enable-multilib --enable-libmudflap
--disable-libssp --enable-libgomp --enable-cld
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.5.0/python
--disable-libgcj --enable-languages=c,c++ --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.0 p1.2,
pie-0.4.5'
Thread model: posix
gcc version 4.5.0 (Gentoo 4.5.0 p1.2, pie-0.4.5)

Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-cpu=generic
--host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)


-- 
   Summary: suffix or operands invalid for `push' triggered by
optimisations on x86_64
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: philip dot taylor at cl dot cam dot ac dot uk


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread philip dot taylor at cl dot cam dot ac dot uk


--- Comment #1 from philip dot taylor at cl dot cam dot ac dot uk  
2010-08-06 20:37 ---
Created an attachment (id=21426)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21426action=view)
test case


-- 


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-08-06 20:44 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet||x86_64-*-*
   Keywords||assemble-failure
  Known to fail||4.1.2 4.3.2 4.2.2 4.6.0
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 20:44:01
   date||
Version|unknown |4.5.1


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



[Bug libgomp/45192] OpenMP fails in DLLs

2010-08-06 Thread john at quivinco dot com


--- Comment #3 from john at quivinco dot com  2010-08-06 20:48 ---
I just read this...

TDM-GCC has been built to allow the use of GCC's -fopenmp option for
generating parallel code as specified by the OpenMP API. (See
http://gcc.gnu.org/onlinedocs/libgomp/ for details.) If you want to use
OpenMP in your programs, be sure to install the openmp optional package.

The OpenMP support in the TDM-GCC builds has received very little testing; if
you find build or packaging problems, please send a bug report (see BUGS
above).

LibGOMP, GCC's implementation of OpenMP, currently only supports the use of the
POSIX Threads (pthreads) api for implementing its threading model. Because the
MinGW project itself doesn't distribute a pthreads implementation, the
pthreads-win32 library, available from http://sourceware.org/pthreads-win32/,
is included in this distribution. If you aren't familiar with pthreads-win32,
please read the file pthreads-win32-README for more information, or the
documentation available at the website referenced above. pthreads-win32 is
distributed under the terms of the LGPL; see COPYING.lib-gcc-tdm.txt for
details.

In order to correctly compile code that utilizes OpenMP/libGOMP, you need to
add
the -fopenmp option at compile time AND link time. By default, this will link
the standard C-cleanup DLL version of pthreads-win32 to your program, which
means that you will need to ensure that the file pthreadGC2.dll (included in
the bin subdirectory in the openmp package) can be found by your program. If
you plan to distribute a program that relies on pthreads-win32, be sure to
understand and comply with the terms of the LGPL (see COPYING.lib-gcc-tdm.txt).

libpthread.a is included in the lib subdirectory of the openmp package
along
with two other pthreads library files:
 - libpthreadGC2-static.a provides a static version of the pthreads-win32
 library, but it requires some additional non-POSIX-compliant startup code
 to be included in your program. See pthreads-win32-README for
 details.
 - libpthreadGCE2.a provides a version of the pthreads-win32 library with
 a somewhat safer response in the face of unexpected C++ exceptions.
 The creators of the pthreads-win32 library recommend, however, that this
 version not be used, because code written to rely on this is less
portable.

Anyone tried this or know where to get pthreadGC2.dll?


-- 


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2010-08-06 20:53 ---
(In reply to comment #0)

 It complains on the line:
 
   pushq $0x3f80

No, it doesn't. Assembler complains on:

pushq   $0xbf80

Which makes this a binutils bug. Let's ask H.J.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2010-08-06 21:02 ---
I opened:

http://www.sourceware.org/bugzilla/show_bug.cgi?id=11893


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL||http://www.sourceware.org/bu
   ||gzilla/show_bug.cgi?id=11893
 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug fortran/45210] compilation error

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2010-08-06 21:09 ---
Thanks to Thomas König, the mystery is sorted out: both p1.f90 and p2.f90
contain a subroutine ijk_to_i_j_k. In p1 the subroutine has the right dummy
arguments for the call, while the one in p2 has wrong ones. Due to

USE module_ijk_to_i_j_k  ,ONLY:ijk_to_i_j_k

in SUBROUTINE i_j_k_to_ijk(i_j_k,size,i,j,k), the call to ijk_to_i_j_k should
use the one in p1 (as with 4.6) and not the one in p2 (as with 4.4 or 4.5). 

So if the above is right, the bug has been fixed in 4.6, but not backported to
4.5.

Can you check where and with actual arguments the subroutine  i_j_k_to_ijk is
called in the full code?
If all the calls are to the subroutine in p1, you can probably remove the one
in p2. If both subroutines are called, some with the argument list
corresponding to p1 and some with the argument list corresponding to p2, you
can try to rename one of the subroutines.


-- 


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



[Bug fortran/45057] Unneeded temporary / missed bounds violation for PACK

2010-08-06 Thread steven at gcc dot gnu dot org


-- 

steven 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-08-06 21:21:08
   date||
Summary|Unneded temporary / missed  |Unneeded temporary / missed
   |bounds violation for PACK   |bounds violation for PACK


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



[Bug tree-optimization/45214] New: Poor initial RTL for bitfield operations

2010-08-06 Thread bernds at gcc dot gnu dot org
The attached testcase, from gcc's own gimplify.c, is optimized poorly at the
tree stage.  Initial RTL has

;; t_1-gsbase.plf = D.2014_8;

(insn 8 6 9 (set (reg:QI 65)
(mem/s:QI (plus:SI (reg/v/f:SI 58 [ t ])
(const_int 1 [0x1])) [0+1 S1 A8])) gimplify.i:48 -1
 (nil))

(insn 9 8 10 (parallel [
(set (reg:QI 64)
(lshiftrt:QI (reg:QI 65)
(const_int 3 [0x3])))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (expr_list:REG_EQUAL (lshiftrt:QI (mem/s:QI (plus:SI (reg/v/f:SI 58 [ t ])
(const_int 1 [0x1])) [0+1 S1 A8])
(const_int 3 [0x3]))
(nil)))

(insn 10 9 11 (parallel [
(set (reg:QI 66)
(and:QI (reg:QI 64)
(const_int 3 [0x3])))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (nil))

(insn 11 10 13 (parallel [
(set (reg:QI 67)
(ior:QI (reg:QI 66)
(const_int 1 [0x1])))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (nil))

(insn 13 11 14 (parallel [
(set (reg:QI 69)
(and:QI (reg:QI 67)
(const_int 3 [0x3])))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (nil))

(insn 14 13 15 (parallel [
(set (reg:QI 70)
(ashift:QI (reg:QI 69)
(const_int 3 [0x3])))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (nil))

(insn 15 14 16 (set (reg:QI 71)
(mem/s/j:QI (plus:SI (reg/v/f:SI 58 [ t ])
(const_int 1 [0x1])) [0+1 S1 A8])) gimplify.i:48 -1
 (nil))

(insn 16 15 17 (parallel [
(set (reg:QI 72)
(and:QI (reg:QI 71)
(const_int -25 [0xffe7])))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (nil))

(insn 17 16 18 (parallel [
(set (reg:QI 73)
(ior:QI (reg:QI 72)
(reg:QI 70)))
(clobber (reg:CC 17 flags))
]) gimplify.i:48 -1
 (nil))

(insn 18 17 0 (set (mem/s/j:QI (plus:SI (reg/v/f:SI 58 [ t ])
(const_int 1 [0x1])) [0+1 S1 A8])
(reg:QI 73)) gimplify.i:48 -1
 (nil))

This is not optimized by anything unless the combiner is extended to handle
four insns.  This PR should stay open even if the combiner is improved, until
the tree optimizers handle this better.


-- 
   Summary: Poor initial RTL for bitfield operations
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bernds at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug tree-optimization/45214] Poor initial RTL for bitfield operations

2010-08-06 Thread bernds at gcc dot gnu dot org


--- Comment #1 from bernds at gcc dot gnu dot org  2010-08-06 21:21 ---
Created an attachment (id=21427)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21427action=view)
A testcase which shows the problem.


-- 


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



[Bug fortran/44235] array temporary with high upper bound

2010-08-06 Thread steven at gcc dot gnu dot org


--- Comment #3 from steven at gcc dot gnu dot org  2010-08-06 21:24 ---
What's the plan with the patch of comment #2?
NB, the result of gfc_dep_compare_expr (l_start, r_start) could be cached
instead of computed twice:

+  ((res = gfc_dep_compare_expr (l_start, r_start)) == 0
+ || res == -1)


-- 


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



[Bug tree-optimization/45215] New: Tree-optimization misses a trick with bit tests

2010-08-06 Thread bernds at gcc dot gnu dot org
The following testcase

int x (int t)
{
  if (t  256)
return -26;
  return 0;
}

can be implemented as a sequence of two shifts and one and operation:
movl4(%esp), %eax
sall$23, %eax
sarl$31, %eax
andl$-26, %eax
ret

Initial RTL generation produces a more complicated sequence which is not
optimized unless the combiner is extended to handle four insns.  The tree
optimizers could be enhanced to handle this pattern and related ones, although
it would have to take costs into account, as on some targets other sequences
may be better.


-- 
   Summary: Tree-optimization misses a trick with bit tests
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bernds at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug fortran/44235] array temporary with high upper bound

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2010-08-06 21:34 ---
I am not to sure about the patch in comment #2 because the case should probably
be handled by gfc_is_same_range and the patch does it in
gfc_check_section_vs_section. Note that gfc_is_same_range has a line

  /* TODO: More sophisticated range comparison.  */

In my opinion the right way to fix this pr would be to compare the starts and
the extends, but so far I did not find how to do it.


-- 


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



[Bug tree-optimization/45214] Poor initial RTL for bitfield operations

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-08-06 21:48 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|richard dot guenther at |rguenth at gcc dot gnu dot
   |gmail dot com   |org
   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 21:48:55
   date||


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



[Bug tree-optimization/45215] Tree-optimization misses a trick with bit tests

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-08-06 21:49 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|richard dot guenther at |rguenth at gcc dot gnu dot
   |gmail dot com   |org
   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 21:49:25
   date||


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2010-08-06 21:51 ---
The bug is in gcc. pushq $imm32S only takes 32bit signed extended
immediate. You can't push 0xbf80. Instead, you push -1082130432
or 0xbf80.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL|http://www.sourceware.org/bu|
   |gzilla/show_bug.cgi?id=11893|
 Status|RESOLVED|REOPENED
 Resolution|INVALID |


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2010-08-06 22:10 ---
This patch:

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 204211a..3dfbede 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -12921,7 +12921,7 @@ ix86_print_operand (FILE *file, rtx x, int code)

   if (ASSEMBLER_DIALECT == ASM_ATT)
   putc ('$', file);
-  fprintf (file, 0x%08lx, (long unsigned int) l);
+  fprintf (file, 0x%08lx, (long) (int) l);
 }

   /* These float cases don't actually occur as immediate operands.  */

works for me.


-- 


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



[Bug tree-optimization/45216] New: Rotate expressions not recognized at tree level

2010-08-06 Thread bernds at gcc dot gnu dot org
We have RROTATE_EXPR and LROTATE_EXPR, but the patterns are not reliably
detected at the tree level.  I'm attaching a testcase reduced from the Linux
kernel, which has at least one sequence that can be rewritten using a rolw
instruction:

movzwl  %cx, %edx
movzwl  %ax, %eax
shrw$8, %cx
movl%edx, -44(%ebp)
sall$8, %edx
movw%cx, -50(%ebp)
orw %dx, -50(%ebp)

Other opportunities exist.  At the most basic level, a function like

unsigned short rol8 (unsigned short word, unsigned int shift)
{
  return (word  8) | (word  8);
}

should be transformed at the tree level by recognizing the rotate.


-- 
   Summary: Rotate expressions not recognized at tree level
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bernds at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug tree-optimization/45216] Rotate expressions not recognized at tree level

2010-08-06 Thread bernds at gcc dot gnu dot org


--- Comment #1 from bernds at gcc dot gnu dot org  2010-08-06 22:19 ---
Created an attachment (id=21428)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21428action=view)
A testcase which shows the problem.


-- 


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



[Bug tree-optimization/45217] New: Tree optimizations do not recognize partial stores

2010-08-06 Thread bernds at gcc dot gnu dot org
unsigned int bplpt;

void BPLPTH (unsigned short x)
{
  bplpt = (bplpt  0x) | (x  16);
}

void BPLPTL (unsigned short x)
{
  bplpt = (bplpt  0x) | x;
}

Here, nothing at the tree level recognizes that these functions implement
16-bit stores into a larger object.  This is handled by the combiner, but in
its current state it fails to optimize BPLPTL as there are too many insns to
look at.

This bug should stay open until there is a tree-level solution that does not
rely on the RTL combiner.


-- 
   Summary: Tree optimizations do not recognize partial stores
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bernds at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug fortran/45159] Unnecessary temporaries

2010-08-06 Thread tkoenig at gcc dot gnu dot org


--- Comment #14 from tkoenig at gcc dot gnu dot org  2010-08-06 22:33 
---
Subject: Bug 45159

Author: tkoenig
Date: Fri Aug  6 22:33:37 2010
New Revision: 162966

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162966
Log:
2010-08-06  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/45159
* dependency.c (check_section_vs_section):  Handle cases where
the start expression coincides with the lower or upper
bound of the array.

2010-08-06  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/45159
* gfortran.dg/dependency_31.f90:  New test.


Added:
trunk/gcc/testsuite/gfortran.dg/dependency_31.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/dependency.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/45200] ICE in template instantiation

2010-08-06 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2010-08-06 22:35 ---
Nice reduced testcase:
templatetypename T
struct remove_reference
{
  typedef T type;
};
templatetypename TestType   struct forward_as_lref{};
templatetypename Seq, typename N
struct apply1
{
  typedef typename remove_referenceSeq::type seq;
  typedef  forward_as_lref  typename seq::seq_type type;
};
templatetypename Seq
struct apply
{
  typedef forward_as_lref typename remove_referenceSeq::type::seq_type 
type;
};
struct reverse_view
{
  typedef int seq_type;
};
int main()
{
applyreverse_view ::type a2;
}


-- 


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



[Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation

2010-08-06 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 GCC target triplet|i686-pc-mingw32 |
   Keywords||ice-on-valid-code
  Known to fail||4.5.0 4.6.0
  Known to work||4.4.3
Summary|ICE in template |[4.5/4.6 Regression] ICE in
   |instantiation   |template instantiation
   Target Milestone|--- |4.5.2


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



[Bug target/45213] suffix or operands invalid for `push' triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #7 from hjl dot tools at gmail dot com  2010-08-06 22:39 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2010-08/msg00528.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2010-
   ||08/msg00528.html


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



[Bug tree-optimization/45218] New: Mathematical simplification missed at tree-level

2010-08-06 Thread bernds at gcc dot gnu dot org
Consider
  a = (x / 39) * 32 + (x % 39)

If we have no instruction to produce both the quotient and the remaineder, this
can be computed as
  y = x / 39
  z = x - y * 39
  a = y * 32 + z

The last line can be simplified by substituting:
  a = y * 32 + x - y * 39
  a = y * (32 - 39) + x
  a = x - y * 7

Testcase:

int i_size;

extern void foo (void);
int udf_check_anchor_block(int block)
{
 i_size = ( ( ( (block) / 39 )  5 ) + ( block % 39 ));
 return 1;
}

The tree optimization phase misses this, and this PR should stay open until
that is resolved.  The combiner can handle it if it is able to look at 4
instructions.


-- 
   Summary: Mathematical simplification missed at tree-level
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bernds at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug fortran/44235] array temporary with high upper bound

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2010-08-06 22:49 ---
Note that the following patch I have in my tree for some time now also fix the
pr


--- gcc/fortran/dependency.c2010-08-07 00:37:34.0 +0200
+++ ../work/gcc/fortran/dependency.c2010-08-05 19:11:58.0 +0200
@@ -1172,8 +1172,8 @@ check_section_vs_section (gfc_array_ref 

   /* Check for forward dependencies x:y vs. x+1:z.  */
   if (l_dir == 1  r_dir == 1
-   l_start  r_start  gfc_dep_compare_expr (l_start, r_start) == -1
-   l_end  r_end  gfc_dep_compare_expr (l_end, r_end) == -1)
+   ((l_start  r_start  gfc_dep_compare_expr (l_start, r_start) ==
-1)
+ || (l_end  r_end  gfc_dep_compare_expr (l_end, r_end) == -1)))
 {
   /* Check that the strides are the same.  */
   if (!l_stride  !r_stride)
@@ -1185,8 +1185,8 @@ check_section_vs_section (gfc_array_ref 

   /* Check for forward dependencies x:y:-1 vs. x-1:z:-1.  */
   if (l_dir == -1  r_dir == -1
-   l_start  r_start  gfc_dep_compare_expr (l_start, r_start) == 1
-   l_end  r_end  gfc_dep_compare_expr (l_end, r_end) == 1)
+   ((l_start  r_start  gfc_dep_compare_expr (l_start, r_start) == 1)
+ || (l_end  r_end  gfc_dep_compare_expr (l_end, r_end) == 1)))
 {
   /* Check that the strides are the same.  */
   if (!l_stride  !r_stride)

This followed a discussion with Tobias Burnus on IRC. It assumes that the code
is valid, i.e., lhs and rhs has the same extent, otherwise creating a temporary
does make the code valid, even if the result is not the same with or without
temporary.


-- 


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



[Bug tree-optimization/45218] Mathematical simplification missed at tree-level

2010-08-06 Thread steven at gcc dot gnu dot org


-- 

steven 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-08-06 22:51:00
   date||


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



[Bug tree-optimization/45219] New: [4.6 Regression] ICE: SIGSEGV in dominated_by_p (dominance.c:973) with -O2 -fprofile-generate

2010-08-06 Thread zsojka at seznam dot cz
Command line:
$ gcc -O2 -fprofile-generate testcase.c

Valgrind output:
==8227== Invalid read of size 8
==8227==at 0x60BB4B: dominated_by_p (dominance.c:973)
==8227==by 0x950317: dse_enter_block (tree-ssa-dse.c:198)
==8227==by 0xF18CC6: walk_dominator_tree (domwalk.c:188)
==8227==by 0x94F9F2: tree_ssa_dse (tree-ssa-dse.c:429)
==8227==by 0x7BD50B: execute_one_pass (passes.c:1564)
==8227==by 0x7BD7A4: execute_pass_list (passes.c:1619)
==8227==by 0x7BD7B6: execute_pass_list (passes.c:1620)
==8227==by 0x8FF355: tree_rest_of_compilation (tree-optimize.c:452)
==8227==by 0xAB6505: cgraph_expand_function (cgraphunit.c:1643)
==8227==by 0xAB9389: cgraph_optimize (cgraphunit.c:1722)
==8227==by 0xAB997A: cgraph_finalize_compilation_unit (cgraphunit.c:1185)
==8227==by 0x4DF88E: c_write_global_declarations (c-decl.c:9698)
==8227==  Address 0x20 is not stack'd, malloc'd or (recently) free'd
==8227== 
testcase.c: In function 'foo':
testcase.c:12:5: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Tested revisions:
r162940 - crash
r162456 - OK


-- 
   Summary: [4.6 Regression] ICE: SIGSEGV in dominated_by_p
(dominance.c:973) with -O2 -fprofile-generate
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug tree-optimization/45219] [4.6 Regression] ICE: SIGSEGV in dominated_by_p (dominance.c:973) with -O2 -fprofile-generate

2010-08-06 Thread zsojka at seznam dot cz


--- Comment #1 from zsojka at seznam dot cz  2010-08-06 23:00 ---
Created an attachment (id=21429)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21429action=view)
reduced testcase (from gcc.dg/tree-ssa/20041008-1.c)


-- 


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



[Bug tree-optimization/45216] Rotate expressions not recognized at tree level

2010-08-06 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2010-08-06 23:02 ---
pathetic... :)


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 23:02:11
   date||


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



[Bug tree-optimization/15596] [4.3/4.4/4.5/4.6 Regression] Missed optimization with bitfields with return value

2010-08-06 Thread steven at gcc dot gnu dot org


--- Comment #18 from steven at gcc dot gnu dot org  2010-08-06 23:12 ---
Martin, perhaps a test case you want to watch if you or someone else is going
to play with SRA vs. bitfields.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/45216] Rotate expressions not recognized at tree level

2010-08-06 Thread steven at gcc dot gnu dot org


--- Comment #3 from steven at gcc dot gnu dot org  2010-08-06 23:17 ---
Related to PR17886, where it says that: gcc can detect the (x  y)|(x 
(bitwidth-y)) idiom for rotate and convert it into the machine rotate
instruction. But it only works when y is a constant and is not long long. But
apparently even this case is not detected anymore.


-- 


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



[Bug target/44942] Bug in argument passing of long double

2010-08-06 Thread ebotcazou at gcc dot gnu dot org


--- Comment #9 from ebotcazou at gcc dot gnu dot org  2010-08-06 23:23 
---
Subject: Bug 44942

Author: ebotcazou
Date: Fri Aug  6 23:22:52 2010
New Revision: 162967

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162967
Log:
PR target/44942
* config/sparc/sparc.c (function_arg_advance): Always take into account
the padding, if any.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sparc/sparc.c


-- 


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



[Bug target/44942] Bug in argument passing of long double

2010-08-06 Thread ebotcazou at gcc dot gnu dot org


--- Comment #10 from ebotcazou at gcc dot gnu dot org  2010-08-06 23:23 
---
Subject: Bug 44942

Author: ebotcazou
Date: Fri Aug  6 23:23:12 2010
New Revision: 162968

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162968
Log:
PR target/44942
* config/sparc/sparc.c (function_arg_advance): Always take into account
the padding, if any.

Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/sparc/sparc.c


-- 


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



[Bug target/44942] Bug in argument passing of long double

2010-08-06 Thread ebotcazou at gcc dot gnu dot org


--- Comment #11 from ebotcazou at gcc dot gnu dot org  2010-08-06 23:23 
---
Subject: Bug 44942

Author: ebotcazou
Date: Fri Aug  6 23:23:29 2010
New Revision: 162969

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162969
Log:
PR target/44942
* config/sparc/sparc.c (function_arg_advance): Always take into account
the padding, if any.

Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/sparc/sparc.c


-- 


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



[Bug tree-optimization/45216] Rotate expressions not recognized at tree level

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-08-06 23:41 ---
Fold used to detect these.  Maybe we're now having different conversions
inbetween.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|richard dot guenther at |rguenth at gcc dot gnu dot
   |gmail dot com   |org
   Severity|normal  |enhancement


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



[Bug tree-optimization/45217] Tree optimizations do not recognize partial stores

2010-08-06 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-08-06 23:44 ---
Confirmed.  BIT_FIELD_EXPR would be a good match for this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|richard dot guenther at |rguenth at gcc dot gnu dot
   |gmail dot com   |org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 23:44:11
   date||


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



[Bug bootstrap/45174] Make fails in zlib

2010-08-06 Thread dschlic1 at gmail dot com


--- Comment #16 from dschlic1 at gmail dot com  2010-08-07 00:18 ---
Subject: Re:  Make fails in zlib

Hello;
I changed the value of lt_cv_shlibpath_overrides_runpath (it was set to
the result of an equality statement). No joy. The log is attached.
Results from the terminal are:

don...@donald-desktop:~$  sh Try15.sh /home/donald arm-elf 5
Found Linux OS.
**
* Building gcc-4.5.1-boot
**
make[3]: *** No rule to make target `all'.  Stop.
make[2]: *** [multi-do] Error 1
make[1]: *** [all-multi] Error 2
make: *** [all-zlib] Error 2
make: *** Waiting for unfinished jobs
don...@donald-desktop:~$ 

Previously to placing this bug report, I tried to find the source of
the error. The error occurs in this piece of code from configure in the
zlib source directory:

if test ${lt_cv_ld_exported_symbols_list+set} = set; then :
  $as_echo_n (cached)  6
else
  lt_cv_ld_exported_symbols_list=no
  save_LDFLAGS=$LDFLAGS
  echo _main  conftest.sym
  LDFLAGS=$LDFLAGS -Wl,-exported_symbols_list,conftest.sym
  if test x$gcc_no_link = xyes; then
  as_fn_error Link tests are not allowed after GCC_NO_EXECUTABLES.
$LINENO 5
fi

This piece of code is executed twice, first with
lt_cv_ld_exported_symbols_list set to blank, and gcc_no_link set to
blank. lt_cv_ld_exported_symbols_list is set to no because the else part
of the if statement is executed. Because gcc_no_link is not set, no
error is triggered.

However on the second pass, lt_cv_ld_exported_symbols_list has lost its
value (is blank), however gcc_no_link is set to yes. Result error. I
have not found out why lt_cv_ld_exported_symbols_list loses its value on
the second pass. LDFLAGS also loses its value on the second pass.

Thank You,
Donald Schlicht


--- Comment #17 from dschlic1 at gmail dot com  2010-08-07 00:18 ---
Created an attachment (id=21430)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21430action=view)


-- 


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



[Bug tree-optimization/45220] New: [4.6 Regression] libjava/libltdl/ltdl.c:1272:1: internal compiler error: Segmenta

2010-08-06 Thread danglin at gcc dot gnu dot org
/test/gnu/gcc/objdir/./gcc/xgcc -B/test/gnu/gcc/objdir/./gcc/ -B/opt/gnu/gcc/gc
c-4.6.0/hppa2.0w-hp-hpux11.11/bin/
-B/opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.1
1/lib/ -isystem /opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/include -isystem
/o
pt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/sys-include -DHAVE_CONFIG_H -I.
-I../
../../../gcc/libjava/libltdl -g -O2 -c ../../../../gcc/libjava/libltdl/ltdl.c 
-
fPIC -DPIC -o .libs/ltdl.o
/test/gnu/gcc/objdir/./gcc/xgcc -B/test/gnu/gcc/objdir/./gcc/
-B/opt/gnu/gcc/gcc
-4.6.0/hppa2.0w-hp-hpux11.11/bin/
-B/opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11
/lib/ -isystem /opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/include -isystem
/op
t/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/sys-include-c -g -O2   -W -Wall
-g
natpg   s-fileio.adb -o s-fileio.o
s-fileio.adb: In function 'System.File_Io.Close':
s-fileio.adb:308:10: warning: 'Errno' may be used uninitialized in this
function
 [-Wuninitialized]
../../../../gcc/libjava/libltdl/ltdl.c: In function 'sys_shl_sym':
../../../../gcc/libjava/libltdl/ltdl.c:1272:1: internal compiler error:
Segmenta
tion fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[4]: *** [ltdl.lo] Error 1
make[4]: Leaving directory
`/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/l
ibltdl'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/l
ibltdl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava'
make[1]: *** [all-target-libjava] Error 2
make[1]: *** Waiting for unfinished jobs

-bash-3.2$ ./xgcc -B./ -v
Reading specs from ./specs
COLLECT_GCC=./xgcc
COLLECT_LTO_WRAPPER=./lto-wrapper
Target: hppa2.0w-hp-hpux11.11
Configured with: ../gcc/configure --with-gnu-as --with-as=/opt/gnu/bin/as
--enable-shared --with-local-prefix=/opt/gnu --prefix=/opt/gnu/gcc/gcc-4.6.0
--with-gmp=/opt/gnu/gcc/gcc-4.6.0 --enable-threads=posix --enable-debug=no
--disable-nls --without-cloog --without-ppl
--enable-languages=c,c++,objc,fortran,java,ada,obj-c++
Thread model: posix
gcc version 4.6.0 20100806 (experimental) [trunk revision 162948] (GCC) 

Program received signal SIGSEGV, Segmentation fault.
0x0062ab88 in dominated_by_p (dir=CDI_DOMINATORS, bb1=0x7ae08e10, bb2=0x0)
at ../../gcc/gcc/dominance.c:973
973   struct et_node *n1 = bb1-dom[dir_index], *n2 = bb2-dom[dir_index];

(gdb) bt
#0  0x0062ab88 in dominated_by_p (dir=CDI_DOMINATORS, bb1=0x7ae08e10, bb2=0x0)
at ../../gcc/gcc/dominance.c:973
#1  0x02781b14 in dse_possible_dead_store_p (stmt=0x7ae0ac90, 
use_stmt=0x7eff0e98) at ../../gcc/gcc/tree-ssa-dse.c:202
#2  0x02781de4 in dse_optimize_stmt (dse_gd=0x7eff0d28, bd=0x400c2620,
gsi=Cannot access memory at address 0x10
)
at ../../gcc/gcc/tree-ssa-dse.c:296
#3  0x0278219c in dse_enter_block (walk_data=0x7eff0d08, bb=0x7ae08e10)
at ../../gcc/gcc/tree-ssa-dse.c:369
#4  0x031b2c8c in walk_dominator_tree (walk_data=0x7eff0d08, bb=0x7ae08e10)
at ../../gcc/gcc/domwalk.c:188
#5  0x0278249c in tree_ssa_dse () at ../../gcc/gcc/tree-ssa-dse.c:429
#6  0x00c8a508 in execute_one_pass (pass=0x400c8460)
at ../../gcc/gcc/passes.c:1564
#7  0x00c8a800 in execute_pass_list (pass=0x400c8460)
at ../../gcc/gcc/passes.c:1619
#8  0x00c8a824 in execute_pass_list (pass=0x4001cfe8)
at ../../gcc/gcc/passes.c:1620
#9  0x02500b84 in tree_rest_of_compilation (fndecl=0x7ae9b500)
at ../../gcc/gcc/tree-optimize.c:452
#10 0x013f2638 in cgraph_expand_function (node=0x7ae8ded8)
at ../../gcc/gcc/cgraphunit.c:1643
#11 0x013f29ac in cgraph_expand_all_functions ()
at ../../gcc/gcc/cgraphunit.c:1722
#12 0x013f33e4 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1978
#13 0x013f066c in cgraph_finalize_compilation_unit ()
at ../../gcc/gcc/cgraphunit.c:1185
#14 0x000bd144 in c_write_global_declarations ()
at ../../gcc/gcc/c-decl.c:9698
#15 0x00e377e4 in compile_file () at ../../gcc/gcc/toplev.c:983
#16 0x00e3b3d0 in do_compile () at ../../gcc/gcc/toplev.c:2321
#17 0x00e3b55c in toplev_main (argc=27, argv=0x7eff06a4)
at ../../gcc/gcc/toplev.c:2362
#18 0x00363164 in main (argc=27, argv=0x7eff06a4) at ../../gcc/gcc/main.c:36


-- 
   Summary: [4.6 Regression] libjava/libltdl/ltdl.c:1272:1: internal
compiler error: Segmenta
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11, hppa64-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug tree-optimization/45220] [4.6 Regression] libjava/libltdl/ltdl.c:1272:1: internal compiler error: Segmenta

2010-08-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-08-07 00:32 ---
Looks related to PR 45219.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||45219


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



  1   2   >