[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2007-06-12 07:01 ---
Following patch should fix the ICE:

Index: combine.c
===
--- combine.c   (revision 125636)
+++ combine.c   (working copy)
@@ -5210,11 +5210,17 @@ simplify_if_then_else (rtx x)

   if (true_code == EQ  true_val == const0_rtx
   exact_log2 (nzb = nonzero_bits (from, GET_MODE (from))) = 0)
-   false_code = EQ, false_val = GEN_INT (nzb);
+   {
+ false_code = EQ;
+ false_val = GEN_INT (trunc_int_for_mode (nzb, GET_MODE (from)));
+   }
   else if (true_code == EQ  true_val == const0_rtx
(num_sign_bit_copies (from, GET_MODE (from))
   == GET_MODE_BITSIZE (GET_MODE (from
-   false_code = EQ, false_val = constm1_rtx;
+   {
+ false_code = EQ;
+ false_val = constm1_rtx;
+   }

   /* Now simplify an arm if we know the value of the register in the
 branch and it is used in the arm.  Be careful due to the potential


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||ubizjak at gmail dot com
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 07:01:32
   date||


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



[Bug fortran/32298] New: Intrinsic MINLOC / MAXLOC gives wrong results (gfortran build 20070522)

2007-06-12 Thread jens dot bischoff at freenet dot de
The following source code:
!-
PROGRAM ERR_MINLOC

   INTEGER, PARAMETER :: N = 7

   DOUBLE PRECISION, DIMENSION (N), PARAMETER :: A 
 = (/ 0.3D0, 0.455D0, 0.6D0, 0.7D0, 0.72D0, 0.76D0, 0.79D0 /)

   DOUBLE PRECISION :: B
   INTEGER  :: I, J, K

  DO I = 1, N
B = A(I)
J = MINLOC (ABS (A - B), 1)
K = MAXLOC (ABS (A - B), 1)
PRINT *, I, J, K
  END DO  
 STOP

END PROGRAM ERR_MINLOC
!--

gives the following result:
(superflouos blanks are deleted):
--
 1 2 7
 2 2 7
 3 3 7
 4 4 2
 5 5 2
 6 6 2
 7 7 2
--

The correct result is:
--
 1 1 7
 2 2 7
 3 3 1
 4 4 1
 5 5 1
 6 6 1
 7 7 1
--


-- 
   Summary: Intrinsic MINLOC / MAXLOC gives wrong results (gfortran
build 20070522)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jens dot bischoff at freenet dot de
GCC target triplet: i386-pc-mingw32


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



[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2007-06-12 08:26 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00759.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||06/msg00759.html
 Status|NEW |ASSIGNED
   Keywords||patch
   Last reconfirmed|2007-06-12 07:01:32 |2007-06-12 08:26:03
   date||


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



[Bug ada/32299] New: 4.3-20070608 gnat bug detected in gimplify_addr_expr, at gimplify.c:3919

2007-06-12 Thread oliver dot kellogg at eads dot com
$ gcc -v -c gcc43.adb
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../../SOURCES/gcc-4.3-20070608/configure --prefix=/usr
--enable-languages=c,c++,ada
Thread model: posix
gcc version 4.3.0 20070608 (experimental)
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/gnat1 -quiet -dumpbase gcc43.adb
-mtune=generic gcc43.adb -o /tmp/ccxo3ZQM.s
+===GNAT BUG DETECTED==+
| 4.3.0 20070608 (experimental) (i686-pc-linux-gnu) GCC error: |
| in gimplify_addr_expr, at gimplify.c:3919|
| Error detected around gcc43.adb:28   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

gcc43.adb
gcc43.ads

-- file: gcc43.ads
with Interfaces.C.Pointers, Interfaces.C.Strings;
with System.Storage_Elements;

package Gcc43 is

   package SSE renames System.Storage_Elements;

   package Conv is new Interfaces.C.Pointers
 (Index = SSE.Storage_Offset,
  Element = SSE.Storage_Element,
  Element_Array = SSE.Storage_Array,
  Default_Terminator = 16#00#);  -- unused

   procedure Push_To_LLAPI
 (header_len : SSE.Storage_Offset;
  header_data : Conv.Pointer;
  data_len : SSE.Storage_Offset;
  data : Conv.Pointer);

  subtype Dummy_Contents is SSE.Storage_Array (1 .. 72);

  type J3_2_Llapi_T is
record
  Dummy : Dummy_Contents;
  end record;

end Gcc43;


-- file: gcc43.adb
with Interfaces.C.Pointers;
with Ada.Exceptions;
with System.Storage_Elements;
with Unchecked_Conversion;
with Text_IO;

package body Gcc43 is

   use type SSE.Storage_Offset;

   procedure Push_To_LLAPI
 (header_len : SSE.Storage_Offset;
  header_data : Conv.Pointer;
  data_len : SSE.Storage_Offset;
  data : Conv.Pointer) is
  Header : SSE.Storage_Array (1 .. Header_Len);
  Buf : SSE.Storage_Array (1 .. 1 + Data_Len);
  Buf_Address : constant System.Address := Buf (1)'Address;
  Ext_Track : J3_2_Llapi_T;
  pragma Import (Ada, Ext_Track);
  for Ext_Track'Address use Buf_Address;
   begin
  if Header_Len = 0 then
 return;
  end if;
  begin
 Header := Conv.Value (Header_Data, Interfaces.C.ptrdiff_t
(Header_Len));
 Buf (1) := Header (1);
 Buf (2 .. Buf'Last) := Conv.Value (Data, Interfaces.C.ptrdiff_t
(Data_Len));
  exception
 when E : others =
Text_IO.Put_Line (Push_To_LLAPI: exception on assigning Buf,  
  Ada.Exceptions.Exception_Information (E));
  end;
   end Push_To_LLAPI;

end Gcc43;


-- 
   Summary: 4.3-20070608 gnat bug detected in gimplify_addr_expr, at
gimplify.c:3919
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: oliver dot kellogg at eads dot com
  GCC host triplet: i686-pc-linux-gnu


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



[Bug middle-end/32285] [4.1 Regression] Miscompilation with pure _Complex returning call inside another fn's argument list

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-06-12 10:05 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 10:05:44
   date||


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



[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread uros at gcc dot gnu dot org


--- Comment #11 from uros at gcc dot gnu dot org  2007-06-12 10:31 ---
Subject: Bug 32293

Author: uros
Date: Tue Jun 12 10:31:04 2007
New Revision: 125643

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125643
Log:
PR rtl-optimization/32293
* combine.c (simplify_if_then_else): Truncate return from
nonzero_bits() to correct mode.

testsuite/ChangeLog:

PR rtl-optimization/32293
* gcc.dg/pr32293.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/pr32293.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/32258] Testsuite reports - FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c

2007-06-12 Thread rob1weld at aol dot com


--- Comment #8 from rob1weld at aol dot com  2007-06-12 10:53 ---
 should be many more tests.

It's OK. I followed the advice on page http://gcc.gnu.org/install/test.html -
Section 0.1 How can you run the testsuite on selected tests?.

make check-gcc RUNTESTFLAGS=dg-torture.exp


I did that so I could check quickly and post here; so people would not be
trying to fix what is NOT broken and know the correct place to look for the
trouble.


Just completed the whole test on everything - see here:
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


Also please look at the end of the report. I made a mod to the test_summary to
catch assembler errors - and it found some ...


-- 


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



[Bug testsuite/32063] contrib/test_summary script could output results more neatly

2007-06-12 Thread rob1weld at aol dot com


--- Comment #5 from rob1weld at aol dot com  2007-06-12 11:11 ---
Here is another, this caught some errors! See end of:
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


  print grep -e undefined\\ reference\\ to
/opt/gcc-4_3-build/gcc/testsuite/gcc/gcc.log | sort -u -k 2 | head -n 10
  print ;
  system(grep -e undefined\\ reference\\ to
/opt/gcc-4_3-build/gcc/testsuite/gcc/gcc.log | sort -u -k 2 | head -n 10);
  print ---;
  print ;


Note: These additions go directly before these lines:

  print Compiler version:  prefix version lang;
  print Platform:  host;
  print configflags;


-- 


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



[Bug libmudflap/31845] Need to adjust libmudflap timeout values in testsuite.

2007-06-12 Thread rob1weld at aol dot com


--- Comment #3 from rob1weld at aol dot com  2007-06-12 11:16 ---
FIX - Altered dg-timeout:

/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.cth/pass37-frag-Origonal.c

/* { dg-output 100 100 100 100 100 100 100 100 100 100 } */
/* { dg-repetitions 20 } */
/* { dg-timeout 10 } */


/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.cth/pass37-frag.c

/* { dg-output 100 100 100 100 100 100 100 100 100 100 } */
/* { dg-repetitions 20 } */
/* { dg-timeout 300 } */


-- 


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



[Bug libmudflap/31681] [4.3 regression]: Many libmudflap faulures

2007-06-12 Thread rob1weld at aol dot com


--- Comment #5 from rob1weld at aol dot com  2007-06-12 11:21 ---
 [EMAIL PROTECTED]
 Fixed.

Nope.

Results for 4.3.0 20070611 (experimental) testsuite on i686-pc-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


A portion of this bug report is duplicated at:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32276


-- 


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #4 from tbm at cyrius dot com  2007-06-12 11:22 ---
This works with 4.3.0 20070604 on mips.


-- 


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



[Bug target/32276] [4.3 Regression] New libmudflap failures

2007-06-12 Thread rob1weld at aol dot com


--- Comment #1 from rob1weld at aol dot com  2007-06-12 11:24 ---
These bug were first mentioned in report:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31681


Confirmed for similar target: 
Results for 4.3.0 20070611 (experimental) testsuite on i686-pc-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


--- My Notes ---

Screen output:

=== libmudflap tests ===

Schedule of variations:
unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /root/downloads/gcc-4_3-trunk/libmudflap/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c/cfrags.exp ...
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c/externs.exp ...
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c++/c++frags.exp
...
FAIL: libmudflap.c++/pass41-frag.cxx execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test
FAIL: libmudflap.c++/pass41-frag.cxx ( -O) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c++/ctors.exp ...
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.cth/cthfrags.exp
...

=== libmudflap Summary ===

# of expected passes1985
# of unexpected failures5



Log file i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.log output:


mudflap violation 1 (check/read): time=1181641131.727908 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x2bb) [0x8048f7b]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx execution test


mudflap violation 1 (check/read): time=1181641140.406737 ptr=0x80fb280 size=4
pc=0x804b3d0
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
  [0x804b3d0]
  [0x804851b]
  [0x804b416]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test


mudflap violation 1 (check/read): time=1181641147.350329 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x1b1) [0x8048e65]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx ( -O) execution test


mudflap violation 1 (check/read): time=1181641153.350016 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x2bb) [0x8048f7b]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test


mudflap violation 1 (check/read): time=1181641160.020512 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x2bb) [0x8049f7b]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test



All the log entries show number of nearby objects: 0. Does this mean that it
is
not the test itself that is failing but instead something other than the test -
IE:
GXX is compiling incorrect code or the libraries are incorrectly written.



# cat
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx
#include string
#include iostream

int
main (int argc, char *argv[])
{
std::string myStr = Hello, World!;
std::cout  myStr  std::endl;
return 0;
}


/opt/gcc-4_3-build/./gcc/g++ -shared-libgcc -B/opt/gcc-4_3-build/./gcc
-nostdinc++ -L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src
-L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs
-B/usr/test/i686-pc-linux-gnu/bin/ -B/usr/test/i686-pc-linux-gnu/lib/ -isystem
/usr/test/i686-pc-linux-gnu/include -isystem
/usr/test/i686-pc-linux-gnu/sys-include -ffloat-store 

[Bug c++/32290] GCC crashes with OOM when compiling relatively simple source file (no endless loop)

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-06-12 11:29 ---
mainline uses 10MB to compile reduced-problem.ii.nocrap.  So this is actually
a dup of PR29433.

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/29433] using boost::MPL requires lots of memory

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #24 from rguenth at gcc dot gnu dot org  2007-06-12 11:29 
---
*** Bug 32290 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aribrei at arcor dot de


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



[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-06-12 11:31 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/32300] New: ICE with -O2 -fsee

2007-06-12 Thread wouter dot vermaelen at scarlet dot be
 cat bug.ii
struct vector {
int *start, *finish;
unsigned long size() { return finish - start; }
};
void f(vector v) {
for (unsigned i = 0; i  v.size(); ++i);
}

 g++ -O2 -fsee bug.ii
bug.ii: In function ‘void f(vector)’:
bug.ii:7: internal compiler error: Segmentation fault

This started failing in the last couple of days.
I'm compiling on linux_x86_64.


-- 
   Summary: ICE with -O2 -fsee
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


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



[Bug bootstrap/32287] gas version style changed causs warnings with configure

2007-06-12 Thread rob1weld at aol dot com


--- Comment #3 from rob1weld at aol dot com  2007-06-12 11:37 ---
Even if they did change it back people may still have one of these versions 
since _all_ my versions of gas are less than a year old. 

Oneis the newest that apt-get will fetch (IE: the standard OS version),
another is the newest snapshot, the last is the newest SVN compiled by me - so
each is actually new, depending on how you look at it.


My patch only grabs the numbers.

If they change version numbering to 2.17.50.gamma.7.four then were screwed.

I welcome anyone to write a better script. I'm just pointing out the bug.

When things work (however badly) in one part of gcc and then fail (but only
partially) in another spot (or work OK) then it can cause some weird errors
that are hard to track down.


-- 


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #5 from tbm at cyrius dot com  2007-06-12 11:43 ---
I can reproduce this with current 4.1 from SVN, but not with 4.2 from SVN.


-- 


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



[Bug tree-optimization/31657] Should combine bit tests in if stmts

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-06-12 12:06 ---
Subject: Bug 31657

Author: rguenth
Date: Tue Jun 12 12:06:19 2007
New Revision: 125644

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125644
Log:
2007-06-12  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/15353
PR tree-optimization/31657
* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
* timevar.def: Add TV_TREE_IFCOMBINE.
* tree-pass.h (pass_tree_ifcombine): Declare.
* tree-ssa-ifcombine.c: New file.
* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
* tree-flow.h (blocks_in_phiopt_order): Declare.
* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
(tree-ssa-ifcombine.o): New dependencies.

* gcc.c-torture/execute/20070424-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20070424-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-5.c
trunk/gcc/tree-ssa-ifcombine.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/timevar.def
trunk/gcc/tree-flow.h
trunk/gcc/tree-pass.h
trunk/gcc/tree-ssa-phiopt.c


-- 


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



[Bug tree-optimization/15353] [tree-ssa] Merge two ifs if one subsumes the other.

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2007-06-12 12:06 
---
Subject: Bug 15353

Author: rguenth
Date: Tue Jun 12 12:06:19 2007
New Revision: 125644

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125644
Log:
2007-06-12  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/15353
PR tree-optimization/31657
* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
* timevar.def: Add TV_TREE_IFCOMBINE.
* tree-pass.h (pass_tree_ifcombine): Declare.
* tree-ssa-ifcombine.c: New file.
* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
* tree-flow.h (blocks_in_phiopt_order): Declare.
* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
(tree-ssa-ifcombine.o): New dependencies.

* gcc.c-torture/execute/20070424-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20070424-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-5.c
trunk/gcc/tree-ssa-ifcombine.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/timevar.def
trunk/gcc/tree-flow.h
trunk/gcc/tree-pass.h
trunk/gcc/tree-ssa-phiopt.c


-- 


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



[Bug tree-optimization/15353] [tree-ssa] Merge two ifs if one subsumes the other.

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-06-12 12:08 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/31657] Should combine bit tests in if stmts

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-06-12 12:08 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/15357] [tree-ssa] combing if statements

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 12:10 ---
The new if-combining pass can be told to make the transformation suggested in
the description.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-06-12 12:36 ---
Confirmed.  A dataflow merge fallout probably:

Program received signal SIGSEGV, Segmentation fault.
0x007c449c in df_insn_refs_verify (collection_rec=0x7fff1ab011c0, 
bb=0x2aec90911360, insn=0x2aec9074dfa0, abort_if_fail=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4148
4148  if (!DF_INSN_UID_DEFS (uid))


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||zadeck at naturalbridge dot
   ||com
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 12:36:27
   date||
Summary|ICE with -O2 -fsee  |[4.3 Regression] ICE with -
   ||O2 -fsee
   Target Milestone|--- |4.3.0


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



[Bug middle-end/32301] New: int __attribute__((vector_size(8))) doesn't use %mm0, produces ugly code

2007-06-12 Thread tomash dot brechko at gmail dot com
When the code below is compiled with -march=pentium4 -msse2 -O3
-fomit-frame-pointer, when N == 4 f() is correct:

f:
movdqa  b, %xmm0
paddd   a, %xmm0
movdqa  %xmm0, c
ret

However for N == 2 gcc 4.2.0 doesn't use %mm0 any more (gcc 4.0.0 worked OK). 
OK, for some reason gcc decides to synthesize the operation using scalar
instructions.  But why the code for f() is so scary, not even close to that of
g()?  My wild guess is that gcc copies vectors onto the stack because it thinks
the vectors may overlap.  But is it really possible?  If so, how can I say that
they never overlap?  Perhaps this is a bug too, because they are declared as
different objects, should not overlap.


#define N  2

typedef signed int data_type;


typedef data_type __attribute__((vector_size(sizeof(data_type) * N))) vector;

extern vector a, b, c;

void
f()
{
  c = a + b;
}


typedef data_type vector2[N];

extern vector2 a2, b2, c2;

void
g()
{
  int i;
  for (i = 0; i  N; ++i)
c2[i] = a2[i] + b2[i];
}


For the code above gcc 4.2.0 produces:

f:
pushl   %esi
pushl   %ebx
subl$36, %esp
movla, %ebx
movla+4, %esi
movlb, %edx
movlb+4, %ecx
movl%edx, 24(%esp)
movl%ecx, 28(%esp)
movl24(%esp), %eax
movl%ebx, 16(%esp)
movl%esi, 20(%esp)
addl16(%esp), %eax
movl%eax, c
movl%edx, 8(%esp)
movl%ecx, 12(%esp)
movl12(%esp), %eax
movl%ebx, (%esp)
movl%esi, 4(%esp)
addl4(%esp), %eax
movl%eax, c+4
addl$36, %esp
popl%ebx
popl%esi
ret

g:
movla2, %eax
addlb2, %eax
movl%eax, c2
movla2+4, %eax
addlb2+4, %eax
movl%eax, c2+4
ret


-- 
   Summary: int __attribute__((vector_size(8))) doesn't use %mm0,
produces ugly code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tomash dot brechko at gmail dot com
 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=32301



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-06-12 12:40 ---
FYI

(gdb) bt
#0  0x007c449c in df_insn_refs_verify (collection_rec=0x70a74130, 
bb=0x2aaeba99e360, insn=0x2aaeba7dafa0, abort_if_fail=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4148
#1  0x007c4717 in df_bb_verify (bb=0x2aaeba99e360)
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4195
#2  0x007c4bf4 in df_scan_verify ()
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4334
#3  0x007b1f56 in df_verify ()
at /space/rguenther/src/svn/trunk/gcc/df-core.c:1513
#4  0x007b0fa0 in df_analyze ()
at /space/rguenther/src/svn/trunk/gcc/df-core.c:1106
#5  0x00efa835 in init_dce (fast=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/dce.c:187
#6  0x00efbd0f in rest_of_handle_fast_dce ()
at /space/rguenther/src/svn/trunk/gcc/dce.c:719
#7  0x00efbda3 in run_fast_dce ()
at /space/rguenther/src/svn/trunk/gcc/dce.c:767
#8  0x00a3840e in rest_of_handle_see ()
at /space/rguenther/src/svn/trunk/gcc/see.c:3823
#9  0x009a4c69 in execute_one_pass (pass=0x1454340)


-- 


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



[Bug target/32301] int __attribute__((vector_size(8))) doesn't use %mm0, produces ugly code

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 12:42 ---
This is on purpose as if the compiler used the MMX registers it would need to
emit emms but it does not do that yet.  There are two other bugs about this
issue already too.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |target


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread zadeck at naturalbridge dot com


--- Comment #3 from zadeck at naturalbridge dot com  2007-06-12 12:46 
---
I am not surprised at this at all.  Given that there are no regression tests
that use -fsee and this pass is never on by default.

I will look into this.  

However, the big picture is that we need to make a decision about optimizations
like this.  They should either be enabled either at some -O level or in
regression tests or they should be removed from the compiler.   They serve no
purpose the way that they are now.


-- 

zadeck at naturalbridge dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |zadeck at naturalbridge dot
   |dot org |com
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-06-12 12:36:27 |2007-06-12 12:46:14
   date||


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



[Bug target/32280] _mm_srli_si128, heinous code for some shifts

2007-06-12 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2007-06-12 12:48 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 13:37 ---
Yes, those should be at least excercised by the tortures.  So, if enabling at
-O3
regtests ok I'd vote for enabling it there.


-- 


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



[Bug c++/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #1 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
13:30 ---
Created an attachment (id=13685)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13685action=view)
compiler output and warnings; the preprocessed file (*.ii) that triggers the
bug

the complete command line that triggers the bug; 
/home/mag/sviluppo/bin/bkeuti /home/mag/sviluppo/config/bkeuti.xml
/home/mag/sviluppo/config/processi.dtd  /dev/null 

The stack content relative to the core file is the following:
(gdb) where
#0  0xd1514a98 in _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base (
__x=incomplete type) at ../../../../gcc-4.1.1/libstdc++-v3/src/tree.cc:68
#1  0x10019fac in _ZNSt17_Rb_tree_iteratorISt4pairIKSsP6CTimerEEppEi (
this=incomplete type)
at
/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../../include/c++/4
.1.1/bits/stl_tree.h:190
#2  0x100200b0 in _ZN13bus_CProcesso17azioniDiBackGroudEv (
this=incomplete type) at bus_CProcesso.cpp:838
#3  0x10022750 in _ZN13bus_CProcesso3vaiEbi (this=incomplete type, 
bSync=false, intSec=1) at bus_CProcesso.cpp:458
#4  0x10022e18 in _ZN22bus_CProcessoExceptionC1Ev (this=incomplete type)
at bus_CProcesso.hpp:88
#5  0x10005054 in main (argc=3, argv=0x2ff22934, envp=0x2ff22944)
at bkeuti.cpp:655
#6  0x1214 in __start ()


-- 


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



[Bug fortran/32302] New: gfortran - incorrect result with -O3

2007-06-12 Thread dir at lanl dot gov
The output of this program is correct when using -g, but incorrect with -O3 -


[dranta:~/junk] dir% cp dyna3dTest01.F Test01.F
[dranta:~/junk] dir% gfortran -g -O3 -std=legacy -DSGI -DWKSTN -DUNIX
-DVECLEN=32 -DDP -fcray-pointer -fno-automatic -o Test01 Test01.F
Test01.F:47.19:

  common/aux32/a17(lnv),a28(lnv),dett(lnv), 
  1
Warning: Named COMMON block 'aux32' at (1) shall be of the same size
Test01.F:53.19:

  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
  1
Warning: Named COMMON block 'aux33' at (1) shall be of the same size
/usr/bin/ld: warning can't open dynamic library: /libgcc_s.1.dylib referenced
from:
/usr/local/gfortran/lib/gcc/powerpc-apple-darwin8.9.0/4.3.0/../../../libgfortran.dylib
(checking for undefined symbols may be affected) (No such file or directory,
errno = 2)
[dranta:~/junk] dir% Test01
  0.250   0.250 
[dranta:~/junk] dir% gfortran -g -std=legacy -DSGI -DWKSTN -DUNIX -DVECLEN=32
-DDP -fcray-pointer -fno-automatic -o Test01 Test01.F
Test01.F:47.19:

  common/aux32/a17(lnv),a28(lnv),dett(lnv), 
  1
Warning: Named COMMON block 'aux32' at (1) shall be of the same size
Test01.F:53.19:

  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
  1
Warning: Named COMMON block 'aux33' at (1) shall be of the same size
/usr/bin/ld: warning can't open dynamic library: /libgcc_s.1.dylib referenced
from:
/usr/local/gfortran/lib/gcc/powerpc-apple-darwin8.9.0/4.3.0/../../../libgfortran.dylib
(checking for undefined symbols may be affected) (No such file or directory,
errno = 2)
[dranta:~/junk] dir% Test01
   1.001.00 
[dranta:~/junk] dir% cat Test01.F
   subroutine unpki(ixp,nwcon,nmel)
  parameter(lnv=VECLEN)
#ifdef DP
  implicit double precision (a-h,o-z)dp
#endif
c
c unpack connection data
c
  common/aux32/kka(lnv),kkb(lnv),kkc(lnv),
 1 kk1(lnv),kk2(lnv),kk3(lnv),dxy(lnv),
 2 dyx(lnv),dyz(lnv),dzy(lnv),dzx(lnv),
 3 dxz(lnv),vx17(lnv),vx28(lnv),vx35(lnv),
 4 vx46(lnv),vy17(lnv),vy28(lnv),
 5 vy35(lnv),vy46(lnv),vz17(lnv),vz28(lnv),vz35(lnv),vz46(lnv)
  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
 1 ix6(lnv),ix7(lnv),ix8(lnv),mxt(lnv)
  dimension ixp(nwcon,*)
c
  return
  end
  subroutine prtal
  parameter(lnv=VECLEN)
#ifdef DP
  implicit double precision (a-h,o-z)dp
#endif
  common/aux8/
  x1(lnv),x2(lnv),x3(lnv),x4(lnv),
  x5(lnv),x6(lnv),x7(lnv),x8(lnv),
  y1(lnv),y2(lnv),y3(lnv),y4(lnv),
  y5(lnv),y6(lnv),y7(lnv),y8(lnv),
  z1(lnv),z2(lnv),z3(lnv),z4(lnv),
  z5(lnv),z6(lnv),z7(lnv),z8(lnv)
  common/aux9/vlrho(lnv),det(lnv)
  common/aux10/
 1 px1(lnv),px2(lnv),px3(lnv),px4(lnv),
  px5(lnv),px6(lnv),px7(lnv),px8(lnv),
 2 py1(lnv),py2(lnv),py3(lnv),py4(lnv),
  py5(lnv),py6(lnv),py7(lnv),py8(lnv),
 3 pz1(lnv),pz2(lnv),pz3(lnv),pz4(lnv),
  pz5(lnv),pz6(lnv),pz7(lnv),pz8(lnv),
 4 vx1(lnv),vx2(lnv),vx3(lnv),vx4(lnv),
 5 vx5(lnv),vx6(lnv),vx7(lnv),vx8(lnv),
 6 vy1(lnv),vy2(lnv),vy3(lnv),vy4(lnv),
 7 vy5(lnv),vy6(lnv),vy7(lnv),vy8(lnv),
 8 vz1(lnv),vz2(lnv),vz3(lnv),vz4(lnv),
 9 vz5(lnv),vz6(lnv),vz7(lnv),vz8(lnv)
  common/aux32/a17(lnv),a28(lnv),dett(lnv),
 1 aj1(lnv),aj2(lnv),aj3(lnv),aj4(lnv),
 2 aj5(lnv),aj6(lnv),aj7(lnv),aj8(lnv),
 3 aj9(lnv),x17(lnv),x28(lnv),x35(lnv),
 4 x46(lnv),y17(lnv),y28(lnv),y35(lnv),
 5 y46(lnv),z17(lnv),z28(lnv),z35(lnv),z46(lnv)
  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
 1 ix6(lnv),ix7(lnv),ix8(lnv),mxt(lnv),nmel
  common/aux36/lft,llt
  common/failu/sieu(lnv),failu(lnv)
  common/sand1/ihf,ibemf,ishlf,itshf
  dimension aj5968(lnv),aj6749(lnv),aj4857(lnv),aji1(lnv),aji2(lnv),
 1  aji3(lnv),aji4(lnv),aji5(lnv),
 1  aji6(lnv),aji7(lnv),aji8(lnv),aji9(lnv),aj12(lnv),
 2  aj45(lnv),aj78(lnv),b17(lnv),b28(lnv),c17(lnv),c28(lnv)
c
  equivalence (x17,aj5968),(x28,aj6749),(x35,aj4857),(x46,aji1),
 1 (y17,aji2),(y28,aji3),(y35,aji4),(y46,aji5),(z17,aji6),
 2 (z28,aji7),(z35,aji8),(z46,aji9),(aj1,aj12),(aj2,aj45),
 3 (aj3,aj78),(px1,b17),(px2,b28),(px3,c17),(px4,c28)
  data o64th/0.0156250/
c
c jacobian matrix
c
  do 10 i=lft,llt
  x17(i)=x7(i)-x1(i)
  x28(i)=x8(i)-x2(i)
  x35(i)=x5(i)-x3(i)
  x46(i)=x6(i)-x4(i)
  y17(i)=y7(i)-y1(i)
  y28(i)=y8(i)-y2(i)
  y35(i)=y5(i)-y3(i)
  y46(i)=y6(i)-y4(i)
  z17(i)=z7(i)-z1(i)
  z28(i)=z8(i)-z2(i)
  z35(i)=z5(i)-z3(i)
   10 z46(i)=z6(i)-z4(i)
  do 20 i=lft,llt
  aj1(i)=x17(i)+x28(i)-x35(i)-x46(i)
  aj2(i)=y17(i)+y28(i)-y35(i)-y46(i)
  

[Bug c++/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #2 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
13:42 ---
(From update of attachment 13685)
the complete command line that triggers the bug:
/home/mag/sviluppo/bin/bkeuti /home/mag/sviluppo/config/bkeuti.xml
/home/mag/sviluppo/config/processi.dtd  /dev/null 

The stack content relative to the core file is the following:
(gdb) where
#0  0xd1514a98 in _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base (
__x=incomplete type) at ../../../../gcc-4.1.1/libstdc++-v3/src/tree.cc:68
#1  0x10019fac in _ZNSt17_Rb_tree_iteratorISt4pairIKSsP6CTimerEEppEi (
this=incomplete type)
at
/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../../include/c++/4
.1.1/bits/stl_tree.h:190
#2  0x100200b0 in _ZN13bus_CProcesso17azioniDiBackGroudEv (
this=incomplete type) at bus_CProcesso.cpp:838
#3  0x10022750 in _ZN13bus_CProcesso3vaiEbi (this=incomplete type, 
bSync=false, intSec=1) at bus_CProcesso.cpp:458
#4  0x10022e18 in _ZN22bus_CProcessoExceptionC1Ev (this=incomplete type)
at bus_CProcesso.hpp:88
#5  0x10005054 in main (argc=3, argv=0x2ff22934, envp=0x2ff22944)
at bkeuti.cpp:655
#6  0x1214 in __start ()


-- 


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



[Bug c++/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #3 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
13:48 ---
•   the exact version of GCC; 
•   the system type; 
•   the options given when GCC was configured/built;

gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../gcc-4.1.1/configure --disable-nls
Thread model: aix
gcc version 4.1.1


-- 

alessandro dot mei at elsagdatamat dot com changed:

   What|Removed |Added

 CC||alessandro dot mei at
   ||elsagdatamat dot com


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



[Bug target/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
  Component|c++ |target
 GCC target triplet||owerpc-ibm-aix5.3.0.0


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



[Bug tree-optimization/32303] New: [4.3 Regression] SPEC2006 447.dealII miscompiled at -O3

2007-06-12 Thread rguenth at gcc dot gnu dot org
See PR30252 comment #30 for bug analysis and a patch.


-- 
   Summary: [4.3 Regression] SPEC2006 447.dealII miscompiled at -O3
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: wrong-code, alias
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug target/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-06-12 14:01 ---
And why do you think GCC is at fault?  It is hard to debug this huge sources
really.  Have you tried to pin point exactly where the issue.  Do you have any
uninitialized variables?  Are you going over array bounds?  Do you take an
address of a local variable and keep it around even after it goes out of scope?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug tree-optimization/32303] [4.3 Regression] SPEC2006 447.dealII miscompiled at -O3

2007-06-12 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread michael dot a dot richmond at nasa dot gov


--- Comment #6 from michael dot a dot richmond at nasa dot gov  2007-06-12 
14:04 ---
When you build gcc and gfortran on your mips box, do you specify your system
type as mips-unknown-linux-gnu or as mips64-unknown-linux-gnu?


-- 


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



[Bug c++/32304] New: ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread wouter dot vermaelen at scarlet dot be
 cat bug.ii
struct S {
S() {}
};
S f() {
static S s;
return s;
}

 g++ -O bug.ii
bug2.ii: In function ‘S f()’:
bug2.ii:6: internal compiler error: in set_mem_attributes_minus_bitpos, at
emit-rtl.c:1573


-- 
   Summary: ICE in set_mem_attributes_minus_bitpos
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #7 from tbm at cyrius dot com  2007-06-12 14:12 ---
mips-linux-gnu, as the Debian package does.  Why?


-- 


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



[Bug c++/32305] New: ICE in initialize_flags_in_bb with -O -fipa-pta

2007-06-12 Thread wouter dot vermaelen at scarlet dot be
 cat bug.ii
struct S1 {
S1() {}
};
struct S2 {
void f2() {
static S1 s1;
}
};
void f(S2 s2) {
s2.f2();
}

 g++ -O -fipa-pta bug.ii
bug1.ii: In function ‘void f(S2)’:
bug1.ii:9: internal compiler error: in initialize_flags_in_bb, at
tree-into-ssa.c:437


-- 
   Summary: ICE in initialize_flags_in_bb  with  -O -fipa-pta
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


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



[Bug middle-end/32304] [4.3 Regression] ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 14:20 ---
readonly is set on this decl which is wrong.

I think I know what is wrong.
ipa-reference.c sets TREE_READONLY on the decl when it really should not be
(even though it is readonly now).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|c++ |middle-end
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 14:20:18
   date||
Summary|ICE in  |[4.3 Regression] ICE in
   |set_mem_attributes_minus_bit|set_mem_attributes_minus_bit
   |pos |pos
   Target Milestone|--- |4.3.0


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



[Bug middle-end/32304] [4.3 Regression] ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-06-12 14:22 ---
*** Bug 31685 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org


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



[Bug middle-end/31685] [4.3 regression] ICE in set_mem_attributes

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2007-06-12 14:22 ---
I am going to mark this as a dup of bug 32304 (even though that is newer)
because it has a short testcase and I added some anyalsis to the problem there.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread michael dot a dot richmond at nasa dot gov


--- Comment #8 from michael dot a dot richmond at nasa dot gov  2007-06-12 
14:33 ---
(In reply to comment #7)
 mips-linux-gnu, as the Debian package does.  Why?

When I run the configure script on an SGI Indy under Debian 4.0, it sets the
system type to mips64-unknown-linux-gnu, and sets the ABI to N32.

When I run the configure script under Debian 3.1, it sets the system type to
mips-unknown-linux-gnu, and sets the ABI to 32.

Which ABI do you use?


-- 


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



[Bug tree-optimization/32306] New: Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com
For the following Code Snippet
void bar ()
{

  b1 = foo(1);
  b2 = foo(1);
  b3 = foo(1);
  b4 = foo(1);
  b5 = foo(1);
  b6 = foo(1);
  b7 = foo(1);
  b8 = foo(1);
  b9 = foo(1);
  b10 = foo(1);
  b11 = foo(1);
  b12 = foo(1);

  array[0] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[1] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[2] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[3] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[4] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[5] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[6] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[7] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[8] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[9] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[10] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;

  return;
}

Where b ( from b1 to b12) are all declared static short b1, static short b2
etc.
and array is static short array[11].
This should generate code such as

if (b1 == 0) goto L1 else goto L2
L2:
if (b2 == 0) goto L1 else goto L3
L3:
if (b3 == 0) goto L1 else goto L4
L4:
if (b4 == 0) goto L1 else goto L5
L5:
if (b5 == 0) goto L1 else goto L6
L6:
if (b6 == 0) goto L1 else goto L7
L7:
if (b7 == 0) goto L1 else goto L8
L8:
if (b8 == 0) goto L1 else goto L9
L9:
if (b9 == 0) goto L1 else goto L10
L10:
if (b10 == 0) goto L1 else goto L11
L11:
if (b11 == 0) goto L1 else goto L12
L12:
if (b12 == 0) goto L1 else goto L13
L13:
array[i]=1 (for i from 0 to 10)
return

L1:
array[i]=0 (for i from 0 to 10)
return

This is exactly what 4.1 generates but 4.3 fails to combine the if sequences.
Version Details:
GNU C version 4.3.0 20070316 (experimental) (arm-none-eabi)
compiled by GNU C version 3.4.6 (Ubuntu 3.4.6-1ubuntu2).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096


-- 
   Summary: Bad Code generation ( Tree optimization )
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pranav dot bhandarkar at gmail dot com
GCC target triplet: arm-none-eabi


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



[Bug tree-optimization/32306] Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com


--- Comment #1 from pranav dot bhandarkar at gmail dot com  2007-06-12 
14:48 ---
Created an attachment (id=13686)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13686action=view)
Tes


-- 


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



[Bug tree-optimization/32306] Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com


--- Comment #2 from pranav dot bhandarkar at gmail dot com  2007-06-12 
14:50 ---
Created an attachment (id=13687)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13687action=view)
Code Generated by 4.1


-- 


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



[Bug tree-optimization/32306] Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com


--- Comment #3 from pranav dot bhandarkar at gmail dot com  2007-06-12 
14:50 ---
Created an attachment (id=13688)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13688action=view)
Code Generated by 4.3


-- 


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



[Bug tree-optimization/32306] [4.2/4.3 Regression] Bad Code generation ( Tree optimization )

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 15:06 ---
Try to narrow it down to sth shorter.  (Looks like a jump-threading issue)


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|arm-none-eabi   |
   Keywords||missed-optimization
  Known to work||4.1.2
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 15:06:52
   date||
Summary|Bad Code generation ( Tree  |[4.2/4.3 Regression] Bad
   |optimization )  |Code generation ( Tree
   ||optimization )
   Target Milestone|--- |4.2.1


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



[Bug c++/32305] ICE in initialize_flags_in_bb with -O -fipa-pta

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-06-12 15:08 ---
trunk-g/gcc ./cc1plus -O -fipa-pta t.ii
 S1::S1() S1::S1() S1::S1() void S2::f2() void f(S2)
Analyzing compilation unit
Performing interprocedural optimizations
 visibility early_local_cleanups inline static-var pure-const pta
t.ii: In member function 'void S2::f2()':
t.ii:10: error: stmt (0x2b369f6d8780) marked modified after optimization pass: 
_ZGVZN2S22f2EvE2s1.0_1 = (char *) _ZGVZN2S22f2EvE2s1;
t.ii:10: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 15:08:11
   date||


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



[Bug fortran/32302] [4.2/4.3 Regression] Incorrect result with -O2

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-06-12 15:09 ---
Until I know for sure, i am moving this back to the fortran component, it might
be a front end issuse still.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|middle-end  |fortran
Summary|[4.2,  4.3 Regression]  |[4.2/4.3 Regression]
   |Incorrect result with -O2   |Incorrect result with -O2


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



[Bug middle-end/32302] [4.2, 4.3 Regression] Incorrect result with -O2

2007-06-12 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-06-12 15:03 ---
Works with 4.1.3 20070521.
Fails with 4.2.1 20070604.
Fails with 4.3.0 20070612. (On x86_64 Linux)

Result is ok (1.0 1.0) for real(4), but not for real(8) (0.25 0.25).
-O1 is also ok, but not -O2.

I used  gfortran -DVECLEN=1 -DDP -O2
(and also  without -DDP and with -O1.)

Presumably a middle-end problem.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|fortran |middle-end
 Ever Confirmed|0   |1
   GCC host triplet|powerpc-apple-darwin8.9.0   |
   Keywords||wrong-code
  Known to fail||4.2.0 4.3.0
  Known to work||4.1.3
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 15:03:55
   date||
Summary|gfortran - incorrect result |[4.2,  4.3 Regression]
   |with -O3|Incorrect result with -O2
   Target Milestone|--- |4.3.0


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



[Bug middle-end/32258] Testsuite reports - FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2007-06-12 15:15 ---
I see those as well, on x86_64-unknown-linux-gnu

FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O0  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O1  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O2  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O3 -fomit-frame-pointer 
scan-tree-d
ump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O3 -g  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -Os  scan-tree-dump pow

./gcc/cc1 --version
GNU C version 4.3.0 20070612 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.3.0 20070612 (experimental), GMP version
4.2.1, MPFR version 2.2.0.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096


-- 


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



[Bug c/32307] New: ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org
The full command line is below.  It appears to be triggered by -m528x and is
indepdendent of selected optimization level.

m68k-rtems4.8-gcc --pipe -DHAVE_CONFIG_H   -I..
-I../../cpukit/../../../uC5282/lib/include -DHAVE_MD5  -Wall -fasm -m528x -O2
-g -MT libshttpd_a-log.o -MD -MP -MF .deps/libshttpd_a-log.Tpo -c -o
libshttpd_a-log.o `test -f 'log.c' || echo
'../../../../../../current/c/src/../../cpukit/shttpd/'`log.c
../../../../../../current/c/src/../../cpukit/shttpd/log.c: In function
'log_access':
../../../../../../current/c/src/../../cpukit/shttpd/log.c:111: error: insn does
not satisfy its constraints:
(insn 74 158 159 10
../../../../../../current/c/src/../../cpukit/shttpd/log.c:90 (set (mem/c:SI
(plus:SI (reg/f:SI 14 %a6)
(reg:SI 1 %d1)) [57 D.6863+0 S4 A16])
(mem/s:SI (plus:SI (reg/v/f:SI 10 %a2 [orig:48 c ] [48])
(const_int 220 [0xdc])) [22 variable.loc.io.total+0 S4 A16]))
34 {*movsi_cf} (nil)
(nil))
../../../../../../current/c/src/../../cpukit/shttpd/log.c:111: internal
compiler error: in reload_cse_simplify_operands, at postreload.c:393
Please submit a full bug report,


-- 
   Summary: ICE building simple httpd log.c for -m5282x option
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: joel at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: m68k-rtems4.8


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



[Bug c/32307] ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org


--- Comment #1 from joel at gcc dot gnu dot org  2007-06-12 15:17 ---
Created an attachment (id=13689)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13689action=view)
preprocessed code to generate problem

The following should reproduce the error:

m68k-rtems4.8-gcc -m528x  -c log_preprocessed.c

I believe this should occur on any m68k target.


-- 


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



[Bug target/32307] ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org


--- Comment #2 from joel at gcc dot gnu dot org  2007-06-12 15:21 ---
Tested using RTEMS cross RPMs for RTEMS 4.6 (gcc 3.2.3) and RTEMS 4.7 (gcc
4.1.1).


-- 

joel at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||3.2.3 4.1.1 4.2.0


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



[Bug middle-end/32258] Testsuite reports - FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2007-06-12 15:31 
---
This is not a bug.
Here is the deal, the reporter compiled GCC with the new headers but is using
the old library (which is known to be buggy).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/32307] ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org


--- Comment #3 from joel at gcc dot gnu dot org  2007-06-12 15:39 ---
Created an attachment (id=13690)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13690action=view)
alternate version of bug file which has if 0 around offensive code

I hacked on the file that tripped the bug and now have this one which has if
0's around the offensive code.  It appears to have offensive sections.

+ an inline conditional
+ two calls to my_snprintf.


-- 


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



[Bug target/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #5 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
15:41 ---
(In reply to comment #4)
 And why do you think GCC is at fault?  It is hard to debug this huge sources
 really.  Have you tried to pin point exactly where the issue.  Do you have any
 uninitialized variables?  Are you going over array bounds?  Do you take an
 address of a local variable and keep it around even after it goes out of 
 scope?

We have tried to pin point exactly where the crash occurs.
It is hard to debug the source really, we agree, however there is nothing
strange at that line and that code works fine on the test server.
We are using GCC 4.1.1 downloaded from aixpdslib UCLA ftp website.
We suspect that the GCC binary downloaded from this ftp site had been compiled
on an AIX 5.3 version different from the one we are using in the production
server. 
So we are now asking support if our suspect could explain the crash.


-- 


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



[Bug middle-end/32176] [4.3 Regression] ICE tree-type mismatch: expected integer_cst, have plus_expr in int_cst_value, at tree.c:7720

2007-06-12 Thread fxcoudert at gcc dot gnu dot org


--- Comment #6 from fxcoudert at gcc dot gnu dot org  2007-06-12 15:44 
---
(In reply to comment #1)
 While the assert is occurs in the middle end, I think it is very likely a
 tree-type mismatch in the front end.

I think it is. It also fails for me on i686-darwin, with -O2
-fprefetch-loop-arrays -m64.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2007-06-01 07:49:47 |2007-06-12 15:44:47
   date||


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



[Bug fortran/32140] [4.3 Regression] Miscompilation with -O1

2007-06-12 Thread fxcoudert at gcc dot gnu dot org


--- Comment #8 from fxcoudert at gcc dot gnu dot org  2007-06-12 15:47 
---
I see it also with today's compiler on i686-darwin:

$ gfortran test.f90 -O2  ./a.out 
 a.bb  ccc 


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2007-05-29 15:32:38 |2007-06-12 15:47:40
   date||


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



[Bug c++/32308] New: template typename T int CTemp int ::sta; make the error

2007-06-12 Thread cxcxcxcx at gmail dot com
gcc -v :
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --with-tune=i686
--enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

g++ -o a a.cpp
a.cpp: In function ¡®void func(T) [with T = int]¡¯:
a.cpp:19:   instantiated from ¡®int CTempint::sta¡¯
a.cpp:19:   instantiated from ¡®void func(T) [with T = int]¡¯
a.cpp:24:   instantiated from here
a.cpp:19: internal compiler error: in instantiate_decl, at cp/pt.c:11775
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see URL:file:///usr/share/doc/gcc-4.1/README.Bugs.
Preprocessed source stored into /tmp/ccXG3CFA.out file, please attach this to
your bugreport.

Source File:
#includeiostream
using namespace std;

template  class T 
class CTemp{
private:
T element;
public:
CTemp (T arg):element(arg){ }
static int sta;
};

template typename T int CTemp int ::sta;

template  class T 
void func (T arg){
CTemp  T  a (arg);
int i;
cout  a.sta endl;
return;
}

int main(){
func (5);
return 0;
}


I'm sorry but I find anywhere to add an attachment


-- 
   Summary: template typename T int CTemp int ::sta; make the
error
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cxcxcxcx at gmail dot com


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



[Bug fortran/32298] MINLOC / MAXLOC: off-by one for PARAMETER arrays

2007-06-12 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-06-12 16:05 ---
The result is ok, if one removes PARAMETER.

If one looks at the dump one find the following difference between arrays which
are parameters and those which are variables:

-S.3 = 0;
+S.3 = 1;
 while (1)
  {
-   if (S.3  6) goto L.3;
+   if (S.3  7) goto L.3;
-   if (ABS_EXPR A.2[S.3] - D.1367  limit.1 || pos.0 == 0)
+   if (ABS_EXPR a[S.3 + -1] - D.1367  limit.1 || pos.0 ==
0)
  {
-   limit.1 = ABS_EXPR A.2[S.3] - D.1367;
+limit.1 = ABS_EXPR a[S.3 + -1] - D.1367;
-pos.0 = S.3;
+pos.0 = S.3;

(This might also affect MAXVAL/MINVAL, though I did not manage to cook up an
example.)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 16:05:26
   date||
Summary|Intrinsic MINLOC / MAXLOC   |MINLOC / MAXLOC: off-by one
   |gives wrong results |for PARAMETER arrays
   |(gfortran build 20070522)   |


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



[Bug middle-end/31541] [4.3 Regression] cannot take address of bit field

2007-06-12 Thread dcb314 at hotmail dot com


--- Comment #7 from dcb314 at hotmail dot com  2007-06-12 16:05 ---
(In reply to comment #5)
 I am finally getting around to testing the patch (been busy with a release of
 our own toolchain last week).

I can confirm that this bug still exists in gcc snapshot
20070608.

Is it significant that the last couple of months 
of gcc 4.3 haven't been able to compile recent
Linux kernels ?


-- 


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



[Bug c++/32308] template typename T int CTemp int ::sta; make the error

2007-06-12 Thread cxcxcxcx at gmail dot com


--- Comment #1 from cxcxcxcx at gmail dot com  2007-06-12 16:08 ---
Created an attachment (id=13691)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13691action=view)
The ii file


-- 


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



[Bug fortran/32298] MINLOC / MAXLOC: off-by one for PARAMETER arrays

2007-06-12 Thread burnus at gcc dot gnu dot org


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
 GCC target triplet|i386-pc-mingw32 |
  Known to fail||4.3.0 4.2.0 4.1.3
   Target Milestone|--- |4.3.0


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #9 from tbm at cyrius dot com  2007-06-12 16:31 ---
O32, just like Debian.  Note that 4.0 also uses O32, although the kernel is
64-bit, so that might explain why it's configuring mips64 for you.

I don't see the point of these questions though.  After all, I confirmed your
bug with gcc 4.1, and also that it's fixed in 4.2 and 4.3.  So the remaining
question is whether this will be fixed in 4.1 (which I doubt).


-- 


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



[Bug target/32301] int __attribute__((vector_size(8))) doesn't use %mm0, produces ugly code

2007-06-12 Thread tomash dot brechko at gmail dot com


--- Comment #2 from tomash dot brechko at gmail dot com  2007-06-12 16:43 
---
Sorry, I failed to find two other reports you reference, maybe I'm repeating
someone's questions then.  Okay, there are reasons not to use %mm0, but why
%xmm0 is not used then?  Something like

f:
movqb, %xmm0
movqa, %xmm1
paddd   %xmm1, %xmm0
movq%xmm0, c
ret

And the other question is if copying of vector onto the stack is a misfeature,
or there are reasons for doing that in synthesized vector operations, so this
won't change.  Thank you!


-- 


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



[Bug tree-optimization/32309] New: Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com
void Sub(short * __restrict src1row, short * __restrict src2row, int
num_in_row) {
  for(int i=num_in_row; i--;) {
*src1row -= *src2row;
++src1row;
++src2row;
  }
}

In the test case above, GCC inserts several explicit conversions soon after the
gimple transformation stage and gets,

D.2097 = *src1row;
D.2098 = (short unsigned int) D.2097;
D.2099 = *src2row;
D.2100 = (short unsigned int) D.2099;
D.2101 = D.2098 - D.2100;
D.2102 = (short int) D.2101;

These conversions breaks the vectorization and GCC reports,

/* i686-unknown-linux-gnu-gcc -O3 -ftree-vectorize -ftree-vectorizer-verbose=5
-march=nocona -fno-strict-aliasing -c test.cc */

..
test.cc:2: note: not vectorized: relevant stmt not supported: D.2430_11 =
(short unsigned int) D.2429_10
test.cc:1: note: vectorized 0 loops in function.


-- 
   Summary: Unnecessary conversion from short to unsigend short
breaks vectorization
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gangren at google dot com
 GCC build triplet: i686-unknown-linux-gnu-gcc
  GCC host triplet: i686-unknown-linux-gnu-gcc
GCC target triplet: i686-unknown-linux-gnu-gcc


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 17:20 ---
The conversions are not Unnecessary, they are necessary because
short_var+short_var when that would overflow the range of short is still
defined.


-- 


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



[Bug fortran/32310] New: Intel-darwin specific ICE on CP2K code

2007-06-12 Thread fxcoudert at gcc dot gnu dot org
I'm working towards reducing this, but it's coming slowly :(
The code attached leads to an ICE with:

$ gfortran -c -O0 qs_mo_types.f90
gfortran: Internal error: Illegal instruction (program f951)

The backtrace for the ICE is:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xbf7fffec
0x000688fd in gfc_free_equiv_lists (l=Cannot access memory at address
0xbf70
0x44567150) at /tmp/gfortran-20070611/ibin/../gcc/gcc/fortran/symbol.c:2621
2621  gfc_free_equiv_lists (l-next);
(gdb) where
#0  0x000688fd in gfc_free_equiv_lists (l=0x44567150) at
/tmp/gfortran-20070611/ibin/../gcc/gcc/fortran/symbol.c:2621

I wonder if this was introduced by Paul's patch recent for multiple
equivalences. Paul, do you have any idea (I know you have no access to darwin,
but I can debug for you if you so wish).

I could not reproduce this on i386-linux (even with valgrind).


-- 
   Summary: Intel-darwin specific ICE on CP2K code
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: i386-apple-darwin8.8.1
  GCC host triplet: i386-apple-darwin8.8.1
GCC target triplet: i386-apple-darwin8.8.1
OtherBugsDependingO 29975
 nThis:


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com


--- Comment #2 from gangren at google dot com  2007-06-12 17:28 ---
(In reply to comment #1)
 The conversions are not Unnecessary, they are necessary because
 short_var+short_var when that would overflow the range of short is still
 defined.
 

Do you mean that short_var + short_var is defined as (short)((unsigned
short)short_var + (unsigned short)short_var)?


-- 


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



[Bug c/32311] New: fprintf prints only a part of a string if the string has \x00

2007-06-12 Thread andrei dot kouznetsov at gmail dot com
when I do
FILE *f = fopen(...);
double k = 10;
fprintf(file, k\x00%f, k);

only the string k will be written to the file (And this is the problem, since
I want the strings k and 10.0 to be separated by the symbol with the code
0).
If I do
fprintf(file, k\0x20%f, k);
then the correct string k 10.0 will be written to the file.

gcc -v:
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)


-- 
   Summary: fprintf prints only a part of a string if the string has
\x00
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andrei dot kouznetsov at gmail dot com


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-06-12 17:36 ---
Do you mean that short_var + short_var is defined as 
 (short)((unsigned short)short_var + (unsigned short)short_var)?

Kinda, because it is really defined by the C standard as:
 (short)((int)short_var + (int)short_var)
And then GCC's middle-end optimizes it to:
(short)((unsigned short)short_var + (unsigned short)short_var)

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


-- 

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=32309



[Bug tree-optimization/26128] Trivial operation not vectorized on char/short

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-06-12 17:36 ---
*** Bug 32309 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||gangren at google dot com


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



[Bug c/32311] fprintf prints only a part of a string if the string has \x00

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 17:40 ---
This is correct behavior because strings are really char arrays terminated by
the null character (0 aka '\x00') so when you write k\x00%f, you really have
a string that is only of length 1.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread dorit at il dot ibm dot com


--- Comment #4 from dorit at il dot ibm dot com  2007-06-12 17:46 ---
it's on my (long) todo list...


-- 


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



[Bug libstdc++/29286] [4.0/4.1/4.2/4.3 Regression] placement new does not change the dynamic type as it should

2007-06-12 Thread ian at gcc dot gnu dot org


--- Comment #177 from ian at gcc dot gnu dot org  2007-06-12 17:47 ---
Subject: Bug 29286

Author: ian
Date: Tue Jun 12 17:47:37 2007
New Revision: 125653

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125653
Log:
./:
PR libstdc++/29286
* tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR.
* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define.
(CHANGE_DYNAMIC_TYPE_LOCATION): Define.
(DECL_NO_TBAA_P): Define.
(struct tree_decl_common): Add no_tbaa_flag field.
* tree-ssa-structalias.c (struct variable_info): Add
no_tbaa_pruning field.
(new_var_info): Initialize no_tbaa_pruning field.
(unify_nodes): Copy no_tbaa_pruning field.
(find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR.
(dump_solution_for_var): Print no_tbaa_pruning flag.
(set_uids_in_ptset): Add no_tbaa_pruning parameter.  Change all
callers.
(compute_tbaa_pruning): New static function.
(compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes.
Call compute_tbaa_pruning.
* tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers.
* gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR.
* gimple-low.c (lower_stmt): Likewise.
* tree-gimple.c (is_gimple_stmt): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
(copy_result_decl_to_var): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag.
* omp-low.c (omp_copy_decl_2): Likewise.
* print-tree.c (print_node): Print DECL_NO_TBAA_P flag.
* doc/c-tree.texi (Expression trees): Document
CHANGE_DYNAMIC_TYPE_EXPR.
cp/:
PR libstdc++/29286
* init.c (avoid_placement_new_aliasing): New static function.
(build_new_1): Call it.
testsuite/:
PR libstdc++/29286
* g++.dg/init/new16.C: New test.
* g++.dg/init/new17.C: New test.
* g++.dg/init/new18.C: New test.
* g++.dg/init/new19.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/init/new16.C
trunk/gcc/testsuite/g++.dg/init/new17.C
trunk/gcc/testsuite/g++.dg/init/new18.C
trunk/gcc/testsuite/g++.dg/init/new19.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/init.c
trunk/gcc/doc/c-tree.texi
trunk/gcc/expr.c
trunk/gcc/gimple-low.c
trunk/gcc/gimplify.c
trunk/gcc/omp-low.c
trunk/gcc/print-tree.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-gimple.c
trunk/gcc/tree-inline.c
trunk/gcc/tree-pretty-print.c
trunk/gcc/tree-ssa-alias.c
trunk/gcc/tree-ssa-dce.c
trunk/gcc/tree-ssa-operands.c
trunk/gcc/tree-ssa-structalias.c
trunk/gcc/tree.def
trunk/gcc/tree.h


-- 


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



[Bug target/32180] Paranoia UCB GSL TestFloat libm tests fail - accuracy of recent gcc math poor

2007-06-12 Thread rob1weld at aol dot com


--- Comment #15 from rob1weld at aol dot com  2007-06-12 17:50 ---
Correctly Rounded mathematical library
http://lipforge.ens-lyon.fr/www/crlibm/index.html


CRlibm, an efficient and proven correctly-rounded mathematical library
CRlibm is a free mathematical library (libm) which provides:

* implementations of the double-precision C99 standard elementary functions,

* correctly rounded in the four IEEE-754 rounding modes,

* with a comprehensive proof of both the algorithms used and their
implementation,

* sufficiently efficient in average time, worst-case time, and memory
consumption to replace existing libms transparently,


CRlibm is distributed under the GNU Lesser General Public License (LGPL). 

Included in the distribution is an extensive documentation with the proof of
each function (currently more than 100 pages), as well as all the Maple scripts
used to develop the functions. This makes this library an excellent tutorial on
software elementary function development.


Note than they provide proof for the library. I'll examine this link more
closely. Nearly finished my patch testing - may be a few days. 

Some functions are _many_ times faster than MPFR.


-- 


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com


--- Comment #5 from gangren at google dot com  2007-06-12 17:53 ---
(In reply to comment #3)
 Do you mean that short_var + short_var is defined as 
  (short)((unsigned short)short_var + (unsigned short)short_var)?
 
 Kinda, because it is really defined by the C standard as:
  (short)((int)short_var + (int)short_var)
 And then GCC's middle-end optimizes it to:
 (short)((unsigned short)short_var + (unsigned short)short_var)
 
 *** This bug has been marked as a duplicate of 26128 ***
 

I'm aware of integral promotion. But not quite understand why we can optimize
(short)((int)short_var + (int)short_var) to (short)((unsigned short)short_var +
(unsigned short)short_var), but not to (short)((short)short_var +
(short)short_var)? Is it because unsigned short has different overflow
handling?


-- 


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



Re: [Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread Andrew Pinski

On 12 Jun 2007 17:53:19 -, gangren at google dot com
[EMAIL PROTECTED] wrote:


I'm aware of integral promotion. But not quite understand why we can optimize
(short)((int)short_var + (int)short_var) to (short)((unsigned short)short_var +
(unsigned short)short_var), but not to (short)((short)short_var +
(short)short_var)? Is it because unsigned short has different overflow
handling?


Yes, signed short has undefined overflow, while unsigned is defined as wrapping.

--Pinski


[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread pinskia at gmail dot com


--- Comment #6 from pinskia at gmail dot com  2007-06-12 17:56 ---
Subject: Re:  Unnecessary conversion from short to unsigend short breaks
vectorization

On 12 Jun 2007 17:53:19 -, gangren at google dot com
[EMAIL PROTECTED] wrote:

 I'm aware of integral promotion. But not quite understand why we can optimize
 (short)((int)short_var + (int)short_var) to (short)((unsigned short)short_var 
 +
 (unsigned short)short_var), but not to (short)((short)short_var +
 (short)short_var)? Is it because unsigned short has different overflow
 handling?

Yes, signed short has undefined overflow, while unsigned is defined as
wrapping.

--Pinski


-- 


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com


--- Comment #7 from gangren at google dot com  2007-06-12 18:10 ---
(In reply to comment #6)
 Subject: Re:  Unnecessary conversion from short to unsigend short breaks
 vectorization
 
 On 12 Jun 2007 17:53:19 -, gangren at google dot com
 [EMAIL PROTECTED] wrote:
 
  I'm aware of integral promotion. But not quite understand why we can 
  optimize
  (short)((int)short_var + (int)short_var) to (short)((unsigned 
  short)short_var +
  (unsigned short)short_var), but not to (short)((short)short_var +
  (short)short_var)? Is it because unsigned short has different overflow
  handling?
 
 Yes, signed short has undefined overflow, while unsigned is defined as
 wrapping.
 
 --Pinski
 

Thanks. So even if the underlining architecture does not trigger an overflow on
signed short (like AltiVec if I remember correctly), we still need to have such
conversions? In addition, does undefined overflow include no overflow? 


-- 


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



[Bug fortran/32310] Intel-darwin specific ICE on CP2K code

2007-06-12 Thread fxcoudert at gcc dot gnu dot org


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2007-06-12 18:10 
---
Created an attachment (id=13692)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13692action=view)
Testcase and module files that generate the ICE


-- 


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



[Bug libstdc++/29286] [4.0/4.1/4.2/4.3 Regression] placement new does not change the dynamic type as it should

2007-06-12 Thread ian at airs dot com


--- Comment #178 from ian at airs dot com  2007-06-12 18:10 ---
Fixed on mainline.  No plans to backport the patch to previous releases.


-- 

ian at airs dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work|3.4.0   |3.4.0 4.3.0
 Resolution||FIXED
   Target Milestone|4.2.1   |4.3.0


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread zadeck at naturalbridge dot com


--- Comment #5 from zadeck at naturalbridge dot com  2007-06-12 18:13 
---
This bug should be assigned to Mircea Namolaru [EMAIL PROTECTED].  I have
sent him mail asking that he get a proper bugzilla id.

==
The underlying problem is that see.c:2732 uses copy_rtx to make a copy
of an insn and then hacks on it with validate_change (and it's close
relatives).  This is not the approved way to copy an insn.  

The copy_rtx function has two problems with df:

1) The copy has a basic_block, even though it is not
in the insn stream, 

2) The copy has the same insn_uid as the old insn.  This is not legal
and confuses df which keeps side info indexed by the insn_uid.

There are several proper ways to make a copy of an insn:

1) call make_insn_raw (copy_rtx (PATTERN (ref))).

2) However, according to Ian Taylor, a middle end maintainer, the
better thing to do would be to copy the pattern of the insn, not the
insn itself and then hack on that.

However, you then make a move insn and hack the modified copy so that
it is right next to the move.  What you should do insert the copy
before the new move using one of the calls in emit_rtl such as
add_insn_before.  No one is supposed to hack the next and prev insn
themselves.

The rest of the pass appears to be df ready.  Of course until it is
tested it most likely does not work.  And so adding some regression
tests would be good.


-- 


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



[Bug middle-end/32304] [4.3 Regression] ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-06-12 18:16 ---
The patch which fixes the problem:
Index: ipa-reference.c
===
--- ipa-reference.c (revision 125637)
+++ ipa-reference.c (working copy)
@@ -269,6 +269,10 @@
   if (DECL_EXTERNAL (t) || TREE_PUBLIC (t))
 return false;

+  /* We cannot touch decl's whos types need constructing. */
+  if (TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (t)))
+return false;
+
   /* This is a variable we care about.  Check if we have seen it
  before, and if not add it the set of variables we care about.  */
   if (!bitmap_bit_p (all_module_statics, DECL_UID (t)))


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread ian at airs dot com


--- Comment #8 from ian at airs dot com  2007-06-12 18:25 ---
Undefined signed overflow is a language issue, not a processor issue.  When
signed overflow is undefined, the compiler can and does make certain
assumptions about the results of operations.  For example, it assumes that a +
1  a is always true.

In this case gcc is trying to optimize by doing the computation in short rather
than int.  But since the language requires that the computation be done in int,
gcc has to make sure to get the same result.  If the computation were done in
short, and if later compilation passes could prove that the computation
overflowed in short, then the result would be different than if the computation
were done in int.


-- 

ian at airs dot com changed:

   What|Removed |Added

 CC||ian at airs dot com


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



[Bug c++/32308] [4.1/4.2/4.3 Regression] template typename T int CTemp int ::sta; make the error

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-06-12 18:46 ---
should read 

template  int CTemp int ::sta;

because

t.C(13): error: CTempint is not a class template
  template class T int CTemp int ::sta;
 ^


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-invalid-code
  Known to work||3.4.6
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 18:46:57
   date||
Summary|template typename T int   |[4.1/4.2/4.3 Regression]
   |CTemp int ::sta; make the |template typename T int
   |error   |CTemp int ::sta; make the
   ||error
   Target Milestone|--- |4.1.3


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com


--- Comment #9 from gangren at google dot com  2007-06-12 18:58 ---
(In reply to comment #8)
 if later compilation passes could prove that the computation
 overflowed in short, then the result would be different than if the 
 computation
 were done in int.

The result could be different. But in some cases, such as this example, the
result  (variable) would be the same. In general, integral promotion might not
be necessary when both destination and sources are short integers?


-- 


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



[Bug c++/32308] [4.1/4.2/4.3 Regression] template typename T int CTemp int ::sta; make the error

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-06-12 19:02 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/24791] ICE on invalid instantiation of template's static member

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2007-06-12 19:02 ---
*** Bug 32308 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||cxcxcxcx at gmail dot com


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



[Bug rtl-optimization/31987] [4.3 Regression] ICE in remove_insn, at emit-rtl.c:3579 at -O3

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-06-12 19:13 ---
Looks like the dataflow merge now exposes this to SPEC2000 FDO runs on x86_64
for wupwise and gcc.


-- 


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



[Bug middle-end/31579] [4.3 regression] ICE when compiling attached code

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2007-06-12 19:16 ---
Subject: Bug 31579

Author: pinskia
Date: Tue Jun 12 19:15:50 2007
New Revision: 125655

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125655
Log:
2007-06-12  Andrew Pinski  [EMAIL PROTECTED]

PR middle-end/31579
* expr.c (expand_expr_addr_expr_1): Call expand_expr
for the offset with the modifier as EXPAND_INITIALIZER
if the modifier is EXPAND_INITIALIZER.
(expand_expr_real_1 case INTEGER_CST): Don't force to
a register if we had an overflow.

2007-06-12  Andrew Pinski  [EMAIL PROTECTED]

PR middle-end/31579
 * g++.dg/torture/pr31579.C: New testcase.


Added:
trunk/gcc/testsuite/g++.dg/torture/pr31579.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/31579] [4.3 regression] ICE when compiling attached code

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2007-06-12 19:16 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/30905] [4.3 Regression] Fails to cross-jump

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 19:17 ---
Now in mainline.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||4.2.0
Summary|[dataflow] Fails to cross-  |[4.3 Regression] Fails to
   |jump|cross-jump
   Target Milestone|--- |4.3.0


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



[Bug bootstrap/32312] New: [4.3.0 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-12 Thread ghazi at gcc dot gnu dot org
I'm getting a new bootstrap failure on sparc-sun-solaris2.10 in stage1 building
libgcc2.a:

/tmp/kg/pat/build/./gcc/xgcc -B/tmp/kg/pat/build/./gcc/
-B/usr/local/sparc-sun-solaris2.10/bin/ -B/usr/local/sparc-sun-solaris2.10/lib/
-isystem /usr/local/sparc-sun-solaris2.10/include -isystem
/usr/local/sparc-sun-solaris2.10/sys-include -O2 -g -O2  -O2 -g  -DIN_GCC-W
-Wall -Wwrite-strings -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../../../egcc-SVN20070612/libgcc -I../../../egcc-SVN20070612/libgcc/.
-I../../../egcc-SVN20070612/libgcc/../gcc
-I../../../egcc-SVN20070612/libgcc/../include  -o _absvdi2.o -MT _absvdi2.o -MD
-MP -MF _absvdi2.dep -DL_absvdi2 -c
../../../egcc-SVN20070612/libgcc/../gcc/libgcc2.c \

../../../egcc-SVN20070612/libgcc/../gcc/libgcc2.c: In function '__absvdi2':
../../../egcc-SVN20070612/libgcc/../gcc/libgcc2.c:280: internal compiler error:
Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
make[2]: *** [_absvdi2.o] Error 1


-- 
   Summary: [4.3.0 regression] bootstrap failure on sparc-sun-
solaris2.10
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: blocker
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ghazi at gcc dot gnu dot org
GCC target triplet: sparc-sun-solaris2.10


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



[Bug bootstrap/32312] [4.3.0 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-12 Thread ghazi at gcc dot gnu dot org


--- Comment #1 from ghazi at gcc dot gnu dot org  2007-06-12 20:37 ---
This worked as of June 9th, so it's recent.

The SEGV happens because df (used in the macro DF_REG_DEF_COUNT) is nil:



signal SEGV (no mapping at the fault address) in sparc_check_64 at line 7677 in
file sparc.c
 7677  DF_REG_DEF_COUNT (REGNO (y)) == 1)
(dbx) where
=[1] sparc_check_64(x = 0xff168620, insn = 0xff123810), line 7677 in sparc.c
  [2] output_v8plus_shift(operands = 0x1f07484, insn = 0xff123810, opcode =
0x1e8e364 srax), line 7741 in sparc.c
  [3] output_363(operands = 0x1f07484, insn = 0xff123810), line 6499 in
sparc.md
  [4] get_insn_template(code = 363, insn = 0xff123810), line 1584 in final.c
  [5] final_scan_insn(insn = 0xff123810, file = 0x1f013c8, optimize = 2,
nopeepholes = 0, seen = 0xffbff22c), line 2460 in final.c
  [6] final(first = 0xff123658, file = 0x1f013c8, optimize = 2), line 1569 in
final.c
  [7] rest_of_handle_final(), line 3973 in final.c
  [8] execute_one_pass(pass = 0x1ec37ec), line 1124 in passes.c
  [9] execute_pass_list(pass = 0x1ec37ec), line 1177 in passes.c
  [10] execute_pass_list(pass = 0x1ec3d94), line 1178 in passes.c
  [11] execute_pass_list(pass = 0x1ec3d60), line 1178 in passes.c
  [12] tree_rest_of_compilation(fndecl = 0xff154d20), line 406 in
tree-optimize.c
  [13] c_expand_body(fndecl = 0xff154d20), line 4331 in c-common.c
  [14] cgraph_expand_function(node = 0xff15fb30), line 1073 in cgraphunit.c
  [15] cgraph_expand_all_functions(), line 1142 in cgraphunit.c
  [16] cgraph_optimize(), line 1349 in cgraphunit.c
  [17] c_write_global_declarations(), line 7911 in c-decl.c
  [18] compile_file(), line 1064 in toplev.c
  [19] do_compile(), line 2150 in toplev.c
  [20] toplev_main(argc = 25U, argv = 0xffbff92c), line 2182 in toplev.c
  [21] main(argc = 25, argv = 0xffbff92c), line 35 in main.c
(dbx) list
 7677  DF_REG_DEF_COUNT (REGNO (y)) == 1)
 7678   set_once = 1;
 7679
 7680 if (insn == 0)
 7681   {
 7682 if (set_once)
 7683   insn = get_last_insn_anywhere ();
 7684 else
 7685   return 0;
 7686   }
(dbx) print df
df = (nil)
(dbx)


-- 


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



  1   2   >