[Bug fortran/44489] Transfer with boz constant can confuse - add documentation

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


--- Comment #4 from kargl at gcc dot gnu dot org  2010-06-10 06:31 ---
(In reply to comment #3)
> The result of transfer is largest kind of decimal.  Can be kind=8 or kind=16
> depending on the system.  Maybe we should add some documentation in the manual
> on this. Thanks Steve for pointing this out.
> 

Well, to be more exact,  the result of transfer() has the type
of its 2nd argument.  In transfer(ii8,z'1000'), the BOZ may have
a kind type parameter of 8 or 16 depending on the target; while
the INTEGER(4) ii8 can only supply 32 bits.  Note, the documentation
for transfer() already describes this situation without explicitly
mentioning BOZ literal constants.


-- 


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



[Bug bootstrap/44470] [4.6 Regression] Failed to bootstrap with - -with-arch=atom

2010-06-09 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2010-06-10 06:18 ---
(In reply to comment #9)

> > Following patch is also needed to fix conditional splitting (it does not fix
> > original uncovered problem where BLOCK_FOR_INSN returns null):
> 
> I am not sure this is correct. The code prior to revision 160394 was
> written in such a way to support X86_TUNE_OPT_AGU.  We may have missed
> some cases. But it is mostly correct. I'd like to know what specific
> cases revision 160394 tried to fix. Thanks.

The patch fixes general problem, where we simply output lea from add{si,di}
instruction. This is not correct, since lea does not clobber flags, so we
should split add RTX to lea RTX to model this fact. 


-- 


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



[Bug objc/44488] objc test inconsistencies w/ / w/out --enable-build-with-cxx

2010-06-09 Thread amylaar at gcc dot gnu dot org


--- Comment #3 from amylaar at gcc dot gnu dot org  2010-06-10 05:41 ---
I see the same problem now with revision 160389.


-- 


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



[Bug target/44490] X86 memory mismatch stall

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


--- Comment #1 from hjl dot tools at gmail dot com  2010-06-10 05:23 ---
This patch

---
iff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index a33d3af..6f569cc 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -820,7 +820,10 @@

   /* All patterns using aligned_operand on memory operands ends up
  in promoting memory operand to 64bit and thus causing memory mismatch. 
*/
-  if (TARGET_MEMORY_MISMATCH_STALL && !optimize_insn_for_size_p ())
+  if (TARGET_MEMORY_MISMATCH_STALL
+  && !optimize_insn_for_size_p ()
+  && (!MEM_EXPR (op)
+ || TREE_CODE (MEM_EXPR (op)) != PARM_DECL))
 return 0;

   /* Don't even try to do any aligned optimizations with volatiles.  */


helps. I got

.file   "call-1.c"
.text
.p2align 4,,15
.globl foo
.type   foo, @function
foo:
pushl   %ebp
movl%esp, %ebp
movl12(%ebp), %eax
addl8(%ebp), %eax
addl16(%ebp), %eax
popl%ebp
ret
.size   foo, .-foo
.p2align 4,,15
.globl bar
.type   bar, @function
bar:
pushl   %ebp
movl%esp, %ebp
movswl  12(%ebp), %eax << still read 2 bytes.
movswl  16(%ebp), %edx
movswl  8(%ebp), %ecx
movl%edx, 12(%ebp)
movl%ecx, 16(%ebp)
movl%eax, 8(%ebp)
popl%ebp
jmp foo


-- 


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



[Bug fortran/44489] Transfer with boz constant can confuse - add documentation

2010-06-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #3 from jvdelisle at gcc dot gnu dot org  2010-06-10 05:21 
---
The result of transfer is largest kind of decimal.  Can be kind=8 or kind=16
depending on the system.  Maybe we should add some documentation in the manual
on this. Thanks Steve for pointing this out.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Transfer with boz constant  |Transfer with boz constant
   |gives wrong results |can confuse - add
   ||documentation


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



[Bug target/44490] New: X86 memory mismatch stall

2010-06-09 Thread hjl dot tools at gmail dot com
Since x86 zero extends when passing argument,
we get memory mismatch stall:

[...@gnu-6 899]$ cat call-1.c
short
__attribute__((noinline))
foo (short x, short y, short z)
{
   return x + y + z;
}

short
bar (short z, short x, short y)
{
  return foo (x, y, z);
}
[...@gnu-6 899]$ gcc -O2 -m32 call-1.c -S
[...@gnu-6 899]$ cat call-1.s
.file   "call-1.c"
.text
.p2align 4,,15
.globl foo
.type   foo, @function
foo:
pushl   %ebp
movl%esp, %ebp
movzwl  12(%ebp), %eax << 2bytes
addw8(%ebp), %ax
addw16(%ebp), %ax
popl%ebp
ret
.size   foo, .-foo
.p2align 4,,15
.globl bar
.type   bar, @function
bar:
pushl   %ebp
movl%esp, %ebp
movswl  12(%ebp), %eax
movswl  16(%ebp), %edx
movswl  8(%ebp), %ecx
movl%eax, 8(%ebp) << 4bytes
movl%edx, 12(%ebp)
movl%ecx, 16(%ebp)
popl%ebp
jmp foo


-- 
   Summary: X86 memory mismatch stall
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
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=44490



[Bug fortran/44489] Transfer with boz constant gives wrong results

2010-06-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #2 from jvdelisle at gcc dot gnu dot org  2010-06-10 04:37 
---
Interesting!

  print *, "kind=", kind(transfer(ii4,z'1000'))

On my system this gives kind = 8


-- 


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



[Bug fortran/44489] Transfer with boz constant gives wrong results

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


--- Comment #1 from kargl at gcc dot gnu dot org  2010-06-10 04:24 ---
This is probably a bogus PR.
The BOZ literal constants are INTEGER(16) entities
(at least of x86_64).  ii8 is an INTEGER(4) item.
The transfer() in the print statement is returning
a INTEGER(16) entity where only INTEGER(4) worth of
bits are set.

I've removed the 'wrong-code' keyword, because I
think you are getting processor dependent behavior.
In fact, the program might be nonconforming, but I'd
need to read up on transfer().


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords|wrong-code  |


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



[Bug libstdc++/44487] pair of references doesn't work in c++0x mode

2010-06-09 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2010-06-10 03:28 ---
Created an attachment (id=20881)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20881&action=view)
patch

This patch fixes it for me.  I'm not entirely sure this is a proper use of
forward, but it seems appropriate.  Want to raise this issue with the library
WG?


-- 


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



[Bug c++/44486] [4.3/4.4/4.5/4.6 regression] missing space in __PRETTY_FUNCTION__ expansion in anonymous namespace

2010-06-09 Thread bangerth at gmail dot com


--- Comment #2 from bangerth at gmail dot com  2010-06-10 03:27 ---
This is a regression:

2.95:  struct S {anonymous}::f()
3.4:   S ::f()
4.0:   S::f()

W.


-- 

bangerth at gmail dot com changed:

   What|Removed |Added

 CC||bangerth at gmail dot com
  Known to fail||4.0.4 4.5.0
  Known to work||3.4.6
Summary|missing space in|[4.3/4.4/4.5/4.6 regression]
   |__PRETTY_FUNCTION__ |missing space in
   |expansion in anonymous  |__PRETTY_FUNCTION__
   |namespace   |expansion in anonymous
   ||namespace


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



[Bug fortran/44489] New: Transfer with boz constant gives wrong results

2010-06-09 Thread jvdelisle at gcc dot gnu dot org
This one was posted at gfortran.org

program f90_test
  implicit none
  integer :: ii8,ii4
  ii4=0
  ii8=522405223
  print'(z4)',ii4  
  print'(z12)',ii8
  print *, "z=", z'1000'
  print *, transfer(ii8,z'1000')
  print *, transfer(ii8,z'1000')
  ii4=30292 !=z'7654'
  print'(z4)',ii4
  print'(z12)',ii8
end program f90_test

Repeated execution gives changing results for line 9. I have not investigated
further yet.

$ ./a.out 
   0
1F234567
 z=268435456
60197368789943655
522405223
7654
1F234567
$ ./a.out 
   0
1F234567
 z=268435456
61446413999097191
522405223
7654
1F234567
$ ./a.out 
   0
1F234567
 z=268435456
61358453068875111
522405223
7654
1F234567


Jerry


-- 
   Summary: Transfer with boz constant gives wrong results
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jvdelisle at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu


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



[Bug fortran/44207] ICE with ALLOCATABLE components and SOURCE

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


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-05-20 09:36:07 |2010-06-10 01:23:23
   date||


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



[Bug libstdc++/44487] pair of references doesn't work in c++0x mode

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


--- Comment #3 from paolo dot carlini at oracle dot com  2010-06-10 01:07 
---
The constructor at issue is trivially conforming to the most recent specs
(n3092) (*), thus, in my opinion, either this is a compiler issue, or a defect
in c++0x or a feature in c++0x itself, can't be a library implementation issue.
I'm adding Jason in CC just in case, for the variant with const, in particular,
which admittedly seems a bit weird.


(*) To be picky, pair(pair&& p) has been lately removed because redundant with
the templatized one template pair(pair&& p). I double
checked that with or without nothing changes, the error is the same.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||jason at gcc dot gnu dot org


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



[Bug objc/44488] objc test inconsistencies w/ / w/out --enable-build-with-cxx

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-06-10 01:06 ---
On x86_64-linux-gnu it does the correct thing:
Executing on host: /home/pinskia/src/local/gcc/objdir/gcc/xgcc
-B/home/pinskia/src/local/gcc/objdir/gcc/
/home/pinskia/src/local/gcc/gcc/testsuite/objc/compile/trivial.m  -fgnu-runtime
-I/home/pinskia/src/local/gcc/gcc/testsuite/../../libobjc 
-B/home/pinskia/src/local/gcc/objdir/x86_64-unknown-linux-gnu/./libobjc/.libs  
-L/home/pinskia/src/local/gcc/objdir/x86_64-unknown-linux-gnu/./libobjc/.libs 
-S  -o trivial.s(timeout = 300)
set_ld_library_path_env_vars:
ld_library_path=.::/home/pinskia/src/local/gcc/objdir/gcc:/home/pinskia/src/local/gcc/objdir/x86_64-unknown-linux-gnu/./libobjc/.libs
Executing on host: /home/pinskia/src/local/gcc/objdir/gcc/xgcc
-B/home/pinskia/src/local/gcc/objdir/gcc/
/home/pinskia/src/local/gcc/gcc/testsuite/objc/compile/trivial.m 
-fnext-runtime 
-B/home/pinskia/src/local/gcc/objdir/x86_64-unknown-linux-gnu/./libobjc/.libs  
-L/home/pinskia/src/local/gcc/objdir/x86_64-unknown-linux-gnu/./libobjc/.libs 
-S  -o trivial.s(timeout = 300)
In file included from
/home/pinskia/src/local/gcc/gcc/testsuite/objc/compile/trivial.m:1:0:^M
/home/pinskia/src/local/gcc/gcc/testsuite/objc/compile/../../objc-obj-c++-shared/Object1.h:39:30:
fatal error: objc/objc-runtime.h: No such file or directory^M
compilation terminated.^M
compiler exited with status 1
output is:
In file included from
/home/pinskia/src/local/gcc/gcc/testsuite/objc/compile/trivial.m:1:0:^M
/home/pinskia/src/local/gcc/gcc/testsuite/objc/compile/../../objc-obj-c++-shared/Object1.h:39:30:
fatal error: objc/objc-runtime.h: No such file or directory^M
compilation terminated.^M

Using the following runtimes: -fgnu-runtime


This is without --enable-build-with-cxx .


-- 


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



[Bug objc/44488] objc test inconsistencies w/ / w/out --enable-build-with-cxx

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-06-10 01:04 ---
-fnext-runtime should fail on x86-linux-gnu anyways.  Why it is not failing is
a good question.  If this is failing without  --enable-build-with-cxx there is
a bug somewhere.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO|44433   |
  nThis||
  Component|testsuite   |objc


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



[Bug testsuite/44488] New: objc test inconsistencies w/ / w/out --enable-build-with-cxx

2010-06-09 Thread amylaar at gcc dot gnu dot org
Sometime between revision 160389 and revision 160448,
testsuite/objc/compile/compile.exp started to use a new set of options for
overy test in testsuite/objc/compile/compile.exp, using -fnext-runtime
instead of -fgnu-runtime, thus adding 5 tests * 6 option compinations,
i.e. 30 new expected passes to the test results, for a default configuration
bootstrap/regtest on i686-pc-linux-gnu.  This is still the case at
revision 160461.
Running a bootstrap/regtest on i686-pc-linux-gnu with the configure option
--enable-build-with-cxx, I do not see these new test variants, and thus 30
fewer expected passes.

With the old trunk, or with the new trunk configured with
--enable-build-with-cxx, I see there is a test of -fnext-runtime at
the start of running compile.exp, which fails:

Executing on host: /user/inria/fsf/bldxx-20100607/gcc/xgcc
-B/user/inria/fsf/bldxx-20100607/gcc/
/user/inria/fsf/gcc/gcc/testsuite/objc/compile/trivial.m  -fnext-runtime 
-B/user/inria/fsf/bldxx-20100607/i686-pc-linux-gnu/./libobjc/.libs  
-L/user/inria/fsf/bldxx-20100607/i686-pc-linux-gnu/./libobjc/.libs  -S  -o
trivial.s(timeout = 300)
In file included from
/user/inria/fsf/gcc/gcc/testsuite/objc/compile/trivial.m:1:0:
/user/inria/fsf/gcc/gcc/testsuite/objc/compile/../../objc-obj-c++-shared/Object1.h:21:31:
fatal error: objc/Object.h: No such file or directory
compilation terminated.
compiler exited with status 1
output is:
In file included from
/user/inria/fsf/gcc/gcc/testsuite/objc/compile/trivial.m:1:0:
/user/inria/fsf/gcc/gcc/testsuite/objc/compile/../../objc-obj-c++-shared/Object1.h:21:31:
fatal error: objc/Object.h: No such file or directory
compilation terminated.

Using the following runtimes: -fgnu-runtime

With the new trunk configured without --enable-build-with-cxx, this test
appears to succeed:

Executing on host: /user/inria/fsf/bld-20100609/gcc/xgcc
-B/user/inria/fsf/bld-20100609/gcc/
/user/inria/fsf/gcc/gcc/testsuite/objc/compile/trivial.m  -fnext-runtime 
-B/user/inria/fsf/bld-20100609/i686-pc-linux-gnu/./libobjc/.libs  
-L/user/inria/fsf/bld-20100609/i686-pc-linux-gnu/./libobjc/.libs  -S  -o
trivial.s(timeout = 300)
Using the following runtimes: -fgnu-runtime -fnext-runtime


-- 
   Summary: objc test inconsistencies w/ / w/out --enable-build-
with-cxx
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
OtherBugsDependingO 44433
 nThis:


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



[Bug libstdc++/44487] pair of references doesn't work in c++0x mode

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-06-10 00:48 ---
What I mean is that the C++ front-end is correct to reject the code that
libstdc++ provides to it.  If there is a bug it is a problem with libstdc++ (or
maybe even the in flux C++0x STL :) ).


-- 


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



[Bug libstdc++/44487] pair of references doesn't work in c++0x mode

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-06-10 00:43 ---
I think this is because C++0x introduces rvalue references and those cannot
bind to lvalues.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |libstdc++


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



[Bug c++/44487] New: pair of references doesn't work in c++0x mode

2010-06-09 Thread foom at fuhm dot net
This program doesn't compile with g++-4.5 -std=c++0x -c test.cpp

I'm using:
g++-4.5 (Debian 4.5.0-5) 4.5.1 20100602 (prerelease)

I also verified the same behavior on:
 g++ (Debian 20100530-1) 4.6.0 20100530 (experimental) [trunk revision 160047]

#include 

int x, y;
std::pair foo() {
std::pair blah(x, y);
return blah;
}

It says:
In file included from /usr/include/c++/4.5/utility:71:0,
 from /tmp/test.cpp:1:
/usr/include/c++/4.5/bits/stl_pair.h: In constructor ‘std::pair<_T1,
_T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = int&, _T2 = int&, std::pair<_T1,
_T2> = std::pair]’:
/tmp/test.cpp:8:12:   instantiated from here
/usr/include/c++/4.5/bits/stl_pair.h:113:30: error: invalid initialization of
non-const reference of type ‘int&’ from an rvalue of type
‘std::remove_reference::type’
/usr/include/c++/4.5/bits/stl_pair.h:113:30: error: invalid initialization of
non-const reference of type ‘int&’ from an rvalue of type
‘std::remove_reference::type’


It works without -std=c++0x, and it seems like that ought to work in c++0x too.

Furthermore, this slightly modified program, making "blah" const (which I think
shouldn't make a difference, as it's the outermost qualifier of a local
variable) causes it to successfully compile:

#include 

int x, y;
std::pair foo() {
const std::pair blah(x, y);
return blah;
}


-- 
   Summary: pair of references doesn't work in c++0x mode
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: foom at fuhm dot net


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



[Bug libstdc++/44413] inefficient code for std::string::compare on x86-64

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


--- Comment #9 from paolo dot carlini at oracle dot com  2010-06-10 00:26 
---
As far as we can see can't be substantively improved. See also the thread
starting at: http://gcc.gnu.org/ml/libstdc++/2010-06/msg00073.html


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/44483] [4.6 regression] gcc consumes all available memory when optimizing

2010-06-09 Thread spop at gcc dot gnu dot org


--- Comment #4 from spop at gcc dot gnu dot org  2010-06-09 22:13 ---
Mine.


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |spop at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|-00-00 00:00:00 |2010-06-09 22:13:10
   date||


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



[Bug fortran/38913] Fortran does not set TYPE_CANONICAL properly

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


--- Comment #19 from fxcoudert at gcc dot gnu dot org  2010-06-09 22:11 
---
(In reply to comment #16)
> Re-confirmed with current trunk, testcase from (comment #8).

I think it now passes.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org


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



[Bug fortran/40873] -fwhole-file -fwhole-program: Wrong decls cause too much to be optimized away

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


--- Comment #16 from fxcoudert at gcc dot gnu dot org  2010-06-09 22:10 
---
Another one that fails:


subroutine func (x)
  use demo
  integer :: x
  x = 999
end subroutine func

subroutine foo
  interface
subroutine func(x)
  integer :: x
   end subroutine func
  end interface

  integer :: x
  call func(x)
  if (x /= 999) call abort ()

end subroutine foo

program test
  call foo
end


-- 


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



[Bug tree-optimization/44483] [4.6 regression] gcc consumes all available memory when optimizing

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


--- Comment #3 from hjl dot tools at gmail dot com  2010-06-09 22:06 ---
It is caused by revision 159886:

http://gcc.gnu.org/ml/gcc-cvs/2010-05/msg00942.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||spop at gcc dot gnu dot org
   Target Milestone|--- |4.6.0


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



[Bug c++/44486] missing space in __PRETTY_FUNCTION__ expansion in anonymous namespace

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


--- Comment #1 from redi at gcc dot gnu dot org  2010-06-09 22:02 ---
I'm VERY much in favour of using something that is not valid C++ syntax, rather
than ""


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-09 22:02:51
   date||


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



[Bug c++/44473] iterators already defined for std::vector when using std::decimal

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


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-09 22:02:26
   date||


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



[Bug rtl-optimization/42461] [4.5/4.6 regression] missed optimization for pure functions

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


--- Comment #6 from ebotcazou at gcc dot gnu dot org  2010-06-09 21:50 
---
Subject: Bug 42461

Author: ebotcazou
Date: Wed Jun  9 21:49:44 2010
New Revision: 160507

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160507
Log:
PR rtl-optimization/42461
* dce.c (deletable_insn_p): Return true for const or pure calls again.
* except.c (insn_could_throw_p): Return false if !flag_exceptions.

Added:
trunk/gcc/testsuite/gcc.dg/pr42461.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/except.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/44473] iterators already defined for std::vector when using std::decimal

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


--- Comment #6 from paolo dot carlini at oracle dot com  2010-06-09 21:48 
---
Oops, thanks Joseph.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC|janis187 at us dot ibm dot  |
   |com |


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



[Bug c/44485] [4.6 Regression] ICE in get_expr_operands, at tree-ssa-operands.c:1020

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


--- Comment #1 from hjl dot tools at gmail dot com  2010-06-09 21:40 ---
It is caused by revision 160124:

http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg00036.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-09 21:40:57
   date||
Summary|ICE in get_expr_operands, at|[4.6 Regression] ICE in
   |tree-ssa-operands.c:1020|get_expr_operands, at tree-
   ||ssa-operands.c:1020
   Target Milestone|--- |4.6.0
Version|unknown |4.6.0


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



[Bug fortran/44347] SELECT_REAL_KIND: Wrongly accepts non-scalar arguments

2010-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #6 from dfranke at gcc dot gnu dot org  2010-06-09 21:36 ---
Subject: Bug 44347

Author: dfranke
Date: Wed Jun  9 21:36:33 2010
New Revision: 160506

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160506
Log:
gcc/fortran/:
2010-06-09  Daniel Franke  

PR fortran/44347
* check.c (gfc_check_selected_real_kind): Verify that the
actual arguments are scalar.

gcc/testsuite/:
2010-06-09  Daniel Franke  

PR fortran/44347
* gfortran.dg/selected_real_kind_1.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/selected_real_kind_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/44486] New: missing space in __PRETTY_FUNCTION__ expansion in anonymous namespace

2010-06-09 Thread msebor at gmail dot com
The "S::f()" text reads as though S were a template. I suspect the
text is simply missing a space between the S and  but I wonder if
the  bit could actually be replaced by something less ambiguous
in C++ (such as /* unnamed */ or perhaps better still, /* anonymous */).

Btw., since glibc uses __PRETTY_FUNCTION__ in its definition of the assert()
macro this shows up in quite a bit of output.

$ cat t.cpp && g++ -dumpversion && g++ t.cpp && ./a.out
#include 

struct S { };
namespace { S f() { std::puts(__PRETTY_FUNCTION__); return S(); } }

int main() { f(); }

4.4.3
S::f()


-- 
   Summary: missing space in __PRETTY_FUNCTION__ expansion in
anonymous namespace
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: msebor at gmail dot com


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



[Bug fortran/44457] Missing ASYNCHRONOUS constraint check

2010-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #1 from dfranke at gcc dot gnu dot org  2010-06-09 21:19 ---
This should work (untested). However, ASYNCHRONOUS is F2003. Should one
introduce standard-specific checks? The whole function seems to be agnostic in
this respect?!

Index: interface.c
===
--- interface.c (revision 160504)
+++ interface.c (working copy)
@@ -2133,13 +2133,15 @@ compare_actual_formal (gfc_actual_arglis

   if ((f->sym->attr.intent == INTENT_OUT
   || f->sym->attr.intent == INTENT_INOUT
-  || f->sym->attr.volatile_)
+  || f->sym->attr.volatile_
+  || f->sym->attr.asynchronous)
   && has_vector_subscript (a->expr))
{
  if (where)
-   gfc_error ("Array-section actual argument with vector subscripts "
-  "at %L is incompatible with INTENT(OUT), INTENT(INOUT) "
-  "or VOLATILE attribute of the dummy argument '%s'",
+   gfc_error ("Array-section actual argument with vector "
+  "subscripts at %L is incompatible with INTENT(OUT), "
+  "INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute "
+  "of the dummy argument '%s'",
   &a->expr->where, f->sym->name);
  return 0;
}


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dfranke at gcc dot gnu dot
   ||org


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



[Bug fortran/44207] ICE with ALLOCATABLE components and SOURCE

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


--- Comment #4 from janus at gcc dot gnu dot org  2010-06-09 21:17 ---
Here's a quick shot at fixing the ICE:


Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c   (revision 160503)
+++ gcc/fortran/resolve.c   (working copy)
@@ -6146,8 +6146,11 @@ gfc_expr_to_initialize (gfc_expr *e)
 static gfc_try
 conformable_arrays (gfc_expr *e1, gfc_expr *e2)
 {
+  gfc_ref *tail;
+  for (tail = e2->ref; tail && tail->next; tail = tail->next);
+  
   /* First compare rank.  */
-  if (e2->ref && e1->rank != e2->ref->u.ar.as->rank)
+  if (tail && e1->rank != tail->u.ar.as->rank)
 {
   gfc_error ("Source-expr at %L must be scalar or have the "
 "same rank as the allocate-object at %L",


It does work on the test case, but I haven't checked for regressions.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||janus at gcc dot gnu dot org


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



[Bug c/44485] New: ICE in get_expr_operands, at tree-ssa-operands.c:1020

2010-06-09 Thread regehr at cs dot utah dot edu
reg...@gamow tmp414]$ current-gcc -v
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r160490-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r160490-install
--program-prefix=r160490- --enable-languages=c,c++
Thread model: posix
gcc version 4.6.0 20100609 (experimental) (GCC) 

[reg...@gamow tmp414]$ current-gcc -c -O small.c

small.c: In function 'func_21':
small.c:42:22: warning: assignment makes integer from pointer without a cast
[enabled by default]
unhandled expression in get_expr_operands():
 

small.c: In function 'int324':
small.c:21:6: internal compiler error: in get_expr_operands, at
tree-ssa-operands.c:1020
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

[reg...@gamow tmp414]$ cat small.c

static int
foo (int si1, int si2)
{
  return si1 > 0 && si2 > 0 && si1 > -si2 || si1 < 0 && si2 < 0
&& si1 < -si2 ? : si1 + si2;
}

struct S0
{
  unsigned short f1;
};
int g_4;
struct S0 g_54 = {
  3428
};

int
func_21 (int * p_22, int * const int32p_24, unsigned p_25,
 const int * p_26);

void int324 (unsigned p_15, int * p_16, int * p_17, int * p_18)
{
  if (foo (g_4, func_21 (p_18, &g_4, 0, 0)))
{
  for (g_54.f1; g_54.f1; g_54.f1 += 1)
{
}
}
}

int
func_21 (int * p_22, int * const int32p_24, unsigned p_25,
 const int * p_26)
{
  for (0; 1; p_25 += 1)
  lbl_29:if (p_25)
  goto lbl_28;
lbl_28:for (p_25 = 0; p_25 < 9; p_25 += 1)
if (p_25)
  goto lbl_29;
  unsigned short l_53;
  for (0; l_53; l_53 = foo)
{
}
  return 0;
}


-- 
   Summary: ICE in get_expr_operands, at tree-ssa-operands.c:1020
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: regehr at cs dot utah dot edu
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug fortran/44442] Useless temporary with RESHAPE

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


--- Comment #4 from dominiq at lps dot ens dot fr  2010-06-09 20:57 ---
(In reply to comment #2)
> This is a known limitation of array constructors handling by gfortran.

I was about to ask if this pr is a duplicate. From comment #3, it is; so I am
closing it as such.
For the record the optimized dump (with 4.6) reads:

...

  atmp.6.dtype = 521;
  atmp.6.dim[0].stride = 1;
  atmp.6.dim[0].lbound = 0;
  atmp.6.dim[0].ubound = 1;
  atmp.6.data = &A.7;
  atmp.6.offset = 0;
  A.7[0] = 5;
  A.7[1] = 4;
  _gfortran_reshape_r4 (&parm.1, &parm.2, &atmp.6, 0B, 0B);
...

So one temporary is removed with optimization.


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


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/33341] array temporaries for array constructors (unnecessary stores)

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


--- Comment #6 from dominiq at lps dot ens dot fr  2010-06-09 20:57 ---
*** Bug 2 has been marked as a duplicate of this bug. ***


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||dominiq at lps dot ens dot
   ||fr


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



[Bug libstdc++/44480] [C++0x] Linear performance of begin() in unordered associative containers

2010-06-09 Thread joaquin at tid dot es


--- Comment #2 from joaquin at tid dot es  2010-06-09 20:34 ---
Caching can also have undesired consequences: for additional context on the
problem, see

https://svn.boost.org/trac/boost/ticket/4264

Note that *two* problems are discussed there, one is LWG issue #579 and the
other the one being addressed here.


-- 


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



[Bug bootstrap/44470] [4.6 Regression] Failed to bootstrap with - -with-arch=atom

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


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |4.6.0


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



[Bug bootstrap/44470] [4.6 Regression] Failed to bootstrap with - -with-arch=atom

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


--- Comment #9 from hjl dot tools at gmail dot com  2010-06-09 20:30 ---
(In reply to comment #6)
> Following patch is also needed to fix conditional splitting (it does not fix
> original uncovered problem where BLOCK_FOR_INSN returns null):
> 
>

I am not sure this is correct. The code prior to revision 160394 was
written in such a way to support X86_TUNE_OPT_AGU.  We may have missed
some cases. But it is mostly correct. I'd like to know what specific
cases revision 160394 tried to fix. Thanks.


-- 


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



[Bug rtl-optimization/44484] New: [4.6 regression] revision 160260 caused sparc64 testsuite failures

2010-06-09 Thread mikpe at it dot uu dot se
Between gcc-4.6-20100529 and gcc-4.6-20100605 a number of new testsuite FAILs
appeared on sparc64-linux:

=== gfortran tests ===

FAIL: gfortran.fortran-torture/execute/forall_7.f90 execution,  -O2
-fomit-frame-pointer -finline-functions -funroll-loops 
FAIL: gfortran.fortran-torture/execute/forall_7.f90 execution,  -O3 -g 

=== libgomp tests ===


FAIL: libgomp.c/nestedfn-3.c (test for excess errors)
WARNING: libgomp.c/nestedfn-3.c compilation failed to produce executable
FAIL: libgomp.c/nestedfn-4.c (test for excess errors)
WARNING: libgomp.c/nestedfn-4.c compilation failed to produce executable
FAIL: libgomp.c/task-2.c (test for excess errors)
WARNING: libgomp.c/task-2.c compilation failed to produce executable
FAIL: libgomp.fortran/omp_atomic1.f90  -O1  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -O1  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic1.f90  -O2  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -O2  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic1.f90  -O3 -fomit-frame-pointer  (test for
excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -O3 -fomit-frame-pointer  compilation
failed to produce executable
FAIL: libgomp.fortran/omp_atomic1.f90  -O3 -fomit-frame-pointer -funroll-loops 
(test for excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -O3 -fomit-frame-pointer
-funroll-loops  compilation failed to produce executable
FAIL: libgomp.fortran/omp_atomic1.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  compilation failed to produce executable
FAIL: libgomp.fortran/omp_atomic1.f90  -O3 -g  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -O3 -g  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic1.f90  -Os  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic1.f90  -Os  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic2.f90  -O1  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -O1  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic2.f90  -O2  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -O2  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic2.f90  -O3 -fomit-frame-pointer  (test for
excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -O3 -fomit-frame-pointer  compilation
failed to produce executable
FAIL: libgomp.fortran/omp_atomic2.f90  -O3 -fomit-frame-pointer -funroll-loops 
(test for excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -O3 -fomit-frame-pointer
-funroll-loops  compilation failed to produce executable
FAIL: libgomp.fortran/omp_atomic2.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  compilation failed to produce executable
FAIL: libgomp.fortran/omp_atomic2.f90  -O3 -g  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -O3 -g  compilation failed to produce
executable
FAIL: libgomp.fortran/omp_atomic2.f90  -Os  (test for excess errors)
WARNING: libgomp.fortran/omp_atomic2.f90  -Os  compilation failed to produce
executable

I've traced this to r160260 (fix PR39871, PR40615, PR42500, PR42502). Some
intermediate revisions cause bootstrap breakage making a bisection difficult,
but reverting r160260 from gcc-4.6-20100605 eliminates the FAILs above.

Although most FAILs are for Fortran, there are also three C-only libgomp tests
that now FAIL.

Compare also

http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg00316.html (r160217, libgomp)
http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg02923.html (r160038, fortran
and libgomp)

with

http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg00454.html (r160287, libgomp)
http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg00590.html (r160330, fortran
and libgomp)

I'll check tomorrow if any of these are reproducible with a cross-compiler.


-- 
   Summary: [4.6 regression] revision 160260 caused sparc64
testsuite failures
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mikpe at it dot uu dot se
 GCC build triplet: sparc64-unknown-linux-gnu
  GCC host triplet: sparc64-unknown-linux-gnu
GCC target triplet: sparc64-unknown-linux-gnu


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



[Bug target/44082] AVR watchdog resets the core during initialization

2010-06-09 Thread eric dot weddington at atmel dot com


--- Comment #1 from eric dot weddington at atmel dot com  2010-06-09 20:21 
---
This is not a bug.
Please see the avr-libc documentation for  here:
http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html
which gives the method to disable the watchdog.


-- 

eric dot weddington at atmel dot com changed:

   What|Removed |Added

 CC||eric dot weddington at atmel
   ||dot com
 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/43902] suboptimal MIPS widening multiply accumulate

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


--- Comment #9 from bernds at gcc dot gnu dot org  2010-06-09 20:20 ---
Created an attachment (id=20880)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20880&action=view)
A new version of Jim's patch

Here's what I've done with it so far.  I've changed the new tree code to be a
proper gimple operation, which meant extending all sorts of gimple code to
handle ternary operations.  tree-ssa-math-opts runs late enough that I don't
think we need to handle them in most passes, so I've turned some existing
functions into wrappers that continue to present a two-operand interface.

The other thing I've done is to restructure the pass a little to avoid the
second loop over all the insns.

I've changed the ARM backend to take advantage of it.

Regression tests on ARM look fine (although I've had to change one of the
testcases which didn't expect widen-macc to be generated).

What do you think?  Please let me know what your MIPS tests turned up.


-- 


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



[Bug c++/44473] iterators already defined for std::vector when using std::decimal

2010-06-09 Thread joseph at codesourcery dot com


--- Comment #5 from joseph at codesourcery dot com  2010-06-09 20:14 ---
Subject: Re:  iterators already defined for std::vector when
 using std::decimal

On Wed, 9 Jun 2010, paolo dot carlini at oracle dot com wrote:

> Janis, this doesn't make sense to me, and for sure happens only with decimal.
> Can you have a look?
> 
> 
> -- 
> 
> paolo dot carlini at oracle dot com changed:
> 
>What|Removed |Added
> 
>  CC||janis187 at us dot ibm dot
>||com

Janis is no longer at IBM

http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01516.html

(her assignment has now come through, according to copyright.list)


-- 


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



[Bug fortran/44347] SELECT_REAL_KIND: Wrongly accepts non-scalar arguments

2010-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #5 from dfranke at gcc dot gnu dot org  2010-06-09 20:11 ---
Confirmed.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dfranke at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   GCC host triplet|x86_64-unknown-linux-gnu|
   Last reconfirmed|-00-00 00:00:00 |2010-06-09 20:11:45
   date||


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



[Bug fortran/44442] Useless temporary with RESHAPE

2010-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #3 from dfranke at gcc dot gnu dot org  2010-06-09 19:45 ---
I believe this is a dupe of PR33341.


-- 


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



[Bug fortran/44359] -Wall / -Wconversion: Too verbose warning for DATA BOZ conversions

2010-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #4 from dfranke at gcc dot gnu dot org  2010-06-09 19:42 ---
Fixed in trunk. Closing.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug fortran/44477] Sequential I/O with END FILE: File position should be at EoF

2010-06-09 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2010-06-09 19:41 ---
(In reply to comment #1)
> As I read this, the test case is invalid since it does not have a rewind or
> backspace before the write?

Yes - I expect that gfortran should issue an EOR error instead of happily
accepting an I/O transfer.


> If we want to change this to be an intended extension, I suppose we should
> issue a warning or error for -std= ?

Well, I think we can do two things:

a) Keep the current status and claim it is an extension
b) Change it to match NAG f95 and Pathscale and print a run-time EoF error. (Or
the equivalent for ERR=/IOSTAT=/IOMSG=.)

I do not think that it makes sense to allow it for -std=(gnu/legacy) and not
for -std=f(95/2003/2008).

As Pathscale prints an error, there is hope that not too many programs rely on
having no BACKSPACE/REWIND.


Error: Pathscale 3.2.99, NAG f95 v5.1, Open64 4.2

No error: ifort 11.1, gfortran, g95, sunf95 8.3 (sunstudio12), Portland's pgf90
v6.2 and v10.3.
(No idea what g77 did.)


-- 


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



[Bug fortran/44359] -Wall / -Wconversion: Too verbose warning for DATA BOZ conversions

2010-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #3 from dfranke at gcc dot gnu dot org  2010-06-09 19:41 ---
Subject: Bug 44359

Author: dfranke
Date: Wed Jun  9 19:40:58 2010
New Revision: 160505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160505
Log:
gcc/fortran/:
2010-06-09  Daniel Franke  

PR fortran/44359
* intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.

gcc/testsuite/:
2010-06-09  Daniel Franke  

PR fortran/44359
* gfortran.dg/warn_conversion.f90: Removed check for redundant
warning.
* gfortran.dg/warn_conversion_2.f90: Use non-constant expression to
check for warning.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/intrinsic.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/warn_conversion.f90
trunk/gcc/testsuite/gfortran.dg/warn_conversion_2.f90


-- 


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



[Bug fortran/44477] Sequential I/O with END FILE: File position should be at EoF

2010-06-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #1 from jvdelisle at gcc dot gnu dot org  2010-06-09 19:24 
---
As I read this, the test case is invalid since it does not have a rewind or
backspace before the write?

If we want to change this to be an intended extension, I suppose we should
issue a warning or error for -std= ?

I want to study this more before we do anything.  Regression territory here.


-- 


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



[Bug libstdc++/44475] bunch of warnings of "second definition" on osf

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


--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-06-09 
19:19 ---
Subject: Re:  bunch of warnings of "second definition" on osf

I've regularly seen those warnings, but ignored them since I've found no
ill effect and the testsuite largely passes (which doesn't use the
static libstdc++.a anyway).

While I do have Tru64 UNIX sources, the compilation tools (including nm,
ar, and ld) are missing, so I cannot use that source to shed some light
on the warning, and binutils aren't an option yet since they don't
allow a bootstrap to finish.

Unless the reporter can provide evidence that this warning causes actual
problems, I'd suggest to close this as INVALID.

Rainer


-- 


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



[Bug tree-optimization/44483] [4.6 regression] gcc consumes all available memory when optimizing

2010-06-09 Thread falk at debian dot org


--- Comment #2 from falk at debian dot org  2010-06-09 19:11 ---
Confirmed, seems to be in if-conv. Here's a smaller test case:

int ffesum (void) {
  int ch[4], ii, jj, kk;
  char asc[32];

  for (ii = 0; ii < 4; ii++)
{
  for (jj = 0; jj < 4; jj++)
ch[jj] = ii;
  for (kk = 0; kk < 13; kk++)
for (jj = 0; jj < 4; jj += 2)
  if ((unsigned char) ch[jj] || (unsigned char) ch[jj + 1])
ch[jj]++;
  for (jj = 0; jj < 4; jj++)
asc[4 * jj + ii] = ch[jj];
}
  return asc[0];
}


-- 

falk at debian dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |tree-optimization
 Ever Confirmed|0   |1


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



[Bug rtl-optimization/44460] [4.6 Regression] r160380 breaks libjava bootstrap on *-apple-darwin*

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


--- Comment #8 from dominiq at lps dot ens dot fr  2010-06-09 18:39 ---
> > The following http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00692.html
> > It definitly avoids the ICE, but it would be nice to know if libstdc++
> > testsuite passes.
>
> It does fix the bootstrap failure. I am currently regtesting (at gfortran 
> -m32)
> and should have the results for libstdc++ in a couple of hours.

On x86_64-apple-darwin10.3.0 I have bootstrapped successfully revision 160431
with revision 160380 reverted and revision 160454 with revision 160380 and the
patch in http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00692.html. For the later
the regtest failures are those reported in
http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg00587.html .

Note that the 2*16 failures for libstdc++ are due to revision 159362 (see also
the regress logs for ppc).
Martin Jambor knows about them and I'll fill a PR for yesterday later tonight
or tomorrow (filling PR against darwin sucks!-).

Obviously (as a duplicate) the patch fixes also pr44453.


-- 


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



[Bug fortran/44430] [4.5/4.6 Regression] Infinite recursion with -fdump-parse-tree

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


--- Comment #8 from janus at gcc dot gnu dot org  2010-06-09 18:38 ---
Subject: Bug 44430

Author: janus
Date: Wed Jun  9 18:38:11 2010
New Revision: 160504

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160504
Log:
2010-06-09  Janus Weil  

PR fortran/44430
* dump-parse-tree.c (show_symbol): Avoid infinite loop.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/dump-parse-tree.c


-- 


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



[Bug other/43838] [4.4/4.5/4.6 Regression] Incorrect output from abi::__cxa_demangle

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


--- Comment #12 from jakub at gcc dot gnu dot org  2010-06-09 18:09 ---
I see the bug.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-06-08 17:57:00 |2010-06-09 18:09:12
   date||


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



[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2010-06-09 Thread manu at gcc dot gnu dot org


--- Comment #30 from manu at gcc dot gnu dot org  2010-06-09 17:57 ---
(In reply to comment #29)
> Created an attachment (id=20878)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20878&action=view) [edit]
> Refreshed version. Fully Bootstraps the C FE and passes regression tests.
> 
> This fixes a annoying bug that were making the compiler emit wrong debug info,
> leading to binaries that were not really debug-able.
> 
> Next stop is to disable this feature by default, and enable it with a
> -ftrack-macro-expansion flag, and update the regressions tests of the C FE.

Great but... you should just prune the output in the general case (extending
prune.exp) and only bother to handle the extra output in cases where it makes
sense to specifically test it. This is what we do for the "inlined from"
messages and it makes sense to do the same for this kind of message.

I see now the sense in the column numbers, I think it is the order that
confused me (and not seeing the code clearly). I would prefer a different
output like:

test.c:13:3: in expansion of macro MULT2
test.c:5:14: in expansion of macro SHIFTL
test.c:8:3: in expansion of macro OPERATE
test.c:2:8: error: invalid operands to binary << (have 'double' and 'int')

But this is bike-shedding at this stage and it is more important to get the
internals working.

BTW, do we also keep the information about the macro arguments? If so, after
your patch goes in we could even go as far as to print macro arguments:

test.c:13:3: in expansion of macro MULT2 [with A=1.0]
test.c:5:14: in expansion of macro SHIFTL [with A=1.0, B=1]
test.c:8:3: in expansion of macro OPERATE [with OPRD1=1.0, OPTR=<<, OPTRD2=1]
test.c:2:8: error: invalid operands to binary << (have 'double' and 'int')

Ok, ok. let's get back to reality ;-)


-- 


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



[Bug rtl-optimization/44460] [4.6 Regression] r160380 breaks libjava bootstrap on *-apple-darwin*

2010-06-09 Thread hp at gcc dot gnu dot org


--- Comment #7 from hp at gcc dot gnu dot org  2010-06-09 17:53 ---
(In reply to comment #5)
> The following http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00692.html
> It definitly avoids the ICE, but it would be nice to know if libstdc++
> testsuite passes.

When applied to r160481, it solved the problems for cris-elf with no
regressions compared to r160368.


-- 


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



[Bug c/44483] [4.6 regression] gcc consumes all available memory when optimizing

2010-06-09 Thread martin at mpa-garching dot mpg dot de


--- Comment #1 from martin at mpa-garching dot mpg dot de  2010-06-09 17:42 
---
Created an attachment (id=20879)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20879&action=view)
test case


-- 


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



[Bug c/44483] New: [4.6 regression] gcc consumes all available memory when optimizing

2010-06-09 Thread martin at mpa-garching dot mpg dot de
When compiling the attached testcase, current trunk gcc uses all available
memory on my system (4GB) and then swaps until I interrupt the process. This
only happens with -O3; using -O2 works as expected.
gcc 4.5 comiles the file as expected with -O3.

/scratch/tmp/devel2/build.linux_gcc/libcfitsio>gcc -c -O3 -v checksum.i
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/afs/mpa/data/martin/ugcc/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /scratch/martin/gcc/configure --disable-bootstrap
--enable-gold --enable-plugins --prefix=/afs/mpa/data/martin/ugcc
--with-ppl=/afs/mpa/data/martin/numlibs64
--with-cloog=/afs/mpa/data/martin/numlibs64
--with-libelf=/afs/mpa/data/martin/numlibs64 --enable-languages=c++,fortran
--enable-target=all --enable-checking=release
Thread model: posix
gcc version 4.6.0 20100609 (experimental) [trunk revision 160476] (GCC) 
COLLECT_GCC_OPTIONS='-c' '-O3' '-v' '-mtune=generic' '-march=x86-64'
 /afs/mpa/data/martin/ugcc/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1
-fpreprocessed checksum.i -quiet -dumpbase checksum.i -mtune=generic
-march=x86-64 -auxbase checksum -O3 -version -o /tmp/ccibJbLw.s
GNU C (GCC) version 4.6.0 20100609 (experimental) [trunk revision 160476]
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.2, GMP version 4.3.2, MPFR version 2.4.2,
MPC version 0.8.1
warning: GMP header version 4.3.2 differs from library version 4.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.6.0 20100609 (experimental) [trunk revision 160476]
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.2, GMP version 4.3.2, MPFR version 2.4.2,
MPC version 0.8.1
warning: GMP header version 4.3.2 differs from library version 4.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f4e23293da4cc17049a858a32373cf07
^C
/scratch/tmp/devel2/build.linux_gcc/libcfitsio>


-- 
   Summary: [4.6 regression] gcc consumes all available memory when
optimizing
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: martin at mpa-garching dot mpg dot de
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug java/16858] Linking of jv-convert fails with redundant pthreads symbols

2010-06-09 Thread jay dot krell at cornell dot edu


--- Comment #5 from jay dot krell at cornell dot edu  2010-06-09 17:39 
---
Exact same errors building gc (not gcc) using gcc 4.3.5 on OSF/1 5.1.
I haven't tried building java/libjava. Will probably do that.
Please reopen.


make[2]: Entering directory `/home/jayk/obj/gc'
gcc -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -DPACKAGE_VERSION=\"6.8\"
-DPACKAGE_STRING=\"gc\ 6.8\" -DPACKAGE_BUGREPORT=\"hans.bo...@hp.com\"
-DGC_VERSION_MAJOR=6 -DGC_VERSION_MINOR=8 -DPACKAGE=\"gc\" -DVERSION=\"6.8\"
-DGC_OSF1_THREADS=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1
-DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1
-DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1  -I.
-I/home/jayk/src/gc6.8 -I/home/jayk/src/gc6.8/include -pthread   -fexceptions
-g -O2 -c /home/jayk/src/gc6.8/tests/test.c
/bin/ksh ./libtool --mode=link gcc -fexceptions -g -O2  -o gctest  test.o
./libgc.la -lpthread -lrt   
gcc -fexceptions -g -O2 -o .libs/gctest test.o  ./.libs/libgc.so -lpthread -lrt
-Wl,-rpath -Wl,/home/jayk/lib
/usr/bin/ld:
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
pthread_key_create: multiply defined
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
__pthread_getspecific: multiply defined
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
__pthread_setspecific: multiply defined
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
__pthread_mutex_lock: multiply defined
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
__pthread_mutex_unlock: multiply defined
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
pthread_attr_destroy: multiply defined
/home/jayk/lib/gcc/alphaev67-dec-osf5.1/4.3.5/libgcc.a(gthr-posix.o):
pthread_attr_init: multiply defined
collect2: ld returned 1 exit status
make[2]: *** [gctest] Error 1
make[2]: Leaving directory `/home/jayk/obj/gc'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/home/jayk/obj/gc'
make: *** [check-recursive] Error 1
bash-4.1$ gcc -v
Using built-in specs.
Target: alphaev67-dec-osf5.1
Configured with: /home/jayk/src/gcc-4.3.5/configure -disable-nls
-with-gmp=/home/jayk -prefix=/home/jayk
Thread model: posix
gcc version 4.3.5 (GCC) 


-- 

jay dot krell at cornell dot edu changed:

   What|Removed |Added

 CC||jay dot krell at cornell dot
   ||edu


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



[Bug other/43838] [4.4/4.5/4.6 Regression] Incorrect output from abi::__cxa_demangle

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


--- Comment #11 from jakub at gcc dot gnu dot org  2010-06-09 17:24 ---
Can be reproduced also with
c++filt
_ZN5boost6tuples5tupleIN23abcdefgxyzzzabb3AaaENS2_4klmn16BaaaENS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EE


-- 


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



[Bug java/43839] libjava incorrectly uses -liconv in testsuite, jni.exp when using --with-libiconv-prefix

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


--- Comment #11 from mrs at gcc dot gnu dot org  2010-06-09 17:21 ---
Fixed.


-- 

mrs at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2010-06-09 Thread dodji at gcc dot gnu dot org


--- Comment #29 from dodji at gcc dot gnu dot org  2010-06-09 17:09 ---
Created an attachment (id=20878)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20878&action=view)
Refreshed version. Fully Bootstraps the C FE and passes regression tests.

This fixes a annoying bug that were making the compiler emit wrong debug info,
leading to binaries that were not really debug-able.

Next stop is to disable this feature by default, and enable it with a
-ftrack-macro-expansion flag, and update the regressions tests of the C FE.


-- 

dodji at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #20769|0   |1
is obsolete||
  Attachment #20770|0   |1
is obsolete||
  Attachment #20846|0   |1
is obsolete||


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



[Bug other/43838] [4.4/4.5/4.6 Regression] Incorrect output from abi::__cxa_demangle

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


--- Comment #10 from paolo dot carlini at oracle dot com  2010-06-09 17:05 
---
Thanks HJ.


-- 


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



[Bug other/43838] [4.4/4.5/4.6 Regression] Incorrect output from abi::__cxa_demangle

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


--- Comment #9 from hjl dot tools at gmail dot com  2010-06-09 16:56 ---
It is caused by revision 142799:

http://gcc.gnu.org/ml/gcc-cvs/2008-12/msg00498.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||jason at redhat dot com
   Target Milestone|--- |4.4.5


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



[Bug fortran/44346] gfortran accepts illegal arguments to intrinsics

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


--- Comment #5 from kargl at gcc dot gnu dot org  2010-06-09 16:39 ---
Patch has been committed to 4.4, 4.5, and trunk.
Closing.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libgomp/30471] OpenMP with static linking fails in fortran on amd64

2010-06-09 Thread burnus at gcc dot gnu dot org


--- Comment #11 from burnus at gcc dot gnu dot org  2010-06-09 16:36 ---
cross-ref:
http://sourceware.org/bugzilla/show_bug.cgi?id=5780
http://sourceware.org/bugzilla/show_bug.cgi?id=5784


-- 


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



[Bug c/44482] New: some warnings in libgcc amd64-darwin 4.5.0

2010-06-09 Thread jay dot krell at cornell dot edu
note this is later bootstrap stages so shouldn't matter what the bootstrap
compiler was (assuming it compiled the compiler reasonably correctly)

For the missing prototypes, I suggest you just put them right there:

void Foo(void);
void Foo(void)
{
  ...
}


for the uninitialized I suggest just initializing them and not worrying about
it.


For the cast I already posted a patch adding const.


The shifts are buried in macros and I didn't look so not sure.
Personally if I want (a << 32) I'd just do ((a << 31) << 1)..or, uh, just 0,
but that may or may not be relevant here.


_darwin10_Unwind_FindEnclosingFunction I didn't look at.


I'll maybe come back to this myself, hopefully that's not an abuse of gcc
bugzilla (esp. given that this is not using -disable-bootstrap so not a
terrible bug report).


I'm surprised -Werror isn't used here.
I suggest -Wmissing-prototypes only apply to callers not implementers? I
realize it is a tradeoff, because you want to make sure there is a prototype
somewhere for callers (though not really for libgcc math helpers...) and
forcing the implementor to pull that in is a reasonable way to make that so.


/home/jayk/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c: In function
'uw_init_context_1':
/home/jayk/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c:1452:5: warning: missing
initializer
/home/jayk/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c:1452:5: warning: (near
initialization for 'once_regsizes.__reserved')



/Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c: At top level:
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/unwind-dw2-fde-darwin.c:279:1: warning:
no previous prototype for '_darwin10_Unwind_FindEnclosingFunction'


/Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/
-B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem
/Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include   
-g -O2 -m32 -O2  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../../.././gcc
-I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/.
-I/Users/jay/src/gcc-4.5.0/libgcc/../gcc
-I/Users/jay/src/gcc-4.5.0/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS
-Wno-missing-prototypes -Wno-type-limits -o fixunstfsi_s.o -MT fixunstfsi_s.o
-MD -MP -MF fixunstfsi_s.dep -DSHARED -fexceptions -c
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/fixunstfsi.c
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/fixunstfsi.c: In function
'__fixunstfsi':
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/fixunstfsi.c:42:3:
warning: left shift count >= width of type



/Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/
-B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem
/Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include   
-g -O2 -m32 -O2  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../../.././gcc
-I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/.
-I/Users/jay/src/gcc-4.5.0/libgcc/../gcc
-I/Users/jay/src/gcc-4.5.0/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS
-Wno-missing-prototypes -Wno-type-limits -o multf3_s.o -MT multf3_s.o -MD -MP
-MF multf3_s.dep -DSHARED -fexceptions -c
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c: In function
'__multf3':
/Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/soft-fp/multf3.c:38:1: warning:
'R_e' may be used uninitialized in this function



/Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/
-B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem
/Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include   
-g -O2 -O2  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I/Users/jay/src/gcc-4.5.0/libgcc -I/Users/jay/src/gcc-4.5.0/libgcc/.
-I/Users/jay/src/gcc-4.5.0/libgcc/../gcc
-I/Users/jay/src/gcc-4.5.0/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS -o
darwin-64_s.o -MT darwin-64_s.o -MD -MP -MF darwin-64_s.dep -DSHARED
-fexceptions -c /Users/jay/src/gcc-4.5.0/libgcc/../gcc/config/darwin-64.c
/Users/jay/obj/gcc/./gcc/xgcc -B/Users/jay/obj/gcc/./gcc/
-B/Users/jay/amd64-darwin/bin/ -B/Users/jay/amd64-darwin/lib/ -isystem
/Users/jay/amd64-darwin/include -isystem /Users/jay/amd64-darwin/sys-include   
-g -O2 -O2  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FL

[Bug libstdc++/44461] __cxa_end_cleanup ends up in wrong section i.e. not in .text

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


--- Comment #8 from paolo dot carlini at oracle dot com  2010-06-09 15:52 
---
In general, only if it's a regression. And nobody said that explicitly so far.
If you want to argue for having it anyway in 4_5-branch, please speak on the
mailing list and ask permission to the release managers.


-- 


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



[Bug libstdc++/44461] __cxa_end_cleanup ends up in wrong section i.e. not in .text

2010-06-09 Thread raj dot khem at gmail dot com


--- Comment #7 from raj dot khem at gmail dot com  2010-06-09 15:48 ---
thanks Paolo, we would need this patch on 4.5 branch as well.


-- 


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



[Bug libstdc++/44480] [C++0x] Linear performance of begin() in unordered associative containers

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


--- Comment #1 from paolo dot carlini at oracle dot com  2010-06-09 15:46 
---
I see. Looks like Matt essentially followed in the reference implementation the
legacy HP / SGI, linear, way of computing begin().  I'm asking his opinion on
this, whether we are also going to use caching or something else maybe...
Thanks.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-09 15:46:53
   date||


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



[Bug libstdc++/44461] __cxa_end_cleanup ends up in wrong section i.e. not in .text

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


--- Comment #6 from paolo dot carlini at oracle dot com  2010-06-09 15:36 
---
Fixed.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

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


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



[Bug libstdc++/44461] __cxa_end_cleanup ends up in wrong section i.e. not in .text

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


--- Comment #5 from paolo at gcc dot gnu dot org  2010-06-09 15:35 ---
Subject: Bug 44461

Author: paolo
Date: Wed Jun  9 15:34:45 2010
New Revision: 160488

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160488
Log:
2010-06-09  Khem Raj  

PR libstdc++/44461
* libsupc++/eh_arm.cc (__cxa_end_cleanup): Use .pushsection/.popsection
to emit inline assembly into .text section.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/libsupc++/eh_arm.cc


-- 


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



[Bug objc++/27249] FAIL: obj-c++.dg/encode-8.mm execution test

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


-- 

mrs at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|mikestump at comcast dot net|
   Target Milestone|--- |4.6.0


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



[Bug fortran/44465] [OOP] ICE with polymorphic object oriented example

2010-06-09 Thread ian at rhymneyconsulting dot co dot uk


--- Comment #6 from ian at rhymneyconsulting dot co dot uk  2010-06-09 
15:20 ---
Subject: RE:  [OOP] ICE with polymorphic object oriented example

Thanks very much for fixing it.

Cheers

Ian

> -Original Message-
> From: burnus at gcc dot gnu dot org [mailto:gcc-bugzi...@gcc.gnu.org]
> Sent: 09 June 2010 16:07
> To: i...@rhymneyconsulting.co.uk
> Subject: [Bug fortran/44465] [OOP] ICE with polymorphic object oriented
> example
> 
> 
> 
> --- Comment #5 from burnus at gcc dot gnu dot org  2010-06-09 15:07
> ---
> With the patch for PR 44211 (just committed to the 4.6 trunk), the
> program
> compiles and the output is:
> 
>   shape
>   In generic_shape_assign
>   x =   10
>   y =   20
>   circle
>   In generic_shape_assign
>   x =  100
>   y =  200
>   radius =  300
>   rectangle
>   In generic_shape_assign
>   x = 1000
>   y = 2000
>   width = 3000
>   height = 4000
> 
> Thanks again for the bug report!
> 
> 
> --
> 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44465
> 
> --- You are receiving this mail because: ---
> You are on the CC list for the bug, or are watching someone who is.
> You reported the bug, or are watching the reporter.


-- 


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



[Bug libstdc++/44413] inefficient code for std::string::compare on x86-64

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


--- Comment #8 from paolo dot carlini at oracle dot com  2010-06-09 15:13 
---
I gave this more thought, and to be honest, focusing on 64-bit targets - I
think that for 32-bit targets what we have is already good enough - I have no
idea how to substantively improve the code, given that the length of a string
is a 64-bit unsigned and the return type must be an int. Jon?


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||jwakely dot gcc at gmail dot
   ||com


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



[Bug c++/44366] [C++0x] g++ crashes when declaring a lambda expression using a typedef'd decltype.

2010-06-09 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2010-06-09 15:12 ---
Subject: Bug 44366

Author: jason
Date: Wed Jun  9 15:11:42 2010
New Revision: 160483

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160483
Log:
PR c++/44366
* g++.dg/cpp0x/decltype23.C: Move to...
* g++.dg/diagnostic/parm1.C: ...here, and remove decltype.

Added:
trunk/gcc/testsuite/g++.dg/diagnostic/
trunk/gcc/testsuite/g++.dg/diagnostic/parm1.C
  - copied, changed from r160478,
trunk/gcc/testsuite/g++.dg/cpp0x/decltype23.C
Removed:
trunk/gcc/testsuite/g++.dg/cpp0x/decltype23.C
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/44465] [OOP] ICE with polymorphic object oriented example

2010-06-09 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2010-06-09 15:07 ---
With the patch for PR 44211 (just committed to the 4.6 trunk), the program
compiles and the output is:

  shape
  In generic_shape_assign
  x =   10
  y =   20
  circle
  In generic_shape_assign
  x =  100
  y =  200
  radius =  300
  rectangle
  In generic_shape_assign
  x = 1000
  y = 2000
  width = 3000
  height = 4000

Thanks again for the bug report!


-- 


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



[Bug tree-optimization/44258] [4.5/4.6 Regression] possible SRA wrong-code generation.

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


--- Comment #11 from jamborm at gcc dot gnu dot org  2010-06-09 14:43 
---
OK, I have found the bug and I admit it is rather embarrassing.  I'll
submit a patch soon.


-- 

jamborm at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jamborm at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-05-30 17:04:29 |2010-06-09 14:43:08
   date||


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



[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2010-06-09 Thread dodji at redhat dot com


--- Comment #28 from dodji at gcc dot gnu dot org  2010-06-09 14:32 ---
Subject: Re:  __extension__ keyword doesn't suppress warning on LL or ULL
constants

"manu at gcc dot gnu dot org"  writes:

>> 
>> $ ./cc1 -quiet test.c
>> While expanding macro OPERATE at test.c:2:8
>> While expanding macro SHIFTL at test.c:5:14
>> While expanding macro MULT2 at test.c:8:3
>> test.c: In function 'g':
>> test.c:13:3: error: invalid operands to binary << (have 'double' and 'int')


> Also, what are the column numbers pointing to? They don't make sense
> to me.

About this line:
>> While expanding macro OPERATE at test.c:2:8

which is about:
#define OPERATE(OPRD1, OPRT, OPRD2) \
 OPRD1 OPRT OPRD2;

Column 8 is the starting column of the OPRT token.

About this line:
>> While expanding macro SHIFTL at test.c:5:14

which is about:
#define SHIFTL(A,B) \
  OPERATE (A,<<,B)

Column 14 is the starting column of the '<<' token.

About this line:
>> While expanding macro MULT2 at test.c:8:3

which is about:
#define MULT2(A) \
  SHIFTL (A,1)

Column 3 is the starting column of the 'SHIFT' token.

> In any case, this is a huge step forward! Thanks for working on this. It would
> be an important marketing point if you manage to complete it for GCC
> 4.6.

No problem ;) Not sure it'll get into 4.6, but I'll try.


-- 


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



Re: [Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2010-06-09 Thread Dodji Seketeli
"manu at gcc dot gnu dot org"  writes:

>> 
>> $ ./cc1 -quiet test.c
>> While expanding macro OPERATE at test.c:2:8
>> While expanding macro SHIFTL at test.c:5:14
>> While expanding macro MULT2 at test.c:8:3
>> test.c: In function 'g':
>> test.c:13:3: error: invalid operands to binary << (have 'double' and 'int')


> Also, what are the column numbers pointing to? They don't make sense
> to me.

About this line:
>> While expanding macro OPERATE at test.c:2:8

which is about:
#define OPERATE(OPRD1, OPRT, OPRD2) \
 OPRD1 OPRT OPRD2;

Column 8 is the starting column of the OPRT token.

About this line:
>> While expanding macro SHIFTL at test.c:5:14

which is about:
#define SHIFTL(A,B) \
  OPERATE (A,<<,B)

Column 14 is the starting column of the '<<' token.

About this line:
>> While expanding macro MULT2 at test.c:8:3

which is about:
#define MULT2(A) \
  SHIFTL (A,1)

Column 3 is the starting column of the 'SHIFT' token.

> In any case, this is a huge step forward! Thanks for working on this. It would
> be an important marketing point if you manage to complete it for GCC
> 4.6.

No problem ;) Not sure it'll get into 4.6, but I'll try.



[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2010-06-09 Thread dodji at redhat dot com


--- Comment #27 from dodji at gcc dot gnu dot org  2010-06-09 14:23 ---
Subject: Re:  __extension__ keyword doesn't suppress warning on LL or ULL
constants

"manu at gcc dot gnu dot org"  writes:

> I find this output a bit confusing. I find clang's output clearer
> http://clang.llvm.org/diagnostics.html.

I guess you are talking about the "automatic macro expansion" section of
that link?

>
> In fact, clang's output actually follows more closely what GCC already does
> with templates/inline functions.

Well, this is obviously a first step in that direction. I'd be more
interested in knowing what I can do at *this* step :-)

But yes, once I can bootstrap all the FEs with the macro location
tracking infrastructure in place with no regression, I guess I'll focus
more on the user visible output.


-- 


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



Re: [Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2010-06-09 Thread Dodji Seketeli
"manu at gcc dot gnu dot org"  writes:

> I find this output a bit confusing. I find clang's output clearer
> http://clang.llvm.org/diagnostics.html.

I guess you are talking about the "automatic macro expansion" section of
that link?

>
> In fact, clang's output actually follows more closely what GCC already does
> with templates/inline functions.

Well, this is obviously a first step in that direction. I'd be more
interested in knowing what I can do at *this* step :-)

But yes, once I can bootstrap all the FEs with the macro location
tracking infrastructure in place with no regression, I guess I'll focus
more on the user visible output.


[Bug bootstrap/44470] [4.6 Regression] Failed to bootstrap with - -with-arch=atom

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


--- Comment #8 from hjl dot tools at gmail dot com  2010-06-09 14:16 ---
Whatever we do, we need to preserve Atom add->lea optimization.


-- 


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



[Bug fortran/44211] [OOP] ICE with TBP of pointer component of derived type array

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


--- Comment #5 from janus at gcc dot gnu dot org  2010-06-09 14:16 ---
Fixed with r160478. Closing.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713

2010-06-09 Thread bergner at gcc dot gnu dot org


--- Comment #12 from bergner at gcc dot gnu dot org  2010-06-09 14:15 
---
Subject: Bug 44067

Author: bergner
Date: Wed Jun  9 14:15:11 2010
New Revision: 160479

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160479
Log:
Backport from mainline:

2010-06-09  Edmar Wienskoski  

PR target/44067
* config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
e500v2 target.

Modified:
branches/ibm/gcc-4_4-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_4-branch/gcc/config/rs6000/rs6000.md


-- 


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



[Bug fortran/44211] [OOP] ICE with TBP of pointer component of derived type array

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


--- Comment #4 from janus at gcc dot gnu dot org  2010-06-09 14:15 ---
Subject: Bug 44211

Author: janus
Date: Wed Jun  9 14:14:08 2010
New Revision: 160478

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160478
Log:
2010-06-09  Janus Weil  

PR fortran/44211
* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
Resolve references.


2010-06-09  Janus Weil  

PR fortran/44211
* gfortran.dg/typebound_call_14.f03: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/typebound_call_14.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug bootstrap/44470] [4.6 Regression] Failed to bootstrap with - -with-arch=atom

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


--- Comment #7 from hjl dot tools at gmail dot com  2010-06-09 14:13 ---
(In reply to comment #4)
> (In reply to comment #1)
> > It may be broken by revision 160394:
> > 
> > http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg00307.html
> 
> The add->lea transformation doesn't even trigger in this testcase... You still
> have normal add instruction with a flags clobber up to and including sched2
> pass.
> 
> Later, compilation breaks in machine reorg pass with:
> 
> Program received signal SIGSEGV, Segmentation fault.
> distance_non_agu_define (code=, insn=0x718c2750, 
> operands=0x1298aa0) at ../../gcc-svn/trunk/gcc/config/i386/i386.c:13826
> 13826 if (insn != BB_HEAD (bb))
> 
> (gdb) l
> 13821 basic_block bb = BLOCK_FOR_INSN (insn);
> 13822 int distance = 0;
> 13823 df_ref *def_rec;
> 13824 enum attr_type insn_type;
> 13825   
> 13826 if (insn != BB_HEAD (bb))
> 13827   {
> 13828 rtx prev = PREV_INSN (insn);
> 13829 while (prev && distance < LEA_SEARCH_THRESHOLD)
> 13830   {
> 
> It looks to me that bb is NULL, which isn't a good sign anyway.

ix86_lea_for_add_ok shouldn't be call during final scan when
we have already looked all add patterns and converted them
to lea if necessary.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|4.6.0   |---


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



[Bug target/44364] Wrong code with e500 double floating point

2010-06-09 Thread mark dot workman at acm dot org


--- Comment #43 from mark dot workman at acm dot org  2010-06-09 14:07 
---
(In reply to comment #39)
> Hi,  Kyle Moffett,
> in testall.c, r9 is used by a register variable, however, in E500ABI 
> guide,
> r9 should be used for parameter passing, this test case seems not reasonable.
> 
> Harry He

Please note that this testcase was removed by Kyle (see comment #12) and that
neither the original testcase (tc-lossings-float.c) nor the trimmed testcase
(tc-lossings-float-3.c) make such explicit use of particular registers.  Thus,
it does appear that it is the compiler that is making the register assignments
in question.

Cheers,
  Mark

> 


-- 

mark dot workman at acm dot org changed:

   What|Removed |Added

 CC||mark dot workman at acm dot
   ||org


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



[Bug libstdc++/44413] inefficient code for std::string::compare on x86-64

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


--- Comment #7 from paolo at gcc dot gnu dot org  2010-06-09 14:02 ---
Subject: Bug 44413

Author: paolo
Date: Wed Jun  9 14:02:03 2010
New Revision: 160476

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160476
Log:
2010-06-09  Paolo Carlini  

Revert:
2010-06-09  Paolo Carlini  

PR libstdc++/44413
* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
Simplify, just return -1, 0, 1.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/ext/vstring_util.h


-- 


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



[Bug rtl-optimization/44481] New: __builtin_parity() causes ICE in trunc_int_for_mode()

2010-06-09 Thread rainy6144 at gmail dot com
When compiling the following program with -O2, gcc gives an ICE "internal
compiler error: in trunc_int_for_mode, at explow.c:56".

Versions affected:
gcc (GCC) 4.4.3 20100127 (Red Hat 4.4.3-4)
gcc (GCC) 4.5.1 20100521 (prerelease)


static inline unsigned parity(unsigned x)
{
  return (unsigned) __builtin_parity(x);
}

unsigned f(unsigned rpoly)
{
  return parity(rpoly & 1) ^ parity(rpoly & 6);
}



-- 
   Summary: __builtin_parity() causes ICE in trunc_int_for_mode()
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rainy6144 at gmail dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug bootstrap/44469] [4.5/4.6 Regression] internal compiler error: in fixup_reorder_chain, at cfglayout.c:797

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


--- Comment #3 from jakub at gcc dot gnu dot org  2010-06-09 13:55 ---
There are more issues:
1) cleanup_barriers seems to do weird things with these empty bbs from
__builtin_unreachable (), I guess it shouldn't reorder anything if prev is a
LABEL_P
2) the reason why this compiles fine on x86_64 seems to be in different bb
reordering.  On arm the empty bb is reordered after the condjump, which means
its label is deleted by /* Remove code labels no longer used.  */ in
try_optimize_cfg and then the block is trivially empty.  On x86_64 we don't
ICE, but generate useless code:
movl(%rdi), %eax
testl   %eax, %eax
je  .L2
cmpl$1, %eax
jne .L3
movq%rdi, %rsi
.L2:
xorl%eax, %eax
cmpb$0, (%rsi)
sete%al
ret
.L3:
.cfi_endproc

I'd say we shouldn't try to delete just trivially_empty_bb_p's, but also ones
that before the bb note also have labels and after it nothing or only
DEBUG_INSNs, but we should delete only if we actually succeed adjusting the
jump insn at the end of the earlier block.


-- 


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



[Bug lto/44464] ICE during linux kernel whopr build

2010-06-09 Thread andi-gcc at firstfloor dot org


--- Comment #15 from andi-gcc at firstfloor dot org  2010-06-09 13:55 
---
Ok seems it does not do what I want:

   FIXME lto.  Currently the scheme is limited in that only the
   options saved on the first object file (f1.o) are read back during
   the link step.  This means that the options used to compile f1.o
   will be applied to ALL the object files in the final link step.
   More work needs to be done to implement a merging and validation
   mechanism, as this will not be enough for all cases.  */

Anyways OT for this bug, maybe needs a new one?


-- 


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



[Bug target/44364] Wrong code with e500 double floating point

2010-06-09 Thread gcc at breakpoint dot cc


--- Comment #42 from gcc at breakpoint dot cc  2010-06-09 13:52 ---
(In reply to comment #41)
> The ICE in #38 is due to a bug in caller-save.c

Thank you for the very quick fix.


-- 


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



[Bug rtl-optimization/44460] [4.6 Regression] r160380 breaks libjava bootstrap on *-apple-darwin*

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


--- Comment #6 from dominiq at lps dot ens dot fr  2010-06-09 13:50 ---
> The following http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00692.html
> It definitly avoids the ICE, but it would be nice to know if libstdc++
> testsuite passes.

It does fix the bootstrap failure. I am currently regtesting (at gfortran -m32)
and should have the results for libstdc++ in a couple of hours.


-- 


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



[Bug rtl-optimization/44460] [4.6 Regression] r160380 breaks libjava bootstrap on *-apple-darwin*

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


--- Comment #5 from hubicka at gcc dot gnu dot org  2010-06-09 13:43 ---
The following http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00692.html
It definitly avoids the ICE, but it would be nice to know if libstdc++
testsuite passes.

Honza


-- 


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



[Bug lto/44464] ICE during linux kernel whopr build

2010-06-09 Thread andi-gcc at firstfloor dot org


--- Comment #14 from andi-gcc at firstfloor dot org  2010-06-09 13:42 
---
I found this code in lto.c which seems to disagree:

/* Read the options saved from each file in the command line.  Called
   from lang_hooks.post_options which is called by process_options
   right before all the options are used to initialize the compiler.
   This assumes that decode_options has already run, so the
   num_in_fnames and in_fnames are properly set.

   Note that this assumes that all the files had been compiled with
   the same options, which is not a good assumption.  In general,
   options ought to be read from all the files in the set and merged.
   However, it is still unclear what the merge rules should be.  */

void
lto_read_all_file_options (void)

Still remains to be seen if it DTRT though (e.g. for -pg vs no -pg)


-- 


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



[Bug middle-end/44453] [4.6 Regression] Revision 160380 caused g++.dg/torture/pr32304.C

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


--- Comment #2 from hubicka at gcc dot gnu dot org  2010-06-09 13:39 ---
The following patch http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00692.html
should fix the problem.  


-- 


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



[Bug libstdc++/44480] New: Linear performance of begin() in unordered associative containers

2010-06-09 Thread joaquin at tid dot es
The current implementation of begin() for unordered associative containers is
linear (a search for the first non-empty bucket is executed each time begin()
is called), yet the C++0x drafts specifiy that this should be constant (23.3.1,
table 93). Boost.Unordered, for instance, caches the first non-empty bucket on
insertion/deletion to meet the O(1) begin() requirement.


-- 
   Summary: Linear performance of begin() in unordered associative
containers
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: joaquin at tid dot es


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



[Bug lto/44464] ICE during linux kernel whopr build

2010-06-09 Thread andi-gcc at firstfloor dot org


--- Comment #13 from andi-gcc at firstfloor dot org  2010-06-09 13:35 
---
What happens then when some files need different options that other files? 
This sounds more and more like a showstopper if you're right.
I was not prepared to redesign the Makefiles


-- 


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



[Bug target/44364] Wrong code with e500 double floating point

2010-06-09 Thread amodra at gmail dot com


--- Comment #41 from amodra at gmail dot com  2010-06-09 13:26 ---
Created an attachment (id=20877)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20877&action=view)
e500.h and caller-save.c patch

The ICE in #38 is due to a bug in caller-save.c


-- 


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



  1   2   >