[Bug fortran/35719] pointer to zero sized array not associated

2008-05-09 Thread jb at gcc dot gnu dot org


--- Comment #6 from jb at gcc dot gnu dot org  2008-05-09 06:15 ---
Another solution is to have status flags for allocated and associated in the
descriptor, IIRC at least Pathscale does this.

Aren't there actually free bits left in the dtype flag that gfortran could use,
without requiring to change the descriptor?


-- 


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



[Bug fortran/36162] Non-ASCII character in module string gives ICE

2008-05-09 Thread fxcoudert at gcc dot gnu dot org


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2008-05-09 08:03 
---
Subject: Bug 36162

Author: fxcoudert
Date: Fri May  9 08:02:52 2008
New Revision: 135109

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135109
Log:
PR fortran/36162

* module.c (quote_string, unquote_string,
mio_allocated_wide_string): New functions.
(mio_expr): Call mio_allocated_wide_string where needed.

* gfortran.dg/module_widestring_1.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/module_widestring_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/module.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/36162] Non-ASCII character in module string gives ICE

2008-05-09 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2008-05-09 08:04 
---
Fixed.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug c++/36185] New: wrong code with -O2 -fgcse-sm

2008-05-09 Thread wouter dot vermaelen at scarlet dot be
 cat -n bug.cc
 1  struct Base {
 2  virtual ~Base() {}
 3  virtual void f() = 0;
 4  };
 5  struct Derived : Base {
 6  Derived();
 7  virtual void f() {}
 8  };
 9  struct Foo {
10  Foo(Base);
11  };
12
13  Derived::Derived() {
14  Foo foo(*this);
15  }
16  Foo::Foo(Base base) {
17  base.f();
18  }
19  int main() {
20  Derived d;
21  }

 g++ -g -O2 -fgcse-sm bug.cc
 ./a.out
Segmentation fault (core dumped)

#0  0x in ?? ()
#1  0x00400775 in Derived (this=0x7fff2fc93390) at bug.cc:14
#2  0x004007ec in main () at bug.cc:20


I'm using gcc revision 135109 on linux x86_64.


-- 
   Summary: wrong code with  -O2 -fgcse-sm
   Product: gcc
   Version: 4.4.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=36185



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |blocker
   Keywords||wrong-code
  Known to fail||4.3.1
  Known to work||4.3.0
   Priority|P3  |P1


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



[Bug middle-end/36129] [4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-05-09 09:12 ---
Probably duplicate of or at least related to PR35215 ?


-- 


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



[Bug rtl-optimization/36185] [4.4 Regression] wrong code with -O2 -fgcse-sm

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-09 09:21 ---
Confirmed.  We move parameter initialization after the call...

  this-D.2090._vptr.Base = _ZTV7Derived[2];
  __comp_ctor  (foo, this-D.2090);

@@ -59,11 +59,11 @@
movq%rbx, %rsi
subq$16, %rsp
 .LCFI1:
-   movq$_ZTV7Derived+16, (%rdi)
leaq15(%rsp), %rdi
 .LEHB0:
call_ZN3FooC1ER4Base
 .LEHE0:
+   movq$_ZTV7Derived+16, (%rbx)
addq$16, %rsp
popq%rbx
ret


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |rtl-optimization
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 09:21:23
   date||
Summary|wrong code with  -O2 -fgcse-|[4.4 Regression] wrong code
   |sm  |with  -O2 -fgcse-sm
   Target Milestone|--- |4.4.0


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



[Bug tree-optimization/36181] Simple for loop generates ICE with -ftree-parallelize-loops=2

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-09 09:10 ---
The integer vector operation

(gdb) call debug_generic_expr (phi)
vect_var_.32_20 = PHI vect_var_.32_21(4), { 0, 0, 0, 0 }(9)

is not considered a simple iv.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rakdver at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
  Known to fail||4.3.0 4.4.0
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 09:10:34
   date||


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



[Bug fortran/36186] New: Wrong handling of BOZ in CMPLX

2008-05-09 Thread fxcoudert at gcc dot gnu dot org
$ cat a.f90
program test0
   implicit none
   integer :: x = 1
   write(*,*) cmplx(b'0110100101010001',1,4)
   write(*,*) cmplx(b'0110100101010001',x,4)
end program test0
$ gfortran a.f90
$ ./a.out
 (  2.6457512, 1.)
 ( 1.07645030E+09, 1.)

This is because we don't simplify the second case, and then we convert the boz,
which is represented as a maximal-size integer, into a real; as the integer is
too long, that doesn't work.

I believe it's the only place that can happen, as for other intrinsics, there
*always* is simplification in such a case. What we should do is not too clear
to me, maybe a BOZ expert could help: one thing possible is to trap that case
in the simplification routine, and even if we can't simplify the whole
intrinsic, we silently convert the BOZ there; or we take care of it in
trans-intrinsic.c.


-- 
   Summary: Wrong handling of BOZ in CMPLX
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org


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



[Bug fortran/36186] Wrong handling of BOZ in CMPLX

2008-05-09 Thread fxcoudert at gcc dot gnu dot org


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2008-05-09 09:40 
---
And a related issue:

program test0
   implicit none
   integer :: x = 0
   write(*,*) cmplx(b'10110100101010001',x,4)
end program test0

This should error with BOZ constant at (1) is too large (33 vs 32 bits), as
we do for other cases, but it doesn't. This seems to imply we really should
take care of all this in the simplification routine (convert the BOZ).


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 09:40:29
   date||


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



[Bug ada/34492] corefoundation-cfbase.ads failed to compile

2008-05-09 Thread sam at gcc dot gnu dot org


--- Comment #3 from sam at gcc dot gnu dot org  2008-05-09 09:46 ---
This is not a GCC bug in this case, the Ptr formal parameter masks the Ptr
type.


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug ada/34496] [4.2/4.3 Regression] prefixed notation allows changing the value of a constant

2008-05-09 Thread sam at gcc dot gnu dot org


--- Comment #4 from sam at gcc dot gnu dot org  2008-05-09 09:48 ---
This appears to be fixed in SVN trunk:

25.pak3.x2.p1(5); -- line 25
   |
 actual for x1 must be a variable

27.pak3.x3.all.p1(7); -- line 27
   |
 actual for x1 must be a variable


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|4.2.4   |4.4.0


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



[Bug ada/34504] Legal program runs incorrectly, dynamic dispatching with interfaces, RM 3.9.2(5/2, 20/2), 3.9.4(1/2)

2008-05-09 Thread sam at gcc dot gnu dot org


--- Comment #2 from sam at gcc dot gnu dot org  2008-05-09 09:51 ---
This appears to be already fixed on SVN trunk:

Do_Stuff( Thing : in D ) =   0
Finalize( Thing : in out D ) =   0
Finalize( Thing : in out D ) =  -1


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug other/35486] Can't build gimple-tuples-branch

2008-05-09 Thread belyshev at depni dot sinp dot msu dot ru


--- Comment #3 from belyshev at depni dot sinp dot msu dot ru  2008-05-09 
09:59 ---
Fixed long ago.


-- 

belyshev at depni dot sinp dot msu dot ru changed:

   What|Removed |Added

 CC||belyshev at depni dot sinp
   ||dot msu dot ru
 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/35964] ICE with -funroll-loops on arm/arm eabi

2008-05-09 Thread riku dot voipio at iki dot fi


--- Comment #6 from riku dot voipio at iki dot fi  2008-05-09 10:05 ---
The attached testcases compile now fine with gcc 4.3 branch updated to 20080501

Using built-in specs.
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.0-4'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --disable-libssp --disable-sjlj-exceptions
--enable-checking=release --build=arm-linux-gnueabi --host=arm-linux-gnueabi
--target=arm-linux-gnueabi
Thread model: posix
gcc version 4.3.1 20080501 (prerelease) (Debian 4.3.0-4)


-- 

riku dot voipio at iki dot fi changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/36177] [4.4 Regression] g++.dg/opt/pr23714.C ICEs with 135041 - 135057

2008-05-09 Thread hp at gcc dot gnu dot org


--- Comment #7 from hp at gcc dot gnu dot org  2008-05-09 10:16 ---
(In reply to comment #5)

 I am testing this patch on x86.  But hp needs to test it on the cris 
 before i will ask for approval.

The patch works with no regressions; tested against 135097 for cris-elf and
crisv32-elf.  Thanks again.


-- 


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



[Bug middle-end/36129] [4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2008-05-09 11:13 ---
Something interesting:

In atomic_kind_types.F.085t.copyprop3, we have:

bb 76:
  D.2711_888 = *atomic_kind_38(D);
  D.2731_889 = D.2711_888-element_symbol[1]{lb: 1 sz: 1};
  __builtin_memcpy (element_symbol[1]{lb: 1 sz: 1}, D.2731_889, 1);
  __builtin_memset (element_symbol[2]{lb: 1 sz: 1}, 32, 1);IOR value ior:0.
Average value sum:0 times:0.

  goto bb 78;

and in atomic_kind_types.F.086.fab, we have:

bb 75:
  D.2711_885 = *atomic_kind_38(D);
  D.2731_886 = D.2711_885-element_symbol[1]{lb: 1 sz: 1};
  __builtin_memmove (element_symbol[1]{lb: 1 sz: 1}, D.2731_886, 2);
  goto bb 78;


As can be seen, __builtin_memset (element_symbol[2]{lb: 1 sz: 1}, 32, 1)
expression that troubles us just vanished, apparently leaving dead histogram
behind.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 11:13:09
   date||


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



[Bug middle-end/36129] [4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-05-09 11:18 ---
-fdump-tree-fab-details:

;; Function read_atomic_kind (__atomic_kind_types_MOD_read_atomic_kind)

Simplified
  __builtin_memset (element_symbol[2]{lb: 1 sz: 1}, 32, 1);
to
  (void) 0;


-- 


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



[Bug middle-end/36177] [4.4 Regression] g++.dg/opt/pr23714.C ICEs with 135041 - 135057

2008-05-09 Thread zadeck at naturalbridge dot com


--- Comment #8 from zadeck at naturalbridge dot com  2008-05-09 11:20 
---
Subject: Re:  [4.4 Regression] g++.dg/opt/pr23714.C
 ICEs with 135041 - 135057

hp at gcc dot gnu dot org wrote:
 --- Comment #7 from hp at gcc dot gnu dot org  2008-05-09 10:16 ---
 (In reply to comment #5)

   
 I am testing this patch on x86.  But hp needs to test it on the cris 
 before i will ask for approval.
 

 The patch works with no regressions; tested against 135097 for cris-elf and
 crisv32-elf.  Thanks again.


   
Bonzini,

Would you review this patch?  I know i am missing the bug number on the 
changelog.

kenny


-- 


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



[Bug middle-end/36177] [4.4 Regression] g++.dg/opt/pr23714.C ICEs with 135041 - 135057

2008-05-09 Thread bonzini at gnu dot org


--- Comment #9 from bonzini at gnu dot org  2008-05-09 11:32 ---
You know I'm still not sure if I can review patches outside df* (i.e. files
that do what flow.c did, but are not dataflow related), but if you think I
can... then patch is ok. :-)


-- 


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



[Bug middle-end/36129] [4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2008-05-09 11:48 ---
Patch in testing:

Index: tree-ssa-ccp.c
===
--- tree-ssa-ccp.c  (revision 135108)
+++ tree-ssa-ccp.c  (working copy)
@@ -2916,6 +2916,9 @@ execute_fold_all_builtins (void)
continue;
  }

+ if (result)
+   gimple_remove_stmt_histograms (cfun, *stmtp);
+
  if (dump_file  (dump_flags  TDF_DETAILS))
{
  fprintf (dump_file, Simplified\n  );


-- 


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



[Bug middle-end/36129] [4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2008-05-09 11:50 ---
*** Bug 35215 has been marked as a duplicate of this bug. ***


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||astrange at ithinksw dot com


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



[Bug middle-end/35215] ICE: verify_histograms failed with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2008-05-09 11:50 ---
The proposed patch is attached to PR36129. Should also fix this PR.

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


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/36129] [4.3, 4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2008-05-09 11:54 ---
The same problem is on 4.3 branch, as confirmed by the dupe.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Component|middle-end  |tree-optimization
  Known to work|4.2.3 4.3.0 |
Summary|[4.4 Regression] ICE with - |[4.3, 4.4 Regression] ICE
   |fprofile-use|with -fprofile-use


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



[Bug middle-end/36177] [4.4 Regression] g++.dg/opt/pr23714.C ICEs with 135041 - 135057

2008-05-09 Thread zadeck at naturalbridge dot com


--- Comment #10 from zadeck at naturalbridge dot com  2008-05-09 11:58 
---
Subject: Re:  [4.4 Regression] g++.dg/opt/pr23714.C
 ICEs with 135041 - 135057

bonzini at gnu dot org wrote:
 --- Comment #9 from bonzini at gnu dot org  2008-05-09 11:32 ---
 You know I'm still not sure if I can review patches outside df* (i.e. files
 that do what flow.c did, but are not dataflow related), but if you think I
 can... then patch is ok. :-)


   
I had talked to david last time you raised this issue and he indicated 
that he thought it was fine.
If someone objects, the patch can be reversed. 

Thanks

Kenny


-- 


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



[Bug fortran/36117] Use MPFR for bessel function (optimization, rejects valid F2008)

2008-05-09 Thread zadeck at gcc dot gnu dot org


--- Comment #5 from zadeck at gcc dot gnu dot org  2008-05-09 12:15 ---
Subject: Bug 36117

Author: zadeck
Date: Fri May  9 12:14:57 2008
New Revision: 135113

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135113
Log:
2008-05-08  Kenneth Zadeck  [EMAIL PROTECTED]

PR middle-end/36117
* dce.c (deletable_insn_p): Do not delete calls if 
df_in_progress.
(delete_unmarked_insns): When deleting a call, call 
delete_unreachable_blocks.
* rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
RTL_CONST_OR_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P): Fixed
doc.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/doc/rtl.texi


-- 


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



[Bug ada/36001] $(GNATMAKE) not defined with 'cd gcc make'

2008-05-09 Thread sam at gcc dot gnu dot org


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |sam at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 12:24:24
   date||


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



[Bug middle-end/36177] [4.4 Regression] g++.dg/opt/pr23714.C ICEs with 135041 - 135057

2008-05-09 Thread zadeck at naturalbridge dot com


--- Comment #11 from zadeck at naturalbridge dot com  2008-05-09 12:25 
---
Subject: Re:  [4.4 Regression] g++.dg/opt/pr23714.C
 ICEs with 135041 - 135057

zadeck at naturalbridge dot com wrote:
 --- Comment #10 from zadeck at naturalbridge dot com  2008-05-09 11:58 
 ---
 Subject: Re:  [4.4 Regression] g++.dg/opt/pr23714.C
  ICEs with 135041 - 135057

 bonzini at gnu dot org wrote:
   
 --- Comment #9 from bonzini at gnu dot org  2008-05-09 11:32 ---
 You know I'm still not sure if I can review patches outside df* (i.e. files
 that do what flow.c did, but are not dataflow related), but if you think I
 can... then patch is ok. :-)


   
 
 I had talked to david last time you raised this issue and he indicated 
 that he thought it was fine.
 If someone objects, the patch can be reversed. 

 Thanks

 Kenny


   
commit as 135113.

2008-05-08  Kenneth Zadeck  [EMAIL PROTECTED]

PR middle-end/36117
* dce.c (deletable_insn_p): Do not delete calls if
df_in_progress.
(delete_unmarked_insns): When deleting a call, call
delete_unreachable_blocks.
* rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
RTL_CONST_OR_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P): Fixed
doc.

Index: doc/rtl.texi
===
--- doc/rtl.texi(revision 135089)
+++ doc/rtl.texi(working copy)
@@ -559,13 +559,36 @@ In either case GCC assumes these address
 perhaps with the help of base registers.
 Stored in the @code{unchanging} field and printed as @samp{/u}.

[EMAIL PROTECTED] CONST_OR_PURE_CALL_P
[EMAIL PROTECTED] RTL_CONST_CALL_P
 @cindex @code{call_insn} and @samp{/u}
 @cindex @code{unchanging}, in @code{call_insn}
[EMAIL PROTECTED] CONST_OR_PURE_CALL_P (@var{x})
-In a @code{call_insn}, @code{note}, or an @code{expr_list} for notes,
-indicates that the insn represents a call to a const or pure function.
-Stored in the @code{unchanging} field and printed as @samp{/u}.
[EMAIL PROTECTED] RTLCONST_OR_PURE_CALL_P (@var{x})
+In a @code{call_insn} indicates that the insn represents a call to a
+const function.  Stored in the @code{unchanging} field and printed as
[EMAIL PROTECTED]/u}.
+
[EMAIL PROTECTED] RTL_PURE_CALL_P
[EMAIL PROTECTED] @code{call_insn} and @samp{/i}
[EMAIL PROTECTED] @code{return_val}, in @code{call_insn}
[EMAIL PROTECTED] RTLCONST_OR_PURE_CALL_P (@var{x})
+In a @code{call_insn} indicates that the insn represents a call to a
+pure function.  Stored in the @code{return_val} field and printed as
[EMAIL PROTECTED]/i}.
+
[EMAIL PROTECTED] RTL_CONST_OR_PURE_CALL_P
[EMAIL PROTECTED] @code{call_insn} and @samp{/u} or @samp{/i}
[EMAIL PROTECTED] RTL_CONST_OR_PURE_CALL_P (@var{x})
+In a @code{call_insn}, true if @code{RTL_CONST_CALL_P} or
[EMAIL PROTECTED] is true.
+
[EMAIL PROTECTED] RTL_LOOPING_CONST_OR_PURE_CALL_P
[EMAIL PROTECTED] @code{call_insn} and @samp{/c}
[EMAIL PROTECTED] @code{call}, in @code{call_insn}
[EMAIL PROTECTED] RTL_LOOPING_CONST_OR_PURE_CALL_P (@var{x})
+In a @code{call_insn} indicates that the insn represents a possibly
+infinite looping call to a const or pure function.  Stored in the
[EMAIL PROTECTED] field and printed as @samp{/c}.  Only true if one of
[EMAIL PROTECTED] or @code{RTL_PURE_CALL_P} is true.

 @findex INSN_ANNULLED_BRANCH_P
 @cindex @code{jump_insn} and @samp{/u}
@@ -869,6 +892,9 @@ These are the fields to which the above 
 @item call
 In a @code{mem}, 1 means that the memory reference will not trap.

+In a @code{call}, 1 means that this pure or const call may possibly
+infinite loop.
+
 In an RTL dump, this flag is represented as @samp{/c}.

 @findex frame_related
@@ -938,6 +964,8 @@ known not to be a member of a structure,

 In @code{symbol_ref} expressions, 1 means the referenced symbol is weak.

+In @code{call} expressions, 1 means the call is pure.
+
 In an RTL dump, this flag is represented as @samp{/i}.

 @findex jump
@@ -967,8 +995,8 @@ instruction, 1 means an annulling branch
 In a @code{symbol_ref} expression, 1 means that this symbol addresses
 something in the per-function constant pool.

-In a @code{call_insn}, @code{note}, or an @code{expr_list} of notes,
-1 means that this instruction is a call to a const or pure function.
+In a @code{call_insn} 1 means that this instruction is a call to a const
+function.

 In an RTL dump, this flag is represented as @samp{/u}.

Index: dce.c
===
--- dce.c   (revision 135089)
+++ dce.c   (working copy)
@@ -99,11 +99,16 @@ deletable_insn_p (rtx insn, bool fast)
   rtx body, x;
   int i;

-  /* We can delete dead const or pure calls as long as they do not
- infinite loop and are not sibling calls.  The problem with
- sibling calls is that it is hard to see the result.  */
-  if (CALL_P (insn) 
+  if (CALL_P (insn)
+  /* We cannot delete calls inside of the recursive dce because
+this may cause basic blocks to be deleted and this 

[Bug middle-end/36177] [4.4 Regression] g++.dg/opt/pr23714.C ICEs with 135041 - 135057

2008-05-09 Thread zadeck at naturalbridge dot com


--- Comment #12 from zadeck at naturalbridge dot com  2008-05-09 12:29 
---
Patch committed.


-- 

zadeck at naturalbridge dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/36185] [4.4 Regression] wrong code with -O2 -fgcse-sm

2008-05-09 Thread wouter dot vermaelen at scarlet dot be


--- Comment #2 from wouter dot vermaelen at scarlet dot be  2008-05-09 
13:02 ---
This bug seems to be introduced in (or triggered by) revision 135053:
  [EMAIL PROTECTED] - still ok
  [EMAIL PROTECTED] - generates wrong code 


-- 

wouter dot vermaelen at scarlet dot be changed:

   What|Removed |Added

  Component|rtl-optimization|c++


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



[Bug ada/34496] [4.2/4.3 Regression] prefixed notation allows changing the value of a constant

2008-05-09 Thread andreasmeier80 at gmx dot de


--- Comment #5 from andreasmeier80 at gmx dot de  2008-05-09 13:18 ---
Perhaps it is a good idea to add the testcase to the testsuite


-- 


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



[Bug tree-optimization/36187] New: [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org
A similar problem as PR33870 is still present as seen with the attached
testcase
(forwarded from https://bugzilla.novell.com/show_bug.cgi?id=388664):

g++-4.3 -O2 -o t testfoo.cxx
./t
start test
dbl2 data error 0x0
dbl2 data error 0x4002, value n was 1.00
fail e.g. interesting

g++-4.3 -O2 -o t testfoo.cxx --param max-aliased-vops=600
./t
start test
end test


-- 
   Summary: [4.3 Regression] Partitioning problem with SFTs (again)
   Product: gcc
   Version: 4.3.1
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=36187



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-09 13:26 ---
Created an attachment (id=15619)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15619action=view)
testcase


-- 


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-05-09 13:29 ---
The symptom of the alias problem is that we apply store-motion to

aTmp.eType = SbxDataType( p-eType | SbxBYREF );

but reads through

p = aTmp; goto start;

in that stmt incorrectly do not alias that store.


-- 


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread bonzini at gnu dot org


--- Comment #5 from bonzini at gnu dot org  2008-05-09 13:36 ---
Created an attachment (id=15620)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15620action=view)
patch for cris problem

This patch should fix the CRIS problem.  However, we should also check that it
does not make PR36090 resurface -- obviously.  David, can you look at that?

It does not attempt to fix the SPU problem, which should be fixed in the
target.


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

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


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread bonzini at gnu dot org


--- Comment #6 from bonzini at gnu dot org  2008-05-09 13:37 ---
Richard (Sandiford), could you look at the patch?  You are the varasm.c expert.
:-)


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 CC||rsandifo at gcc dot gnu dot
   ||org


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread bonzini at gnu dot org


--- Comment #7 from bonzini at gnu dot org  2008-05-09 13:37 ---
not wrong-code, it fails to assemble.


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

   Keywords|wrong-code  |rejects-valid


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-05-09 13:56 ---
Created an attachment (id=15621)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15621action=view)
more minimized testcase


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #15619|0   |1
is obsolete||


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||4.2.3 4.4.0
   Target Milestone|--- |4.3.1


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-05-09 14:09 ---
The following aborts with -O2 --param max-aliased-vops=N with N in [19, 25]
on x86_64-unknown-linux-gnu.  Symptom is still lim being wrongly applied.
If you cannot reproduce it search for the correct N with

for n in `seq 0 5 100`; do g++-4.3 -O2 -S testfoo.cxx -fdump-tree-lim
-B/abuild/rguenther/gcc43-g/gcc --param max-aliased-vops=$n; grep lsm
testfoo.cxx.095t.lim  /dev/null 21  echo $n; done

extern C void abort (void);
enum SbxDataType { SbxINTEGER, SbxDECIMAL, SbxBYREF = 0x4000 };
struct SbxValues {
union {
float nSingle;
float* pSingle;
};
SbxDataType eType;
};
static bool ImpPutDoubleFoo( SbxValues* p)
{
bool bRet = false;
SbxValues aTmp;
int count = 0;
start:
switch( p-eType )  {
case SbxINTEGER:
if (count++  0)
  abort ();
aTmp.pSingle = p-nSingle; goto direct;
case SbxBYREF | SbxDECIMAL:
bRet = false;
break;
direct:
aTmp.eType = SbxDataType( p-eType | SbxBYREF );
p = aTmp; goto start;
case SbxBYREF | SbxINTEGER:
break;
default:
bRet =true;
}
return bRet;
}
int main( int argc, char** argv )
{
SbxValues aTmp;
aTmp.eType = SbxINTEGER;
if ( ImpPutDoubleFoo( aTmp ) )
abort ();
return 0;
}


-- 


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



[Bug tree-optimization/36129] [4.3, 4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2008-05-09 14:17 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00562.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/2008-
   ||05/msg00562.html
 Status|NEW |ASSIGNED
   Keywords||patch
   Last reconfirmed|2008-05-09 11:13:09 |2008-05-09 14:17:16
   date||


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



[Bug target/36090] [4.3/4.4 Regression] ppc64 cacoshl miscompilation

2008-05-09 Thread jakub at gcc dot gnu dot org


--- Comment #31 from jakub at gcc dot gnu dot org  2008-05-09 14:18 ---
Alternate patch to #c12 that doesn't touch at all rs6000_legitimate_address,
just changes print_operand_address:

--- gcc/config/rs6000/rs6000.c.jj   2008-04-24 18:30:39.0 +0200
+++ gcc/config/rs6000/rs6000.c  2008-05-09 16:10:24.0 +0200
@@ -723,6 +723,7 @@ static unsigned rs6000_hash_constant (rt
 static unsigned toc_hash_function (const void *);
 static int toc_hash_eq (const void *, const void *);
 static int constant_pool_expr_1 (rtx, int *, int *);
+static int find_constant_pool_expr (rtx *, rtx **, rtx **);
 static bool constant_pool_expr_p (rtx);
 static bool legitimate_small_data_p (enum machine_mode, rtx);
 static bool legitimate_lo_sum_address_p (enum machine_mode, rtx, int);
@@ -3335,6 +3336,44 @@ constant_pool_expr_1 (rtx op, int *have_
 }
 }

+static int
+find_constant_pool_expr (rtx *op, rtx **sym, rtx **toc)
+{
+  switch (GET_CODE (*op))
+{
+case SYMBOL_REF:
+  if (RS6000_SYMBOL_REF_TLS_P (*op))
+   return 0;
+  else if (CONSTANT_POOL_ADDRESS_P (*op))
+   {
+ if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (*op), Pmode))
+   {
+ *sym = op;
+ return 1;
+   }
+ else
+   return 0;
+   }
+  else if (! strcmp (XSTR (*op, 0), toc_label_name))
+   {
+ *toc = op;
+ return 1;
+   }
+  else
+   return 0;
+case PLUS:
+case MINUS:
+  return (find_constant_pool_expr (XEXP (*op, 0), sym, toc)
+  find_constant_pool_expr (XEXP (*op, 1), sym, toc));
+case CONST:
+  return find_constant_pool_expr (XEXP (*op, 0), sym, toc);
+case CONST_INT:
+  return 1;
+default:
+  return 0;
+}
+}
+
 static bool
 constant_pool_expr_p (rtx op)
 {
@@ -12268,32 +12307,36 @@ print_operand_address (FILE *file, rtx x
 {
   if (TARGET_AIX  (!TARGET_ELF || !TARGET_MINIMAL_TOC))
{
- rtx contains_minus = XEXP (x, 1);
- rtx minus, symref;
+ rtx *symref = NULL, *tocref = NULL, toc = NULL, addr;
  const char *name;

- /* Find the (minus (sym) (toc)) buried in X, and temporarily
-turn it into (sym) for output_addr_const.  */
- while (GET_CODE (XEXP (contains_minus, 0)) != MINUS)
-   contains_minus = XEXP (contains_minus, 0);
-
- minus = XEXP (contains_minus, 0);
- symref = XEXP (minus, 0);
- XEXP (contains_minus, 0) = symref;
+ find_constant_pool_expr (XEXP (x, 1), symref, tocref);
+ if (tocref)
+   {
+ toc = *tocref;
+ *tocref = const0_rtx;
+   }
  if (TARGET_ELF)
{
  char *newname;

- name = XSTR (symref, 0);
+ name = XSTR (*symref, 0);
  newname = alloca (strlen (name) + sizeof (@toc));
  strcpy (newname, name);
  strcat (newname, @toc);
- XSTR (symref, 0) = newname;
+ XSTR (*symref, 0) = newname;
}
- output_addr_const (file, XEXP (x, 1));
+ addr = XEXP (x, 1);
+ if (GET_CODE (addr) == CONST)
+   addr = XEXP (addr, 0);
+ addr = simplify_rtx (addr);
+ if (!addr)
+   addr = XEXP (x, 1);
+ output_addr_const (file, addr);
  if (TARGET_ELF)
-   XSTR (symref, 0) = name;
- XEXP (contains_minus, 0) = minus;
+   XSTR (*symref, 0) = name;
+ if (tocref)
+   *tocref = toc;
}
   else
output_addr_const (file, XEXP (x, 1));


The differences from #c12: 1) it doesn't reuse the same routine for finding
the addresses.  The disadvantage of this is that whenever making changes to
constant_pool_expr_1 the other should be adjusted too.
2) it will silently miscompile things if more than one sym or more than one toc
is in the address (unlikely to be ever generated, true) 3) similarly, it
doesn't
check that toc is subtracted from sym, so in some pathological case we could
have
.LC1 + .LCTOC1 or -.LC1 - .LCTOC1.  No testing done on the patch except for
testing that it fixes the testcase.


-- 


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 14:21:11
   date||


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-05-09 14:26 ---
We don't properly mark all fields of the union as base_for_components.  But
the real problem is probably that field-sensitive PTA doesn't consider
structs with unions but we still create SFTs for them.  If we didn't do that
the problem with base_for_components would be avoided as well.


-- 


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



[Bug target/36090] [4.3/4.4 Regression] ppc64 cacoshl miscompilation

2008-05-09 Thread jakub at gcc dot gnu dot org


--- Comment #32 from jakub at gcc dot gnu dot org  2008-05-09 14:32 ---
Actually find_constant_pool_expr can be simplified, given that
constant_pool_expr_1 had to return 1 each time.

--- gcc/config/rs6000/rs6000.c.jj   2008-04-24 18:30:39.0 +0200
+++ gcc/config/rs6000/rs6000.c  2008-05-09 16:28:39.0 +0200
@@ -723,6 +723,7 @@ static unsigned rs6000_hash_constant (rt
 static unsigned toc_hash_function (const void *);
 static int toc_hash_eq (const void *, const void *);
 static int constant_pool_expr_1 (rtx, int *, int *);
+static void find_constant_pool_expr (rtx *, rtx **, rtx **);
 static bool constant_pool_expr_p (rtx);
 static bool legitimate_small_data_p (enum machine_mode, rtx);
 static bool legitimate_lo_sum_address_p (enum machine_mode, rtx, int);
@@ -3335,6 +3336,32 @@ constant_pool_expr_1 (rtx op, int *have_
 }
 }

+static void
+find_constant_pool_expr (rtx *op, rtx **sym, rtx **toc)
+{
+  switch (GET_CODE (*op))
+{
+case SYMBOL_REF:
+  if (CONSTANT_POOL_ADDRESS_P (*op))
+   *sym = op;
+  else
+   *toc = op;
+  break;
+case PLUS:
+case MINUS:
+  find_constant_pool_expr (XEXP (*op, 0), sym, toc);
+  find_constant_pool_expr (XEXP (*op, 1), sym, toc);
+  break;
+case CONST:
+  find_constant_pool_expr (XEXP (*op, 0), sym, toc);
+  break;
+case CONST_INT:
+  break;
+default:
+  gcc_unreachable ();
+}
+}
+
 static bool
 constant_pool_expr_p (rtx op)
 {
@@ -12268,32 +12295,36 @@ print_operand_address (FILE *file, rtx x
 {
   if (TARGET_AIX  (!TARGET_ELF || !TARGET_MINIMAL_TOC))
{
- rtx contains_minus = XEXP (x, 1);
- rtx minus, symref;
+ rtx *symref = NULL, *tocref = NULL, toc = NULL, addr;
  const char *name;

- /* Find the (minus (sym) (toc)) buried in X, and temporarily
-turn it into (sym) for output_addr_const.  */
- while (GET_CODE (XEXP (contains_minus, 0)) != MINUS)
-   contains_minus = XEXP (contains_minus, 0);
-
- minus = XEXP (contains_minus, 0);
- symref = XEXP (minus, 0);
- XEXP (contains_minus, 0) = symref;
+ find_constant_pool_expr (XEXP (x, 1), symref, tocref);
+ if (tocref)
+   {
+ toc = *tocref;
+ *tocref = const0_rtx;
+   }
  if (TARGET_ELF)
{
  char *newname;

- name = XSTR (symref, 0);
+ name = XSTR (*symref, 0);
  newname = alloca (strlen (name) + sizeof (@toc));
  strcpy (newname, name);
  strcat (newname, @toc);
- XSTR (symref, 0) = newname;
+ XSTR (*symref, 0) = newname;
}
- output_addr_const (file, XEXP (x, 1));
+ addr = XEXP (x, 1);
+ if (GET_CODE (addr) == CONST)
+   addr = XEXP (addr, 0);
+ addr = simplify_rtx (addr);
+ if (!addr)
+   addr = XEXP (x, 1);
+ output_addr_const (file, addr);
  if (TARGET_ELF)
-   XSTR (symref, 0) = name;
- XEXP (contains_minus, 0) = minus;
+   XSTR (*symref, 0) = name;
+ if (tocref)
+   *tocref = toc;
}
   else
output_addr_const (file, XEXP (x, 1));


-- 


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread dje at gcc dot gnu dot org


--- Comment #8 from dje at gcc dot gnu dot org  2008-05-09 14:36 ---
The TOC anchor SYMBOL_REF does not have an associated DECL, so the new patch
crashes with a segfault.  I'm not sure if there is a safe section to assume for
SYMBOL_REFs without DECLs.


-- 


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



[Bug c++/36185] [4.4 Regression] wrong code with -O2 -fgcse-sm

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-05-09 15:04 ---
Kenny, that's your PURE/CONST patch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||zadeck at naturalbridge dot
   ||com


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



[Bug tree-optimization/36188] New: missed CCP

2008-05-09 Thread rguenth at gcc dot gnu dot org
int f(int lay)
{
  static int syncsize, init;
  if (init == 0)
 syncsize = 1344, init = 1;
  return syncsize;
}


store-ccp should handle that.


-- 
   Summary: missed CCP
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  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=36188



[Bug tree-optimization/36188] missed CCP

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-09 15:35 ---
A get_symbol_constant_value at the right place and time should do the trick.


-- 


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



[Bug tree-optimization/36188] missed CCP

2008-05-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-05-09 15:39 ---
I thought I had a bug filed already ...


-- 


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



[Bug target/36090] [4.3/4.4 Regression] ppc64 cacoshl miscompilation

2008-05-09 Thread bonzini at gnu dot org


--- Comment #33 from bonzini at gnu dot org  2008-05-09 15:51 ---
I now think that fixing it in the target is better.


-- 


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread bonzini at gnu dot org


--- Comment #9 from bonzini at gnu dot org  2008-05-09 16:03 ---
I'll revert my patch on Monday even if no alternative solution for PR36090 is
found during the weekend.  It opened too big cans of worms for a release
branch, even though it fixed a serious regression.


-- 


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



[Bug target/36189] New: Invalid movabsq [EMAIL PROTECTED], %rbp for TLS

2008-05-09 Thread jakub at gcc dot gnu dot org
program foo
  implicit none
  common /mycom/ arr(2)
!$omp threadprivate (/mycom/)
  integer i
  real*8 arr
  do i=1,2
write(*,*) i
arr(i)=0.0d0
  enddo
end program

compiled with -S -O2 -fopenmp with gcc 4.1/4.2 generates invalid:
movabsq [EMAIL PROTECTED], %rbp

@TPOFF should be used for 32-bit signed immediate though, e.g. movq
[EMAIL PROTECTED], %rbp is correct.


-- 
   Summary: Invalid movabsq [EMAIL PROTECTED], %rbp for TLS
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: x86_64-linux


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



[Bug middle-end/36190] New: Investigate which tests need -fno-trapping-math

2008-05-09 Thread espindola at google dot com
In a recent change gcc became more strict on where trapping instructions can be
placed. They are no longer valid on condexprs. This introduced some
regressions. The tests have been changed to use -fno-trapping-math. We should
investigate if we could optimize them even with trapping math.

The tests are:
gcc.dg/vect/vect-111.c
gcc.dg/vect/vect-ifcvt-11.c
gcc.dg/vect/vect-ifcvt-12.c
gcc.dg/vect/vect-ifcvt-13.c
gcc.dg/vect/vect-ifcvt-14.c
gcc.dg/vect/vect-ifcvt-15.c


-- 
   Summary: Investigate which tests need -fno-trapping-math
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: espindola at google dot com


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



[Bug middle-end/36191] New: can't use complex in a eh region if non-call-exceptions is enabled

2008-05-09 Thread espindola at google dot com
If the program
---
__complex__ double f (__complex__ double x, double y) {
  try {
return x / y;
  } catch (char *s) {
return x;
  }
}
--
is compiled with cc1plus bug.cc -fnon-call-exceptions, it fails with the
error:

/home/espindola/bug.cc:7: error: statement marked for throw, but doesn't
D.1661 = __divdc3 (D.1667, D.1668, D.1669, D.1670);

/home/espindola/bug.cc:7: internal compiler error: verify_stmts failed


-- 
   Summary: can't use complex in a eh region if non-call-exceptions
is enabled
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: espindola at google dot com


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



[Bug middle-end/36191] can't use complex in a eh region if non-call-exceptions is enabled

2008-05-09 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-05-09 17:08 ---
Note this is most likely a regression from 3.4.0.

Though -fnon-call-exceptions really is only heavily used in java and java does
not use complex types.


-- 


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



[Bug target/36090] [4.3/4.4 Regression] ppc64 cacoshl miscompilation

2008-05-09 Thread dje at gcc dot gnu dot org


--- Comment #34 from dje at gcc dot gnu dot org  2008-05-09 17:14 ---
Subject: Bug 36090

Author: dje
Date: Fri May  9 17:13:30 2008
New Revision: 135118

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135118
Log:
PR target/36090
* config/rs6000/rs6000.c (print_operand_address): If the TOC
address RHS contains an offset, output it as well.

PR target/36182
Revert:
2008-05-08  Paolo Bonzini  [EMAIL PROTECTED]
PR target/36090
* simplify-rtx.c (simplify_plus_minus): Create CONST of
similar RTX_CONST_OBJ before CONST_INT.

Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_3-branch/gcc/simplify-rtx.c


-- 


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread dje at gcc dot gnu dot org


--- Comment #10 from dje at gcc dot gnu dot org  2008-05-09 17:14 ---
Subject: Bug 36182

Author: dje
Date: Fri May  9 17:13:30 2008
New Revision: 135118

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135118
Log:
PR target/36090
* config/rs6000/rs6000.c (print_operand_address): If the TOC
address RHS contains an offset, output it as well.

PR target/36182
Revert:
2008-05-08  Paolo Bonzini  [EMAIL PROTECTED]
PR target/36090
* simplify-rtx.c (simplify_plus_minus): Create CONST of
similar RTX_CONST_OBJ before CONST_INT.

Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_3-branch/gcc/simplify-rtx.c


-- 


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread rsandifo at nildram dot co dot uk


--- Comment #11 from rsandifo at nildram dot co dot uk  2008-05-09 17:17 
---
Subject: Re:  [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

bonzini at gnu dot org [EMAIL PROTECTED] writes:
 I'll revert my patch on Monday even if no alternative solution for PR36090 is
 found during the weekend.  It opened too big cans of worms for a release
 branch, even though it fixed a serious regression.

For the record, I think it would be easier if the rs6000 port
used an unspec wrapper around the symbol, rather than a MINUS
of two symbols.  E.g.

   (const (unspec [(symbol_ref foo)] UNSPEC_TOC))

and:

   (const (plus (unspec [(symbol_ref foo)] UNSPEC_TOC)
(const_int OFFSET)))

Richard


-- 


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



[Bug fortran/36192] New: ICE: Segmentation fault

2008-05-09 Thread doko at ubuntu dot com
[forwarded from http://launchpad.net/bugs/211255]

The attached program causes an ICE, seen with 4.1 and 4.3 from the branches;
4.2 instead of ICEing ends with:

Internal Error at (1):
compare_bound(): Bad expression


-- 
   Summary: ICE: Segmentation fault
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: doko at ubuntu dot com


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



[Bug fortran/36192] ICE: Segmentation fault

2008-05-09 Thread doko at ubuntu dot com


--- Comment #1 from doko at ubuntu dot com  2008-05-09 17:47 ---
Created an attachment (id=15622)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15622action=view)
test case


-- 


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



[Bug fortran/36192] ICE: Segmentation fault

2008-05-09 Thread kargl at gcc dot gnu dot org


--- Comment #2 from kargl at gcc dot gnu dot org  2008-05-09 18:04 ---
While gfortran should not ICE, this program is seriously flawed with
illegal Fortran.  Just one example.

  ! Simulation parameters
  real, parameter :: n = 2, d = 2

  ! Body masses
  real, dimension(n), parameter :: m = (/ 1.0, 1.0 /)

  ! Body parameters
  real, dimension(n,d) :: 

The arguments to dimension() should be integer type.

Fix your code and the ICE may go away.


-- 


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



[Bug fortran/36192] ICE: Segmentation fault

2008-05-09 Thread kargl at gcc dot gnu dot org


--- Comment #3 from kargl at gcc dot gnu dot org  2008-05-09 18:15 ---
Add -Wall to your compiler flags!

  any(abs(v_hq - v_n  precision_goal))) then
 1
Error: 'a' argument of 'abs' intrinsic at (1) must be a numeric type

You have messed up parentheses.


-- 


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



[Bug tree-optimization/36129] [4.3, 4.4 Regression] ICE with -fprofile-use

2008-05-09 Thread uros at gcc dot gnu dot org


--- Comment #12 from uros at gcc dot gnu dot org  2008-05-09 18:21 ---
Subject: Bug 36129

Author: uros
Date: Fri May  9 18:21:05 2008
New Revision: 135123

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135123
Log:
PR tree-optimization/36129
* tree-ssa-cpp.c: Include value-prof.h.
(execute_fold_all_builtins): Call gimple_remove_stmt_histograms if
built-in function was folded to a constant.
* Makefile.in (tree-ssa-cpp.c): Depend on value-prof.h


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/tree-ssa-ccp.c


-- 


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



[Bug middle-end/35215] ICE: verify_histograms failed with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2008-05-09 18:23 ---
Alexander, can you apply the patch at
http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00562.html to 4.3 branch and test
if it fixes your ICE? I would like to backport the patch to 4.3.


-- 


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



[Bug tree-optimization/36129] [4.3 Regression] ICE with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #13 from ubizjak at gmail dot com  2008-05-09 18:25 ---
Fixed for 4.4, patch needs to be backported to 4.3 branch.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

Summary|[4.3, 4.4 Regression] ICE   |[4.3 Regression] ICE with -
   |with -fprofile-use  |fprofile-use
   Target Milestone|4.4.0   |4.3.1


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



[Bug fortran/35719] pointer to zero sized array not associated

2008-05-09 Thread tkoenig at gcc dot gnu dot org


--- Comment #7 from tkoenig at gcc dot gnu dot org  2008-05-09 18:34 ---
(In reply to comment #6)
 Another solution is to have status flags for allocated and associated in the
 descriptor, IIRC at least Pathscale does this.
 
 Aren't there actually free bits left in the dtype flag that gfortran could 
 use,
 without requiring to change the descriptor?

We will need to change the descriptor to fix PR 35718.  Unfortunately,
dtype shares space with the size, so by introducing additional bits
we would be incompatible, and restrict the size of derived types further.

Time for a what we want to fix with the new array descriptor
meta-PR?


-- 


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



[Bug rtl-optimization/33642] unrecognizable insn for -frtl-abstract-sequences

2008-05-09 Thread aldot at gcc dot gnu dot org


--- Comment #22 from aldot at gcc dot gnu dot org  2008-05-09 18:36 ---
$ gcc-4.4.orig-HEAD -O0 -frtl-abstract-sequences -fPIC -S foo.i -o /dev/null
foo.i: In function ‘bazoo’:
foo.i:4: error: unrecognizable insn:
(insn 23foo.i:4: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
$ cat foo.i 
void bazoo (void)
{
__asm__ ();
}

works without -fPIC.


-- 


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



[Bug c++/36193] New: ICE when accessing static integer constant in template class

2008-05-09 Thread lhyatt at gmail dot com
t.cpp
---
templatetypename T
struct B : T {
enum {N};
static const int num = N;
void f() {num;}
};

---

$ g++ -v -c t.cpp
Using built-in specs.
Target: x86_64-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
x86_64-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/cc1plus -quiet -v -D_GNU_SOURCE t.cpp
-quiet -dumpbase t.cpp -mtune=k8 -auxbase t -version -o /tmp/ccnVMPxv.s
ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu
ignoring nonexistent directory
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../x86_64-linux-gnu/include
ignoring nonexistent directory /usr/include/x86_64-linux-gnu
#include ... search starts here:
#include ... search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2

/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/x86_64-linux-gnu
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/include
 /usr/include
End of search list.
GNU C++ version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
(x86_64-linux-gnu)
compiled by GNU C version 4.1.2 20061115 (prerelease) (Debian
4.1.1-21).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 632603bce5ef3f84603416b58939d0f7
t.cpp: In member function 'void BT::f()':
t.cpp:5: 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.
For Debian GNU/Linux specific bug reporting instructions,
see URL:file:///usr/share/doc/gcc-4.1/README.Bugs.
Preprocessed source stored into /tmp/ccci8hrp.out file, please attach this to
your bugreport.


-- 
   Summary: ICE when accessing static integer constant in template
class
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lhyatt at gmail dot com
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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



[Bug c++/36193] ICE when accessing static integer constant in template class

2008-05-09 Thread lhyatt at gmail dot com


--- Comment #1 from lhyatt at gmail dot com  2008-05-09 18:46 ---
Created an attachment (id=15623)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15623action=view)
file producing the ICE


-- 


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



[Bug c++/36193] ICE when accessing static integer constant in template class

2008-05-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-05-09 18:49 ---
Works at least in GCC 4.3.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
  Known to work||4.3.0


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



[Bug middle-end/36194] New: [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations

2008-05-09 Thread nemet at gcc dot gnu dot org
On mips64-linux-gnu the following testcase aborts:

  void abort (void);

  __attribute__ ((noinline)) void
  f (int i)
  {
if (i != 0x87654321)
  abort ();
asm ();
  }

  __attribute__ ((noinline)) void
  g (long long a)
  {
f (a);
asm ();
  }

  main ()
  {
g (0x1234567887654321ll);
return 0;
  }


-- 
   Summary: [4.1/4.2/4.3/4.4 Regression] Truncation optimization in
combine can remove necessary truncations
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: nemet at gcc dot gnu dot org
ReportedBy: nemet at gcc dot gnu dot org
GCC target triplet: mips64-linux-gnu


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



[Bug middle-end/36194] [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations

2008-05-09 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
   Keywords||wrong-code
   Target Milestone|--- |4.1.3


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



[Bug c++/36193] ICE when accessing static integer constant in template class

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-05-09 19:07 ---
Works with 4.1.2 and 4.0.4.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to fail||4.0.3 4.1.1
  Known to work|4.3.0   |4.0.4 4.1.2 4.2.0 4.3.0
 Resolution||FIXED
   Target Milestone|--- |4.0.4


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread hp at gcc dot gnu dot org


--- Comment #12 from hp at gcc dot gnu dot org  2008-05-09 19:18 ---
There has been some speculation that the back-ends where the bug
appear are *all* to blame by e.g. having a flawed
GO_IF_LEGITIMATE_ADDRESS.  A gdb session shows that the back-end
validation hook that is used for the (CONST (MINUS sym2 sym1))
expression is (naturally when you think of it)
LEGITIMATE_CONSTANT_P.  In cases similar to the failure for CRIS,
the flawed expression isn't used in an address-operand so
GO_IF_LEGITIMATE_ADDRESS won't hit.

But, consider the documentation, which recommends defining
LEGITIMATE_CONSTANT_P to 1, which indeed most targets do; very
few actually look inside a CONST, i386 being a notable
exception.

I think that kind of CONST should simply not be generated by gcc
for now, and certainly not on the 4.3 branch.

If this CONST *is* to be generated (on trunk), IMHO some new
constant-expression validation needs to take place in
CONSTANT_P, one where the target can refuse expressions that
aren't valid assembly-code (in this case, for CRIS, sym2-sym1
where sym2 and sym1 are in different sections). Alternatively,
LEGITIMATE_CONSTANT_P redefined in the documentation and most
back-ends.


-- 


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-05-09 19:20 ---
Subject: Bug 36187

Author: rguenth
Date: Fri May  9 19:19:33 2008
New Revision: 135125

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135125
Log:
2008-05-09  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36187
* tree-dfa.c (dump_variable): Correct dumping of
SFT_BASE_FOR_COMPONENTS_P.
* tree-ssa-structalias.c (set_uids_in_ptset): Set
SFT_UNPARTITIONABLE_P correctly for the union case.

* g++.dg/opt/pr36187.C: New testcase.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/opt/pr36187.C
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
branches/gcc-4_3-branch/gcc/tree-dfa.c
branches/gcc-4_3-branch/gcc/tree-ssa-structalias.c


-- 


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-05-09 19:20 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to fail||4.3.0
  Known to work|4.2.3 4.4.0 |4.2.3 4.3.1 4.4.0
 Resolution||FIXED


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



[Bug c++/36193] ICE when accessing static integer constant in template class

2008-05-09 Thread lhyatt at gmail dot com


--- Comment #4 from lhyatt at gmail dot com  2008-05-09 19:22 ---
thanks for looking into it, but I wanted to point out that it does not work on
4.1.2, at least not my build:

g++ (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

that is where I am testing it and getting the ICE.

but anyway it seems like it's probably fixed in more recent versions.


-- 

lhyatt at gmail dot com changed:

   What|Removed |Added

   Severity|normal  |critical


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



[Bug middle-end/36184] gimple-tuples-branch fails bootstrap on x86 Darwin

2008-05-09 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-05-09 19:24 ---
I will see what happens with this tomorrow when I get around to downloading the
tuples branch on to my laptop.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|bootstrap   |middle-end
Summary|gimple-tuples-branch fails  |gimple-tuples-branch fails
   |bootstrap on Darwin |bootstrap on x86 Darwin


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



[Bug c++/36193] ICE when accessing static integer constant in template class

2008-05-09 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2008-05-09 19:25 ---
g++ (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

That is a prelease and not a full release.  The fix went into the 4.1 branch
after that date :).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal


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



[Bug c++/36193] ICE when accessing static integer constant in template class

2008-05-09 Thread lhyatt at gmail dot com


--- Comment #6 from lhyatt at gmail dot com  2008-05-09 19:26 ---
Subject: Re:  ICE when accessing static integer constant in
 template class

OK thanks for the quick reply; I'll see if we can get updated over here.

-lewis


pinskia at gcc dot gnu dot org wrote:
 --- Comment #5 from pinskia at gcc dot gnu dot org  2008-05-09 19:25 
 ---
 g++ (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 
 That is a prelease and not a full release.  The fix went into the 4.1 branch
 after that date :).
 
 


-- 


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread hp at gcc dot gnu dot org


--- Comment #13 from hp at gcc dot gnu dot org  2008-05-09 19:28 ---
(In reply to comment #5)
 Created an attachment (id=15620)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15620action=view) [edit]
 patch for cris problem
 
 This patch should fix the CRIS problem.

Looks fine except (as the OP also mentioned), I can't see what happens when
neither symbol has any information on the section.
Do you need me to test it?


-- 


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



[Bug middle-end/35215] ICE: verify_histograms failed with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-05-09 19:29 ---
This is not the same failure as PR36129. It is similar, just happens in another
place.

It also fails on x86_64-linux-gnu. I'll look into it.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|DUPLICATE   |


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



[Bug tree-optimization/35215] ICE: verify_histograms failed with -fprofile-use

2008-05-09 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2008-05-09 19:30 ---
Taking bug.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
  Component|middle-end  |tree-optimization
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 19:30:08
   date||


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



[Bug tree-optimization/36187] [4.3 Regression] Partitioning problem with SFTs (again)

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2008-05-09 20:05 ---
Subject: Bug 36187

Author: rguenth
Date: Fri May  9 20:04:57 2008
New Revision: 135126

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135126
Log:
2008-05-09  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36187
* g++.dg/opt/pr36187.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/opt/pr36187.C
  - copied unchanged from r135125,
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/opt/pr36187.C
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/36192] ICE with wrong index types and bad parens

2008-05-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #4 from jvdelisle at gcc dot gnu dot org  2008-05-09 20:06 
---
I can confirm that fixing the code as suggested does allow this to compile
fine.  Also confirming this is an ICE on invalid  


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-invalid-code
   Last reconfirmed|-00-00 00:00:00 |2008-05-09 20:06:57
   date||
Summary|ICE: Segmentation fault |ICE with wrong index types
   ||and bad parens


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



[Bug middle-end/35964] ICE with -funroll-loops on arm/arm eabi

2008-05-09 Thread aurelien at aurel32 dot net


--- Comment #7 from aurelien at aurel32 dot net  2008-05-09 20:19 ---
This bug is actually only fixed on Debian arm EABI gcc 4.3. The problem is
still present in oldABI.

I guess that the problem is actually still present in upstream gcc, as Debian
applies backports of libobjc and gfortran support.

I am currently rebuilding gcc 4.3 on arm oldABI with the same patches to see if
it fixes the problem.


-- 


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



[Bug middle-end/36194] [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations

2008-05-09 Thread nemet at gcc dot gnu dot org


--- Comment #1 from nemet at gcc dot gnu dot org  2008-05-09 20:46 ---
Patch: http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00591.html


-- 


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



[Bug c/36195] New: Add warnings for useless static functions prototypes in -Wredundant-decls

2008-05-09 Thread eugene dot zelenko at gmail dot com
Sometimes static function prototype declared with static function definition,
but function is never called before definition. So prototype in such cases are
definitely useless.

I think will be good idea to enhance -Wredundant-decls with reporting such
situation.

PS

May be this is already implemented in versions never then 4.1.2, but 4.3.0
manual is not mention such possibility.


-- 
   Summary: Add warnings for useless static functions prototypes in
-Wredundant-decls
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: eugene dot zelenko at gmail dot com


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



[Bug middle-end/36075] [4.3.1 Regression] FAIL: gcc.c-torture/execute/20021119-1.c execution, -O2

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-05-09 21:11 ---
Ping.  As the testcase in question is really simple some analysis is
appreciated.

On i686 the testcase is optimized to return 0 via inlining with the very first
CCP pass at -O2.  So I don't see how this can fail at all.


-- 


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



[Bug middle-end/36075] [4.3.1 Regression] FAIL: gcc.c-torture/execute/20021119-1.c execution, -O2

2008-05-09 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-05-09 21:25 ---
http://gcc.gnu.org/ml/gcc-testresults/2008-05/msg00694.html

doesn't have the failure.  So, fixed?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions

2008-05-09 Thread dje at gcc dot gnu dot org


--- Comment #14 from dje at gcc dot gnu dot org  2008-05-09 21:41 ---
HP,

If there is no CONST wrapping the difference of symbols, does the CRIS port
continue to believe the address is legitimate?  In other words, Paolo's patch
without the CONST?  I would not object to removing the CONST because that
particular RTX disappears later and CONST is placed in the correct position.

Separate from the specific grouping satisfying legitimate_address, the RTL does
contain a difference of SYMBOL_REFs from different sections.  If it is not a
valid address, valid instruction, valid relocation, GCC will generate the
difference as an explicit subtraction across multiple instructions because it
is trying to calculate that operation.  I do not understand how the operation
GCC is trying to perform in the CRIS port is valid using multiple instructions.

Thanks, David


-- 


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



[Bug middle-end/36075] [4.3.1 Regression] FAIL: gcc.c-torture/execute/20021119-1.c execution, -O2

2008-05-09 Thread danglin at gcc dot gnu dot org


--- Comment #4 from danglin at gcc dot gnu dot org  2008-05-09 21:55 ---
Appears to be fixed.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug preprocessor/22231] -MG ignores missing headers even with -c

2008-05-09 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2008-05-09 22:17 ---
Subject: Bug 22231

Author: tromey
Date: Fri May  9 22:17:00 2008
New Revision: 135128

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135128
Log:
gcc
PR preprocessor/22231:
* c-opts.c (sanitize_cpp_opts): Disallow -MG if compilation is
proceeding.
gcc/testsuite
PR preprocessor/22231:
* gcc.dg/pr22231.c: New file.

Added:
trunk/gcc/testsuite/gcc.dg/pr22231.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-opts.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug preprocessor/22231] -MG ignores missing headers even with -c

2008-05-09 Thread tromey at gcc dot gnu dot org


--- Comment #5 from tromey at gcc dot gnu dot org  2008-05-09 22:18 ---
Fixed on trunk.
It is very unlikely that this will be back-ported, so I'm closing the bug.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug preprocessor/28435] -MMD vs not found system header (included from a system header)

2008-05-09 Thread tromey at gcc dot gnu dot org


--- Comment #6 from tromey at gcc dot gnu dot org  2008-05-09 23:02 ---
I think we should give an error by default, and only *not* give an
error if -MG is passed.  My reasoning is that -MG exists only to disable
this error.  I couldn't think of a reason to disable it in other cases.
For instance, it seems to me that gcc -E should fail if a header is missing.

I looked at open_file_failed, but I don't understand the reasoning behind
a lot of the logic in there (though see PR 15220).

A comment says:

  /* If we are outputting dependencies but not for this file then
 don't error because we can still produce correct output.  */

... but this seems to be based on incorrect logic to me.  A  include
may define something which affects later inclusions.

I wonder if anybody relies on the current, bogus, behavior.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org


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



[Bug preprocessor/15500] gcc ignores locale when converting wide string literals to wchar_t strings

2008-05-09 Thread tromey at gcc dot gnu dot org


--- Comment #10 from tromey at gcc dot gnu dot org  2008-05-09 23:05 ---
On further reflection I think this is very minor and I'm unlikely
to back-port the fix.  So, I am closing this.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug testsuite/36196] New: gcc.dg/pr22231.c doesn't work

2008-05-09 Thread hjl dot tools at gmail dot com
On Linux/ia32, I got

Executing on host: /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/pr22231.c   -MG -MD -c
-fno-show-column -S  -m32 -o pr22231.s(timeout = 300) 
cc1: error: -MG may only be used with -M or -MM^M
compiler exited with status 1
output is:
cc1: error: -MG may only be used with -M or -MM^M

FAIL: gcc.dg/pr22231.c (test for excess errors) 
Excess errors: 
cc1: error: -MG may only be used with -M or -MM


-- 
   Summary: gcc.dg/pr22231.c doesn't work
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug fortran/36197] New: [4.4 Regressio]: gfortran.dg/initialization_12.f90

2008-05-09 Thread hjl dot tools at gmail dot com
On Linux/ia32, gcc 4.4 revision 135109 gives

Executing on host:
/export/build/gnu/gcc/build-i686-linux/gcc/testsuite/gfortran/../../gfortran
-B/export/build/gnu/gcc/build-i686-linux/gcc/testsuite/gfortran/../../
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gfortran.dg/initialization_12.f90
  -O   -pedantic-errors -S  -o initialization_12.s(timeout = 300)
*** glibc detected *** free(): invalid next size (fast): 0x09bcf970 ***^M
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gfortran.dg/initialization_12.f90:12:
internal compiler error: Aborted^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See http://gcc.gnu.org/bugs.html for instructions.^M
compiler exited with status 1
output is:
*** glibc detected *** free(): invalid next size (fast): 0x09bcf970 ***^M
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gfortran.dg/initialization_12.f90:12:
internal compiler error: Aborted^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See http://gcc.gnu.org/bugs.html for instructions.^M

FAIL: gfortran.dg/initialization_12.f90  -O  (internal compiler error)
FAIL: gfortran.dg/initialization_12.f90  -O  (test for excess errors)

Revision 135106 is OK. This revision is caused by revision 135109:

http://gcc.gnu.org/ml/gcc-cvs/2008-05/msg00269.html

and may only happen on 32bit host.


-- 
   Summary: [4.4 Regressio]: gfortran.dg/initialization_12.f90
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
GCC target triplet: i686-pc-linux-gnu


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