[Bug fortran/47505] New: [OOP] Intrinsics which should operate on polymorphic objects (BT_CLASS)

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47505

   Summary: [OOP] Intrinsics which should operate on polymorphic
objects (BT_CLASS)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: ja...@gcc.gnu.org


Bob (Robert Corbett of Oracle) reports at
http://j3-fortran.org/pipermail/j3/2011-January/004136.html

that most compilers do not return a BT_CLASS when invoking one of the following
procedures; I have not checked - especially as polymorphic arrays are not yet
supported. But I wouldn't be surprised if gfortran had the same problems:

quote
The Fortran standard explicitly indicates that a few intrinsic
functions (EXTENDS_TYPE_OF, SAME_TYPE_AS, and STORAGE_SIZE)
accept polymorphic arguments.

The list of intrinsic procedures that satisfy these criteria are

  ALLOCATEDASSOCIATEDEXTENDS_TYPE_OF
  IMAGE_INDEX  IS_CONTIGUOUS LBOUND
  LCOBOUND MOVE_ALLOCPRESENT
  SAME_TYPE_AS SHAPE SIZE
  STORAGE_SIZE THIS_IMAGEUBOUND
  UCOBOUND
[...]
This side thinks the following additional functions should accept
polymorphic arguments

  CSHIFT   EOSHIFT   MERGE  PACK
  RESHAPE  SHAPE SIZE   SPREAD
  TRANSFER TRANSPOSE UNPACK
/quote

And in a follow up:

quote
None of the implementations I tried treats the results of these
intrinsic functions as polymorphic.  Some implementations gave no
diagnostic message for passing polymorphic acutal arguments to the
intrinsic functions, but none allowed the results to be used in
contexts that required polymorphism.  I admit I find that strange.
/quote


[Bug fortran/47506] New: [OOP][Fortran 90+] Assumed-size array checks (polymorphic and component)

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47506

   Summary: [OOP][Fortran 90+] Assumed-size array checks
(polymorphic and component)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: accepts-invalid, diagnostic
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


===
a) Fortran 90 and later:
===

Aleks noted at http://j3-fortran.org/pipermail/j3/2011-January/004154.html the
gfortran misses a diagnostic for the following program.

Ifort prints:
  The upper bound shall not be omitted in the last dimension of a reference
  to an assumed size array.   [X]
   call sub2(x%i)
-^

NAG has: Error: line 16: Invalid appearance of assumed-size array name X

Pathscale/open64 have:
  This whole array reference of an assumed-size array is not allowed.

program test
type :: t
   integer :: i
   real :: r
end type
type(t) :: x(10)
call sub1(x)
contains
subroutine sub1(x)
   type(t) :: x(*)
   call sub2(x%i)  ! WRONG: Should be, e.g., x(:10)%i
end subroutine
subroutine sub2(x)
   integer :: x(*)
end subroutine
end program

===
b) [OOP] Fortran 2003 and later
===

Bill noted at http://j3-fortran.org/pipermail/j3/2011-January/004148.html in
the same thread that the standard (nor gfortran) reject:

  assumed-size poly actual - non-poly dummy

although for most compilers (but IBM's?) it will not work. Sketched example:

subroutine before(w)
use typedef
! Interface for A here
type(T) :: w(*) ! no descriptor here - size not known
call A(w)
end

subroutine A (x)
use typedef ! types T and extensions defined in here
class(T) :: x(*)
...
call B(x)
...
end

subroutine B(y)
use typedef
type(T) :: y(*)


 * * *

Bob believes both are invalid - and covered by:

  An assumed-size array (5.3.6.5) is permitted to appear as a whole
  array in an executable construct or specification expression only
  as an actual argument in a procedure reference that does not
  require the shape.


[Bug fortran/47507] New: PURE functions with VALUE arguments invalidly rejectd

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47507

   Summary: PURE functions with VALUE arguments invalidly rejectd
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


The following is valid, but gfortran claims:

Error: Argument 'x' of pure function 'f' at (1) must be INTENT(IN)

C1276 The specification-part of a pure function subprogram shall specify that
   all its nonpointer dummy data objects have the INTENT (IN) or the
   VALUE attribute.  (F2008 quote)

pure function f(x)
  real, VALUE :: x
  real :: f
  f = sin(x)
end function f


[Bug fortran/43062] NAMELIST attribute conflicts with ALLOCATABLE attribute

2011-01-28 Thread zazzou at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43062

--- Comment #26 from Xavier zazzou at gmail dot com 2011-01-28 09:11:27 UTC 
---
Thanks for your work.

Question : I tried to build my own version, but i did not succeed.
 (1) gcc-4.5.2 : ok
 (2) gcc-4.5.2 + modified/added files from trunk (4.6) : compilation error on
file match.c
 (3) gcc-4.6 (from trunk) : some errors... (I don't remerber)

Is it normal that test (2) did not work ? 
Do i need to modify directly files related to this bug report ?


[Bug debug/47508] New: [4.6 Regression] -fcompare-debug failure with -ftracer for pr42918.c

2011-01-28 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47508

   Summary: [4.6 Regression] -fcompare-debug failure with -ftracer
for pr42918.c
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ram...@gcc.gnu.org
Target: arm-eabi


Since last night I'm seeing this failure with -ftracer and -fcompare-debug on
arm-eabi 

/arm/scratch/pdtltest/work/sandboxes/fsf/trunk/2011-01-26/build-a9softfpneon/gcc2/gcc/xgcc
-B/arm/scratch/pdtltest/work/sandboxes/fsf/trunk/2011-01-26/build-a9softfpneon/gcc2/gcc/
/arm/scratch/pdtltest/work/sandboxes/fsf/trunk/source/gcc-fsf/gcc/testsuite/gcc.dg/pr42918.c
-O2 -fcompare-debug -ftracer -DSTACK_SIZE=16384 -S -o pr42918.s (timeout = 800)
xgcc: error:
/arm/scratch/pdtltest/work/sandboxes/fsf/trunk/source/gcc-fsf/gcc/testsuite/gcc.dg/pr42918.c:
-fcompare-debug failure
compiler exited with status 1
output is:
xgcc: error:
/arm/scratch/pdtltest/work/sandboxes/fsf/trunk/source/gcc-fsf/gcc/testsuite/gcc.dg/pr42918.c:
-fcompare-debug failure

The difference in the .gkd files is : 
 - 5)   - 5)
(note# 0 0 (lab) NOTE_INSN_DELETED_LABEL 3) 
(code_label 1 0 0 1  [1 uses])(code_label 1 0
0 1  [1 uses])
(note# 0 0 [bb 4] NOTE_INSN_BASIC_BLOCK)(note# 0 0 [bb
4] NOTE_INSN_BASIC_BLOCK)
(insn# 0 0 (use (reg/i:SI 0 r0)) /arm/scratch/pdtltest/work/s   (insn# 0 0 (use
(reg/i:SI 0 r0)) /arm/scratch/pdtltest/work/s
 (nil))  (nil))
(note# 0 0 NOTE_INSN_EPILOGUE_BEG)  (note# 0 0
NOTE_INSN_EPILOGUE_BEG)
(jump_insn:TI# 0 0 (unspec_volatile [   (jump_insn:TI#
0 0 (unspec_volatile [
(return)   
(return)
] 1) /arm/scratch/pdtltest/work/sandboxes/fsf/trunk/s   ] 1)
/arm/scratch/pdtltest/work/sandboxes/fsf/trunk/s
 (nil))  (nil))
(barrier 0 0 0) (barrier 0 0 0)
(code_label 5 0 0 5  [2 uses])(code_label 5 0
0 5  [2 uses])
(note# 0 0 [bb 5] NOTE_INSN_BASIC_BLOCK)(note# 0 0 [bb
5] NOTE_INSN_BASIC_BLOCK)
   (note# 0 0
(lab) NOTE_INSN_DELETED_LABEL 3)


[Bug bootstrap/47147] gcc 4.6 fails to compile on NetBSD

2011-01-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47147

--- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org 2011-01-28 
09:29:54 UTC ---
patch posted for review:
http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00881.html


[Bug libstdc++/16896] Use of non-reserved names in stl_list.h

2011-01-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16896

Benjamin Kosnik bkoz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org

--- Comment #11 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-01-28 
09:36:15 UTC ---

FYI: this does fix it, and without symbol aliasing (so I guess it is supported
on more platforms.)

However, all these _List_node_base definitions are the same, the same, the
same.  

A cleaner fix is to move __List_node_base out of std:: and into std::__detail
to remove any lingering ADL issues, and to not include it in the inlined
namespace for debug/parallel/profile etc mode.

This had been hard to do in the past due to the complicated way the inlined
namespaces were constructed. However, I have to fix this anyway for 36104 and
so choose to clean this up as part of that.

best,
benjamin


[Bug libstdc++/16896] Use of non-reserved names in stl_list.h

2011-01-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16896

--- Comment #12 from Paolo Carlini paolo.carlini at oracle dot com 2011-01-28 
09:41:37 UTC ---
Ok, if you have to do something different for 36104, makes sense. Otherwise, if
you ask my opinion, being a temporary fix anyway, I would not be worried by
that bit of code duplication, given that it works everywhere and it's
straightforward.


[Bug rtl-optimization/47489] ICE in print_pattern, at sched-vis.c:602 (affecting mips, with slim RTL dumps)

2011-01-28 Thread abel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47489

Andrey Belevantsev abel at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.01.28 09:43:05
 CC||abel at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Andrey Belevantsev abel at gcc dot gnu.org 2011-01-28 
09:43:05 UTC ---
Confirmed.  This is because we deliberately abort on SEQUENCEs here since 2002
(rev. 54497) because of:

2002-06-05  David S. Miller  da...@redhat.com

Delete SEQUENCE rtl usage outside of reorg and ssa passes.

So either we reinstate the hunk deleted back there like with patch below, or we
document that slim dumps cannot be requested for machine reorg and later
passes.

diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c
index 25a0b60..331ccbf 100644
--- a/gcc/sched-vis.c
+++ b/gcc/sched-vis.c
@@ -599,8 +599,19 @@ print_pattern (char *buf, const_rtx x, int verbose)
   }
   break;
 case SEQUENCE:
-  /* Should never see SEQUENCE codes until after reorg.  */
-  gcc_unreachable ();
+  {
+   int i;
+
+   sprintf (t1, %%{);
+   for (i = 0; i  XVECLEN (x, 0); i++)
+ {
+   print_insn (t2, XVECEXP (x, 0, i), verbose);
+   sprintf (t3, %s%s;, t1, t2);
+   strcpy (t1, t3);
+ }
+   sprintf (buf, %s%%}, t1);
+  }
+  break;
 case ASM_INPUT:
   sprintf (buf, asm {%s}, XSTR (x, 0));
   break;


[Bug libstdc++/46914] std::atomicint*::exchange(...) doesn't store correct value.

2011-01-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46914

--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com 2011-01-28 
09:43:44 UTC ---
Ok, with --with-arch-32=i486 in the configure options and -m32 on the command
line the problem can be reproduced.

Frankly, I don't understand what is going on: in that case, by default,
everything should remain consistent and the _GLIBCXX_ATOMIC_BUILTINS_* used
when building atomic.cc should be still the correct ones for user code too (if
some different -march were used on the command line, then I could see possible
troubles, again, because the atomic headers don't use macros sensitive to the
actual command line options).


[Bug fortran/43062] NAMELIST attribute conflicts with ALLOCATABLE attribute

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43062

--- Comment #27 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
09:45:58 UTC ---
(In reply to comment #26)
 Question : I tried to build my own version, but i did not succeed.
  (1) gcc-4.5.2 : ok
  (2) gcc-4.5.2 + modified/added files from trunk (4.6) : compilation error on
 file match.c

 Is it normal that test (2) did not work ? 

Well, it is not surprising that just applying 4.6 patches do not work on 4.5.
After all, one year of development is a lot. During that year the following,
user-visible changes were done for Fortran:
  http://gcc.gnu.org/gcc-4.6/changes.html#fortran

Thus, the chance that a patch applies without any changes to an older version
is relatively low.


 Do i need to modify directly files related to this bug report ?

Well, if applying the patch does not work and if you want to use 4.5, you
seemingly have to. I assume that the changes to match.c are not difficult, but
I have not tried it - and I do not plan to do so.


  (3) gcc-4.6 (from trunk) : some errors... (I don't remerber)

Without error message, it is difficult to help (and this bug report is the
wrong forum*). However, you could also try to use the nightly builds, which are
available at http://gcc.gnu.org/wiki/GFortranBinaries

* Mailing list, cf. http://gcc.gnu.org/lists.html try gcc-help@ or fortran@ but
first glance at the instructions at http://gcc.gnu.org/install/


[Bug libstdc++/36104] [4.3/4.4/4.5/4.6 Regression] gnu-versioned-namespace is broken

2011-01-28 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36104

--- Comment #15 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-01-28 
09:51:23 UTC ---

Patches 1-3 restore gcc-4.2 behavior. Configure works, the library builds, most
all of the tests pass regression, etc.

Unfortunately, this is still annoyingly wrong on close inspection. Namespaces
nested within std containing definitions will be mis-versioned. Using
versioning + modes fails. 

The inline namespace code, which unfortunately includes most of the macros used
to define namespaces in every libstdc++ header, was done as part of the initial
work for this feature, nee namespace association. Then changes were made,
nesting was made de rigeur, and the original macros were pushed and squeezed
into submission. Yet more modes were added: parallel, profile. 

Yet another level of nesting was added for versioning, overloading the
namespace macros with another condition.

C++0x support starts to partition the std:: namespace into finer bits: chrono,
regex, etc. All of these nested namespaces + current macros are wrong.

Patch 4 fixes these issues, and provides a saner infrastructure for future
debug/profile/parallel work.


[Bug rtl-optimization/47454] registers are not allocated according to its preferred order

2011-01-28 Thread ibolton at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47454

Ian Bolton ibolton at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.01.28 09:57:13
 CC||ibolton at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Ian Bolton ibolton at gcc dot gnu.org 2011-01-28 09:57:13 
UTC ---
(In reply to comment #0)
 Created attachment 23115 [details]
 testcase
 
 Note that register r8 is used many times, but register r2 is never used. In
 thumb2 r8 is high register, its usage will cause 32bit instructions. If we
 replace r8 with r2, a lot of code size will be reduced in this case.
 
 In arm.h REG_ALLOC_ORDER is defined as
 3,  2,  1,  0, 12, 14,  4,  5, 6,  7,  8, 10,  9, 11, 13, 15 ...
 
 We can see that r2 should be used before r8, but the result is not.

I have thought about doing work in IRA to address this, so that we impose a
higher cost for the higher registers if we have not yet ventured into them.

In this particular case, the issue will be with IRA's calculated register
costs.  The REG_ALLOC_ORDER is only used when costs are equal, which is why the
allocated order is normally roughly inline with it.  R2 must be given a high
cost for some reason, which causes assign_hard_reg to prefer later registers
with lower costs.

The IRA dump will show you the costs.  If you attach it to this, we could
investigate further.


[Bug middle-end/44554] Stack space after sigsetjmp is reused

2011-01-28 Thread ibolton at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44554

Ian Bolton ibolton at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.01.28 10:03:46
 Ever Confirmed|0   |1

--- Comment #17 from Ian Bolton ibolton at gcc dot gnu.org 2011-01-28 
10:03:46 UTC ---
(In reply to comment #15)
 (In reply to comment #14)
  Created attachment 21901 [details]
  A patch that should fix it
  
  Please verify whether this fixes it.
 
 Hasn't it already been fixed in comment #11? My plan was to wait until release
 of gcc-4.4.5 and test then. Are additional changes required to fix this bug?

gcc 4.4.5 was released in October.  Please can you confirm if this is now
fixed.


[Bug bootstrap/47279] Bootstrap fails in stage1 with GCC 4.6

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47279

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
10:11:28 UTC ---
I am using the last 4.6 that built ok as host compiler, a snapshot from
6th december last year.  Binutils is the 2.11 release, but the build
also failed with the 2.10 release.

I configure with

 CFLAGS='-fmessage-length=0 -O2 -D_FORTIFY_SOURCE=2 -funwind-tables
-fasynchronous-unwind-tables -Wno-unused-but-set-variable -g -U_FORTIFY_SOURCE'
../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man
--libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java --enable-checking=yes
--with-gxx-include-dir=/usr/include/c++/4.6 --enable-ssp --disable-libssp
--disable-plugin --with-bugurl=http://bugs.opensuse.org/
'--with-pkgversion=SUSE Linux' --disable-libgcj --disable-libmudflap
--with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.6
--enable-linux-futex --without-system-libunwind --with-plugin-ld=/usr/bin/gold
--with-cpu=power4 --enable-secureplt --with-long-double-128
--build=powerpc64-suse-linux

and build with

make bootstrap-lean 'STAGE1_CFLAGS=-O -g' 'BOOT_CFLAGS=-fmessage-length=0 -O2
-D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables
-Wno-unused-but-set-variable -g -U_FORTIFY_SOURCE' -j6 -l12

I will try building the current snapshot with a 4.5 host compiler and see
if that allows using itself as host compiler again.

Unfortunately the builds are automated, so I do not have access to cse.o
at the moment (but I'll recreate the problem locally if it persists
with a current 4.6 host compiler)


[Bug c++/46317] Incorrect construction vtable on ARM in case of diamond shaped virtual inheritance

2011-01-28 Thread ibolton at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46317

Ian Bolton ibolton at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.01.28 10:19:03
 CC||ibolton at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #3 from Ian Bolton ibolton at gcc dot gnu.org 2011-01-28 10:19:03 
UTC ---
(In reply to comment #2)
 (In reply to comment #1)
  Does -fno-tree-sink fixes the issue?
 
 No it doesn't. The only flags that works are:
 -O0 or
 -fno-inline or
 -fno-unit-at-a-time or
 -fno-toplevel-reorder
 
 I can also make it work more or less by deactivating a certain number of
 optimisation flag, but the output code does not really work... (I have tried
 something like 58 different flags...)

Out of interest, did you try any newer releases of gcc?


[Bug libstdc++/46914] std::atomicint*::exchange(...) doesn't store correct value.

2011-01-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46914

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||bkoz at redhat dot com

--- Comment #12 from Paolo Carlini paolo.carlini at oracle dot com 2011-01-28 
10:22:27 UTC ---
I'm making some progress: using --with-arch-32=i586 is fine, and the reason is,
in that case the _GLIBCXX_ATOMIC_BUILTINS_* are *all* true (in the i486 case,
_GLIBCXX_ATOMIC_BUILTINS_8 is false). Now, the testcase only uses ints, but in
atomic_base.h we require either all true, or the special case of at least
_GLIBCXX_ATOMIC_BUILTINS_1 true, that is  _GLIBCXX_ATOMIC_PROPERTY == 1, or
none true, that is _GLIBCXX_ATOMIC_PROPERTY == 0.

Given that, I suppose, Ubuntu and Debian have been using -i486 only because of
the crazyness old GCCs defaulting to i386 and now everything is different
finally (essentially the current default is a bit more than pentium4), I don't
consider this issue particularly serious.

Still, it would be nice to understand why both _GLIBCXX_ATOMIC_PROPERTY == 1
(as this PR shows) and _GLIBCXX_ATOMIC_PROPERTY == 0 (as trying
--with-arch-32=i386 shows), both don't work. Maybe Benjamin has ideas...

Note: the command line per se doesn't seem to matter, is the way the *.so is
built that matters.


[Bug middle-end/44554] Stack space after sigsetjmp is reused

2011-01-28 Thread christian.eggers at kathrein dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44554

Christian Eggers christian.eggers at kathrein dot de changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED

--- Comment #18 from Christian Eggers christian.eggers at kathrein dot de 
2011-01-28 10:29:12 UTC ---
(In reply to comment #17)
 gcc 4.4.5 was released in October.  Please can you confirm if this is now
 fixed.

I think THIS bug is fixed in 4.4.5. Unfortunately I've still problems with
wrong computations as already mentioned in comment #8. But this would either be
related to PR40386 or it's another bug.


[Bug target/46762] gcc crosscompiled for arm optimises away volatile struct member access when -Os

2011-01-28 Thread ibolton at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46762

Ian Bolton ibolton at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ibolton at gcc dot gnu.org
  Known to work||4.5.3, 4.6.0
   Target Milestone|--- |4.5.3

--- Comment #1 from Ian Bolton ibolton at gcc dot gnu.org 2011-01-28 10:36:23 
UTC ---
I have not yet confirmed that this occurs in gcc 4.5.1 (as opposed to the
codesourcery release), but it is working correctly in gcc 4.5.3 (gcc 4.5
branch) and 4.6.0 (trunk).


[Bug bootstrap/47044] bootstrap comparison failure when -O2 defaults on -fgraphite-identity and --enable-build-with-cxx

2011-01-28 Thread fxcoudert at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47044

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 Target|x86_64-apple-darwin10   |
 Status|UNCONFIRMED |NEW
   Keywords||build
   Last reconfirmed||2011.01.28 10:36:30
 CC||fxcoudert at gcc dot
   ||gnu.org
   Host|x86_64-apple-darwin10   |
 Ever Confirmed|0   |1
  Build|x86_64-apple-darwin10   |


[Bug c/47509] New: avr-gcc error: could not split insn

2011-01-28 Thread jh.gcc-bugzilla at plonk dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47509

   Summary: avr-gcc error: could not split insn
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jh.gcc-bugzi...@plonk.de


(note: copied from See also https://bugzilla.redhat.com/show_bug.cgi?id=662054)


avr-gcc 4.5.1-2.fc14.1 stops with an error message:

avr-gcc -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-char-subscripts
-g -Os -std=gnu99 -fdata-sections -ffunction-sections -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -mcall-prologues -fshort-enums
-fno-strict-aliasing -Iprotocols/usb/usbdrv -Iprotocols/usb -DAVR_BUILD
-DF_CPU=2000UL -mmcu=atmega644 -I.  -c -o protocols/uip/uip.o
protocols/uip/uip.c
protocols/uip/uip.c: In function 'uip_udp_new':
protocols/uip/uip.c:570:1: error: could not split insn
(insn 106 105 107 protocols/uip/uip.c:554 (parallel [
(set (reg:HI 24 r24 [106])
(rotate:HI (reg:HI 24 r24 [orig:105 lastport ] [105])
(const_int 8 [0x8])))
(clobber (mem/c:QI (plus:HI (reg/f:HI 28 r28)
(const_int 1 [0x1])) [0 %sfp+1 S1 A8]))
]) 64 {*rotbhi} (expr_list:REG_EQUIV (mem/s/j:HI (plus:HI (reg/f:HI 26
r26 [103])
(const_int 4 [0x4])) [0 uip_udp_conns[D.4587_20].lport+0 S2
A8])
(nil)))
protocols/uip/uip.c:570:1: internal compiler error: in final_scan_insn, at
final.c:2650
Please submit a full bug report,
with preprocessed source if appropriate.
See https://bugzilla.redhat.com/ for instructions.
make: *** [protocols/uip/uip.o] Error 1


It compiles fine with 4.4.2-1.fc13 and also 4.3.3-3.fc11.


Version-Release number of selected component (if applicable):

avr-libc-1.7.0-1.fc14.noarch
avr-gcc-4.5.1-2.fc14.1.x86_64


Steps to Reproduce:
1. git clone git://github.com/ethersex/ethersex.git

2. cd ethersex/

3. make menuconfig
- Make sure that UDP support is activated in Network, then select Exit and
save the config

4. make


[Bug debug/47508] [4.6 Regression] -fcompare-debug failure with -ftracer for pr42918.c

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47508

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug tree-optimization/45122] [4.6 Regression] -funsafe-loop-optimizations causes FAIL: gcc.c-torture/execute/pr27285.c execution

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45122

--- Comment #12 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
10:57:31 UTC ---
(In reply to comment #11)
 Richi, which one is “second”?  The second I posted, or the second in the 
 active
 attachment list?  (the third posted superseded the first, becoming second in
 the list)

The patch attached to comment #8, disabling the optimization for loops
with more than one exit.


[Bug debug/47498] [4.6 Regression] -fcompare-debug failure with -fsched2-use-superblocks

2011-01-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47498

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-01-28 
10:58:03 UTC ---
Indeed, sched2 here moves over the NOTE_INSN_FUNCTION_BEG before all real insns
with -g, but keeps it where it was (and should be) with -g0.


[Bug c++/47504] some constexpr calculations erroneously overflow when using negative numbers

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47504

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.01.28 10:59:58
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
10:59:58 UTC ---
Confirmed (with -fsigned-char, -funsigned-char works ok).


[Bug rtl-optimization/47477] [4.6 regression] Sub-optimal mov at end of method

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47477

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
11:04:19 UTC ---
(In reply to comment #4)
 Alternatively, this narrowing of  word mode operations could as well be done
 during tree optimizations.  I think the FE is the only place which performs
 them,
 as can be seen if you modify your testcase to do:
 void *
 add (void *a, void *b)
 {
   return (void *)(__INTPTR_TYPE__) ((long long)(__INTPTR_TYPE__) a + ((long
 long)(__INTPTR_TYPE__) b  ~1L));
 }
 instead of
 void *
 add (void *a, void *b)
 {
   long long tmp = (long long)(__INTPTR_TYPE__) a + ((long
 long)(__INTPTR_TYPE__) b  ~1L);
   return (void *)(__INTPTR_TYPE__) tmp;
 }
 
 But unfortunately we have nothing which performs this later on (gimple-fold?).

As it needs to combine several statements tree forwprop is our current
place to deal with this (as our tree combiner).  Similar to the
new associate_plusminus code we should have combiners (not re-using fold)
to combine conversions.


[Bug debug/47510] New: DW_TAG_typedef can have children when designating a naming typedef

2011-01-28 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510

   Summary: DW_TAG_typedef can have children when designating a
naming typedef
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: do...@gcc.gnu.org
ReportedBy: do...@gcc.gnu.org


Consider this test case:

class C {
public:
  C() {}
  ~C() {}
};
typedef struct {
  C m;
} t;
typedef t s;
s v;

The DW_TAG_typedef DIE describing the typedef t has children DIEs. The
children DIEs are actually the DIEs representing the members of the
anonymous structure named by T.

What is happening is, since gen_typedef_die equates the anonymous
struct named by the typedef t with the DIE of the naming typedef,
get_context_die called with the type tree of the anonymous typedef
yields the DIE of the typedef.


[Bug middle-end/47496] HAS_DECL_ASSEMBLER_NAME_P and DECL_ASSEMBLER_NAME has some incosistency

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47496

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
11:12:52 UTC ---
You should use

if (HAS_DECL_ASSEMBLER_NAME_P (expr)
 DECL_ASSEMBLER_NAME_SET_P (expr))
  DECL_ASSEMBLER_NAME (expr);

calling decl_assembler_name on random things is not what you should do.


[Bug debug/47510] DW_TAG_typedef can have children when designating a naming typedef

2011-01-28 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510

--- Comment #1 from Dodji Seketeli dodji at gcc dot gnu.org 2011-01-28 
11:13:51 UTC ---
Created attachment 23149
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23149
Candidate patch

I am bootstrapping this patch at the moment.


[Bug fortran/47505] [OOP] Intrinsics which should operate on polymorphic objects (BT_CLASS)

2011-01-28 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47505

--- Comment #1 from janus at gcc dot gnu.org 2011-01-28 11:20:04 UTC ---
I think the following ones should work fine (re-check?):

 * ALLOCATED
 * ASSOCIATED
 * EXTENDS_TYPE_OF
 * SAME_TYPE_AS
 * STORAGE_SIZE

The array (+coarray?) intrinsics we can probably ignore for now, since we don't
have polymorphic array support at this point.

A few ones that are left to check might be:

 * MOVE_ALLOC
 * PRESENT
 * MERGE
 * ...?


[Bug middle-end/44554] Stack space after sigsetjmp is reused

2011-01-28 Thread ibolton at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44554

--- Comment #19 from Ian Bolton ibolton at gcc dot gnu.org 2011-01-28 
11:30:50 UTC ---
(In reply to comment #18)
 (In reply to comment #17)
  gcc 4.4.5 was released in October.  Please can you confirm if this is now
  fixed.
 
 I think THIS bug is fixed in 4.4.5. Unfortunately I've still problems with
 wrong computations as already mentioned in comment #8. But this would either 
 be
 related to PR40386 or it's another bug.

I think it's best to raise a new bug, and CC Vladimir Makarov and Jeff Law.  It
will help to hear about the specific issues you are still seeing within that
bug report.


[Bug lto/47497] [4.6 Regression] SPEC CPU 2006 failed to link with LTO

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47497

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
11:42:11 UTC ---
Please specify the linker you are using and compile-flags you are using to
build SPEC - you should know the information you gave is not enough to
reproduce the problem.


[Bug rtl-optimization/44174] [4.4/4.5 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2011-01-28 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Target|i686-linux  |i686-linux,
   ||i386-pc-solaris2.1[01]
 CC||ro at gcc dot gnu.org
  Known to fail||4.6.0

--- Comment #5 from Rainer Orth ro at gcc dot gnu.org 2011-01-28 11:59:27 UTC 
---
Between 20110121 and 20110127, the new gcc.target/i386/asm-6.c test started
failing again on mainline (i386-pc-solaris2.1[01], 32-bit only):

FAIL: gcc.target/i386/asm-6.c (test for excess errors)
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/i386/asm-6.c:14:3: error:
can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/i386/asm-6.c:14:3: error:
'asm' operand has impossible constraints


[Bug c++/47511] New: [C++0x] ICE: unexpected ast of kind template_decl in potential_constant_expression_1, at cp/semantics.c:7711

2011-01-28 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47511

   Summary: [C++0x] ICE: unexpected ast of kind template_decl in
potential_constant_expression_1, at
cp/semantics.c:7711
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: marc.gli...@normalesup.org


namespace N {
template typename T bool g( T ) {
return true;
}
struct A { };
}
template class T void f(const T) {
N::A x;
g(x) ;
}

$ c++ -std=gnu++0x -c a.cc
a.cc: In function 'void f(const T)':
a.cc:9:7: sorry, unimplemented: unexpected ast of kind template_decl
a.cc:9:7: internal compiler error: in potential_constant_expression_1, at
cp/semantics.c:7711


[Bug lto/47497] [4.6 Regression] SPEC CPU 2006 failed to link with LTO

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47497

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
12:01:13 UTC ---
Works for me with -O3 -ffast-math -funroll-loops and

 rpm -q binutils
binutils-2.20.0-0.7.9

using gold as plugin-ld.


[Bug other/47512] New: ICE in queue_insn, at haifa-sched.c:1322

2011-01-28 Thread J.J.vanderHeijden at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47512

   Summary: ICE in queue_insn, at haifa-sched.c:1322
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: j.j.vanderheij...@gmail.com


worked: r169259
failed: r169260

Failed to bootstrap with an ICE while compiling natString.cc (libjava):

janjaap@speedo:/xvm0/build/gcc/gcc-trunk/obj-irix6.5-no-lto/mips-sgi-irix6.5/64/libjava$
/build65/gcc/gcc-trunk/obj-irix6.5-no-lto/./gcc/xgcc -shared-libgcc
-B/build65/gcc/gcc-
trunk/obj-irix6.5-no-lto/./gcc -nostdinc++
-L/build65/gcc/gcc-trunk/obj-irix6.5-no-lto/mips-sgi-irix6.5/64/libstdc++-v3/src
-L/build65/gcc/gcc-trunk/obj-irix6.5-no-lto/mips-sgi
-irix6.5/64/libstdc++-v3/src/.libs -B/usr/local/gnu/mips-sgi-irix6.5/bin/
-B/usr/local/gnu/mips-sgi-irix6.5/lib/ -isystem
/usr/local/gnu/mips-sgi-irix6.5/include -isystem /usr/
local/gnu/mips-sgi-irix6.5/sys-include -mabi=64 -DHAVE_CONFIG_H -I.
-I/build65/gcc/gcc-trunk/src/libjava -I./include -I./gcj
-I/build65/gcc/gcc-trunk/src/libjava -Iinclude -I/b
uild65/gcc/gcc-trunk/src/libjava/include
-I/build65/gcc/gcc-trunk/src/libjava/classpath/include -Iclasspath/include
-I/build65/gcc/gcc-trunk/src/libjava/classpath/native/fdlibm
 -I/build65/gcc/gcc-trunk/src/libjava/../boehm-gc/include -I../boehm-gc/include
-I/build65/gcc/gcc-trunk/src/libjava/libltdl
-I/build65/gcc/gcc-trunk/src/libjava/libltdl -I/bui
ld65/gcc/gcc-trunk/src/libjava/.././libjava/../gcc
-I/build65/gcc/gcc-trunk/src/libjava/../zlib
-I/build65/gcc/gcc-trunk/src/libjava/../libffi/include -I../libffi/include
-fno-
rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum
-D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\/usr/local/gnu\
-DTOOLEXECLIBDIR=\/usr/local/g
nu/lib/../lib64\ -DJAVA_HOME=\/usr/local/gnu\
-DBOOT_CLASS_PATH=\/usr/local/gnu/share/java/libgcj-4.6.0.jar\
-DJAVA_EXT_DIRS=\/usr/local/gnu/share/java/ext\ -DGCJ_ENDORS
ED_DIRS=\/usr/local/gnu/share/java/gcj-endorsed\
-DGCJ_VERSIONED_LIBDIR=\/usr/local/gnu/lib/../lib64/gcj-4.6.0-12\
-DPATH_SEPARATOR=\:\ -DECJ_JAR_FILE=\\ -DLIBGCJ_DEFAU
LT_DATABASE=\/usr/local/gnu/lib/../lib64/gcj-4.6.0-12/classmap.db\
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\gcj-4.6.0-12/classmap.db\ -g -O2
-mabi=64 -MT java/lang/natString.lo
 -MD -MP -MF java/lang/.deps/natString.Tpo -c
/build65/gcc/gcc-trunk/src/libjava/java/lang/natString.cc  -DPIC -o
java/lang/.libs/natString.o -save-temps
/build65/gcc/gcc-trunk/src/libjava/java/lang/natString.cc: In member function
'jint java::lang::String::indexOf(jstring, jint)':
/build65/gcc/gcc-trunk/src/libjava/java/lang/natString.cc:832:1: internal
compiler error: in queue_insn, at haifa-sched.c:1322
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Platform: mips-sgi-irix6.5
Build host: IRIX64 speedo 6.5 07202013 IP35
Operating system: IRIX 6.5 6.5.30f

Configured with: /build65/gcc/gcc-trunk/src/configure -v --disable-werror
--disable-lto --enable-languages=c,ada,c++,fortran,java,objc,obj-c++
--prefix=/usr/local/gnu --enable-shared --enable-threads=posix --enable-libgcj
--enable-java-awt=xlib --disable-nls --with-gnu-as
--with-as=/usr/local/gnu/mips-sgi-irix6.5/bin/as --without-gnu-ld
--with-ld=/usr/bin/ld --with-arch-32=mips3 --with-tune-32=mips4
--with-arch-64=mips3 --with-tune-64=mips4
--with-mpfr-include=/usr/local/gnu/include --with-mpfr-lib=/usr/local/gnu/lib32
--enable-checking=release

Using: GNU assembler (GNU Binutils) 2.21
Using: native linker Version 7.44.


[Bug rtl-optimization/44174] [4.4/4.5 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2011-01-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-01-28 
12:36:54 UTC ---
 Between 20110121 and 20110127, the new gcc.target/i386/asm-6.c test started
 failing again on mainline (i386-pc-solaris2.1[01], 32-bit only):

It probably never passed on Solaris.


[Bug other/47512] ICE in queue_insn, at haifa-sched.c:1322

2011-01-28 Thread J.J.vanderHeijden at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47512

--- Comment #1 from Jan-Jaap van der Heijden J.J.vanderHeijden at gmail dot 
com 2011-01-28 12:37:38 UTC ---
Created attachment 23150
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23150
natString.ii


[Bug other/47512] ICE in queue_insn, at haifa-sched.c:1322

2011-01-28 Thread J.J.vanderHeijden at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47512

--- Comment #2 from Jan-Jaap van der Heijden J.J.vanderHeijden at gmail dot 
com 2011-01-28 12:38:13 UTC ---
Created attachment 23151
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23151
natString.s


[Bug rtl-optimization/44174] [4.4/4.5 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2011-01-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-01-28 12:40:52 UTC ---
 --- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-01-28 
 12:36:54 UTC ---
 Between 20110121 and 20110127, the new gcc.target/i386/asm-6.c test started
 failing again on mainline (i386-pc-solaris2.1[01], 32-bit only):

 It probably never passed on Solaris.

You're right: I somehow misread the PR and though the test had already
been introduced in november last year.

Rainer


[Bug c/47400] Several UCN tests FAIL on Tru64 UNIX V5.1B and IRIX 6.5

2011-01-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47400

--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-01-26 15:33:03 UTC ---
From my reading of libiconv 1.13.1 libcharset/tools/{irix-6.5,
osf1-5.1}, it seems that there isn't any such locale.  If this cannot be
helped, it seems that we should have some

dg-require-effective-target ascii-locale

(suggestions for a better name welcome) to disable the affected tests on
platforms like this.

Rainer

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-01-28 12:44:14 UTC ---
Rainer Orth r...@cebitec.uni-bielefeld.de writes:

 From my reading of libiconv 1.13.1 libcharset/tools/{irix-6.5,
 osf1-5.1}, it seems that there isn't any such locale.  If this cannot be
 helped, it seems that we should have some

   dg-require-effective-target ascii-locale

 (suggestions for a better name welcome) to disable the affected tests on
 platforms like this.

Joseph, did you see that comment?  The mail may not have gone out during
the Bugzilla/Perl snafu on gcc.gnu.org.

Anyway, on second thought this is a host, not a target issue, so this
should be something like dg-require-ascii-locale instead.

Rainer


[Bug c++/47513] New: [C++0x] [SFINAE] compiler rejects valid code

2011-01-28 Thread s.gesemann at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47513

   Summary: [C++0x] [SFINAE] compiler rejects valid code
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: s.gesem...@gmail.com


I believe the following code should compile using the option -std=c++0x:

   struct use_copy_ctor {};
   struct prefer_clone_func : use_copy_ctor {};

   templateclass T
   auto clone(T const* ptr, prefer_clone_func)
   - decltype(ptr-clone())
   { return ptr-clone(); }

   templateclass T
   auto clone(T const* ptr, use_copy_ctor)
   - decltype(new T(*ptr))
   { return new T(*ptr); }

   struct abc {
 virtual ~abc() {}
 virtual abc* clone() const =0;
   };

   struct derived : abc
   {
 derived* clone() const { return new derived(*this); }
   };

   int main()
   {
 derived d;
 abc* p = d;
 abc* q = clone(p,prefer_clone_func());
 delete q;
   }

As far as I can tell SFINAE applies during template argument deduction where
abc is substituted for T in decltype(new T(*ptr)). GCC complains about abc
being abstract -- which it is, of course -- but it should instead simply ignore
the second function template.

Related note: Assuming std::is_constructible is implemented in terms of
decltype, this would explain why std::is_constructible doesn't work either on
abstract class types.


[Bug rtl-optimization/44174] [4.4/4.5/4.6 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2011-01-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.4/4.5 Regression] can't  |[4.4/4.5/4.6 Regression]
   |find a register in class|can't find a register in
   |'CLOBBERED_REGS' while  |class 'CLOBBERED_REGS'
   |reloading 'asm' |while reloading 'asm'

--- Comment #8 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-01-28 
12:45:43 UTC ---
 You're right: I somehow misread the PR and though the test had already
 been introduced in november last year.

It did pass with GCC 4.3 on Solaris too so this is a regression.  Can you XFAIL
it on Solaris for the time being?


[Bug bootstrap/47279] Bootstrap fails in stage1 with GCC 4.6

2011-01-28 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47279

--- Comment #5 from Peter Bergner bergner at gcc dot gnu.org 2011-01-28 
12:48:34 UTC ---
I assume the binutils 2.11 and 2.10 versions are typos and you meant 2.21 and
2.20?  I'll fire off a build using your configure options and report back.


[Bug libfortran/47514] New: Source file over a certain size compiles but will not run

2011-01-28 Thread brendanarnold at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47514

   Summary: Source file over a certain size compiles but will not
run
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: brendanarn...@gmail.com


Created attachment 23152
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23152
Source files mentioned in the report

It seems there is a limit between 200kB and 500kB ish or perhaps the number of
labels for FORMAT statements that causes source file 'a.f' to run fine but
source file 'b.f' to crash. Note that both compile with no warnings/errors with
'-Wall' enabled. Performed on Windows, gfortran 4.4.1.

For comparison, both compile and run fine on Intel Linux using ifort 9.1


[Bug rtl-optimization/44174] [4.4/4.5/4.6 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2011-01-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

--- Comment #9 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-01-28 13:04:36 UTC ---
 --- Comment #8 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-01-28 
 12:45:43 UTC ---
 You're right: I somehow misread the PR and though the test had already
 been introduced in november last year.

 It did pass with GCC 4.3 on Solaris too so this is a regression.  Can you 
 XFAIL
 it on Solaris for the time being?

Sure.  The following patch does this:

2011-01-28  Rainer Orth  r...@cebitec.uni-bielefeld.de

* gcc.target/i386/asm-6.c: XFAIL on i?86-pc-solaris2.1[0-9]  ilp32.

diff -r a1670fd752ff gcc/testsuite/gcc.target/i386/asm-6.c
--- a/gcc/testsuite/gcc.target/i386/asm-6.cThu Jan 27 20:26:26 2011 +0100
+++ b/gcc/testsuite/gcc.target/i386/asm-6.cFri Jan 28 14:03:13 2011 +0100
@@ -3,6 +3,7 @@

 /* { dg-do compile } */
 /* { dg-options -O2 -fpic { target fpic } } */
+/* { dg-xfail-if  { i?86-pc-solaris2.1[0-9]  ilp32 } } */

 int f0 (int, int, int, int, int);
 int f1 (void);

Ok for mainline (I'll post to gcc-patches anyway)?

Rainer


[Bug libfortran/47514] Source file over a certain size compiles but will not run

2011-01-28 Thread Joost.VandeVondele at pci dot uzh.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47514

--- Comment #1 from Joost VandeVondele Joost.VandeVondele at pci dot uzh.ch 
2011-01-28 13:33:41 UTC ---
could be windows specific, since both testcases run fine here
(x86_64-unknown-linux-gnu), with 4.3, 4.5 and 4.6


[Bug libfortran/47514] Source file over a certain size compiles but will not run

2011-01-28 Thread brendanarnold at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47514

Brendan brendanarnold at gmail dot com changed:

   What|Removed |Added

   Host||Windows XP - SP3 - Intel -
   ||MinGW
Version|4.4.1   |4.4.0

--- Comment #2 from Brendan brendanarnold at gmail dot com 2011-01-28 
13:40:06 UTC ---
Here are some more details - note: I made a mistake with the version number is
4.4.0 not 4.4.1

C:\Documents and Settings\ba1224\Desktop\New Folder gfortran -v
Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.4.0/configure
--enable-languages=c,ada,c++,fortran,java,objc,obj-c++
--disable-sjlj-exceptions --enable-shared --enable-libgcj --enable-libgomp
--with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug
--enable-version-specific-runtime-libs --prefix=/mingw
--with-gmp=/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
Thread model: win32
gcc version 4.4.0 (GCC)


[Bug lto/47497] [4.6 Regression] SPEC CPU 2006 failed to link with LTO

2011-01-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47497

--- Comment #5 from H.J. Lu hjl.tools at gmail dot com 2011-01-28 13:46:06 
UTC ---
(In reply to comment #3)
 Please specify the linker you are using and compile-flags you are using to
 build SPEC - you should know the information you gave is not enough to
 reproduce the problem.

I used

-DSPEC_CPU -DNDEBUG   -O2 -ffast-math -fwhole-program -flto=jobserver
-fuse-linker-plugin   -DSPEC_CPU_LP64  -fno-strict-aliasing

I got the same error with gold 1.11 from CVS:

# /export/regression/rrs/169284/usr/bin/g++ -B./ -O2 -ffast-math
-fwhole-program -flto=jobserver -fuse-linker-plugin  -DSPEC_CPU_LP64   
changesoplex.o didxset.o dsvector.o dvector.o enter.o example.o factor.o
forest.o idxset.o leave.o lpcolset.o lprow.o lprowset.o message.o mpsinput.o
nameset.o slufactor.o solve.o soplex.o spxaggregatesm.o spxbasis.o spxbounds.o
spxchangebasis.o spxdefaultpr.o spxdefaultrt.o spxdefines.o spxdesc.o
spxdevexpr.o spxequilisc.o spxfastrt.o spxgeneralsm.o spxharrisrt.o
spxhybridpr.o spxid.o spxio.o spxlp.o spxlpfread.o spxmpsread.o spxmpswrite.o
spxparmultpr.o spxquality.o spxredundantsm.o spxrem1sm.o spxscaler.o spxshift.o
spxsolve.o spxsolver.o spxstarter.o spxsteeppr.o spxsumst.o spxvecs.o
spxvectorst.o spxweightpr.o spxweightst.o ssvector.o svector.o svset.o timer.o
unitvector.o update.o updatevector.o vector.o vsolve.o -o
soplex
/usr/local/bin/ld: /tmp/ccZ4RILg.ltrans8.ltrans.o: in function non-virtual
thunk to
soplex::SoPlex::~SoPlex():ccZ4RILg.ltrans8.o(.text._ZN6soplex6SoPlexD1Ev+0x8):
error: undefined reference to '.LTHUNK0.11251'
collect2: ld returned 1 exit status

GCC is configured to use ppl-0.11 and cloog-0.16.1 with

 --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld --enable-shared
--enable-threads=posix --enable-haifa --enable-checking
--enable-languages=c,c++,fortran --enable-cloog-backend=isl
--with-ppl-include=/opt/gnu/include --with-ppl-lib=/opt/gnu/lib64
--with-cloog-include=/opt/gnu/include --with-cloog-lib=/opt/gnu/lib64


[Bug go/47515] New: Issues porting libgo to IRIX 6.5

2011-01-28 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47515

   Summary: Issues porting libgo to IRIX 6.5
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: go
AssignedTo: i...@airs.com
ReportedBy: r...@gcc.gnu.org
  Host: mips-sgi-irix6.5
Target: mips-sgi-irix6.5
 Build: mips-sgi-irix6.5


I just started a quick attempt porting libgo to IRIX 6.5.  Here are the issues
I've found so far:

* runtime/mem.c fails to compile:

/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c: In function 'runtime_SysAlloc':
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c:12:59: error: 'MAP_ANON'
undeclared (first use in this function)
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c:12:59: note: each undeclared
identifier is reported only once for each function it appears in
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c: In function
'runtime_SysMemInit':
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c:49:47: error: 'MAP_ANON'
undeclared (first use in this function)
make[4]: *** [mem.lo] Error 1

  One could mmap /dev/zero instead, cf. gcc/acinclude.m4, gcc/ggc-{page,
zone}.c

* Of course, support for IRIX needs to be added to configure.ac and
Makefile.am.

* Several new OS-dependent files will be needed.

* Building libgo still depends on a linker supporting --whole-archive, but SGI
  ld doesn't and GNU ld doesn't work due to PR target/43533.

* The dependency on objcopy needs at least to be documented in install.texi,
but
  even better avoided.

* CC_FOR_BUILD, CFLAGS_FOR_BUILD are only passed in from toplevel, but if
  one runs make in target/libgo, it fails in strange ways.

* I get several warnings from go1:

go1: warning: visibility attribute not supported in this configuration; ignored
[-Wattributes]

  It would be good to only use protected visibility if the target supports
that.

Given the --whole-archive issue, I'll stop working on this for now, but could
probably deal with the rest if this is sorted out.


[Bug fortran/45170] [F2003] allocatable character lengths

2011-01-28 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45170

--- Comment #8 from Paul Thomas pault at gcc dot gnu.org 2011-01-28 13:53:25 
UTC ---
Author: pault
Date: Fri Jan 28 13:53:19 2011
New Revision: 169356

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=169356
Log:
2011-01-28  Paul Thomas  pa...@gcc.gnu.org
Tobias Burnus  bur...@gcc.gnu.org

PR fortran/45170
PR fortran/35810
PR fortran/47350
* interface.c (compare_actual_formal): An allocatable or pointer
deferred length actual is only allowed if the formal argument
is also deferred length. Clean up whitespace.
* trans-expr.c (gfc_conv_procedure_call): Pass string length for
deferred character length formal arguments by reference. Do the
same for function results.
(gfc_trans_pointer_assignment): Do not do runtime check of lhs
and rhs character lengths, if deferred length lhs.  In this case
set the lhs character length to that of the rhs.
(gfc_conv_string_parameter): Remove assert that string length is
an integer type.
(is_scalar_reallocatable_lhs): New function.
(alloc_scalar_allocatable_for_assignment): New function.
(gfc_trans_assignment_1): Call above new function. If the rhs is
a deferred character length itself, makes ure that the function
is called before reallocation, so that the length is available.
(gfc_trans_asssignment): Remove error about assignment to
deferred length character variables.
* gfortran.texi : Update entry about (re)allocation on
assignment.
* trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
length character variables.
* module.c (mio_typespec): Transfer deferred characteristic.
* trans-types.c (gfc_get_function_type): New code to generate
hidden typelist, so that those character lengths that are
passed by reference get the right type.
* resolve.c (resolve_contained_fntype): Supress error for
deferred character length functions.
(resolve_function, resolve_fl_procedure) The same.
(check_symbols): Remove the error that support for
entity with deferred type parameter is not yet implemented.
(resolve_fl_derived): The same.
match.c (alloc_opt_list): Allow MOLD for deferred length object.
* trans-decl.c (gfc_get_symbol_decl): For deferred character
length dummies, generate a local variable for string length.
(create_function_arglist): Hidden length can be a pointer.
(gfc_trans_deferred_vars): For deferred character length
results and dummies, assign the string length to the local
variable from the hidden argument on entry and the other way
round on exit, as appropriate.

2011-01-28  Paul Thomas  pa...@gcc.gnu.org
Tobias Burnus  bur...@gcc.gnu.org

PR fortran/45170
PR fortran/35810
PR fortran/47350
* gfortran.dg/realloc_on_assign_3.f03: New test.
* gfortran.dg/realloc_on_assign_4.f03: New test.
* gfortran.dg/realloc_on_assign_5.f90: New test.
* gfortran.dg/allocatable_function_5.f90: New test.
* gfortran.dg/allocate_deferred_char_scalar_1.f90: New test.
* gfortran.dg/deferred_type_param_2.f90: Remove two not yet
implemented dg-errors.


Added:
trunk/gcc/testsuite/gfortran.dg/allocate_deferred_char_scalar_1.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_3.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.texi
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/fortran/trans-types.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/deferred_type_param_2.f90


[Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables

2011-01-28 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810

--- Comment #14 from Paul Thomas pault at gcc dot gnu.org 2011-01-28 13:53:25 
UTC ---
Author: pault
Date: Fri Jan 28 13:53:19 2011
New Revision: 169356

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=169356
Log:
2011-01-28  Paul Thomas  pa...@gcc.gnu.org
Tobias Burnus  bur...@gcc.gnu.org

PR fortran/45170
PR fortran/35810
PR fortran/47350
* interface.c (compare_actual_formal): An allocatable or pointer
deferred length actual is only allowed if the formal argument
is also deferred length. Clean up whitespace.
* trans-expr.c (gfc_conv_procedure_call): Pass string length for
deferred character length formal arguments by reference. Do the
same for function results.
(gfc_trans_pointer_assignment): Do not do runtime check of lhs
and rhs character lengths, if deferred length lhs.  In this case
set the lhs character length to that of the rhs.
(gfc_conv_string_parameter): Remove assert that string length is
an integer type.
(is_scalar_reallocatable_lhs): New function.
(alloc_scalar_allocatable_for_assignment): New function.
(gfc_trans_assignment_1): Call above new function. If the rhs is
a deferred character length itself, makes ure that the function
is called before reallocation, so that the length is available.
(gfc_trans_asssignment): Remove error about assignment to
deferred length character variables.
* gfortran.texi : Update entry about (re)allocation on
assignment.
* trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
length character variables.
* module.c (mio_typespec): Transfer deferred characteristic.
* trans-types.c (gfc_get_function_type): New code to generate
hidden typelist, so that those character lengths that are
passed by reference get the right type.
* resolve.c (resolve_contained_fntype): Supress error for
deferred character length functions.
(resolve_function, resolve_fl_procedure) The same.
(check_symbols): Remove the error that support for
entity with deferred type parameter is not yet implemented.
(resolve_fl_derived): The same.
match.c (alloc_opt_list): Allow MOLD for deferred length object.
* trans-decl.c (gfc_get_symbol_decl): For deferred character
length dummies, generate a local variable for string length.
(create_function_arglist): Hidden length can be a pointer.
(gfc_trans_deferred_vars): For deferred character length
results and dummies, assign the string length to the local
variable from the hidden argument on entry and the other way
round on exit, as appropriate.

2011-01-28  Paul Thomas  pa...@gcc.gnu.org
Tobias Burnus  bur...@gcc.gnu.org

PR fortran/45170
PR fortran/35810
PR fortran/47350
* gfortran.dg/realloc_on_assign_3.f03: New test.
* gfortran.dg/realloc_on_assign_4.f03: New test.
* gfortran.dg/realloc_on_assign_5.f90: New test.
* gfortran.dg/allocatable_function_5.f90: New test.
* gfortran.dg/allocate_deferred_char_scalar_1.f90: New test.
* gfortran.dg/deferred_type_param_2.f90: Remove two not yet
implemented dg-errors.


Added:
trunk/gcc/testsuite/gfortran.dg/allocate_deferred_char_scalar_1.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_3.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.texi
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/fortran/trans-types.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/deferred_type_param_2.f90


[Bug fortran/47350] Deferred string length: ALLOCATE should allow MOLD=

2011-01-28 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47350

--- Comment #1 from Paul Thomas pault at gcc dot gnu.org 2011-01-28 13:53:25 
UTC ---
Author: pault
Date: Fri Jan 28 13:53:19 2011
New Revision: 169356

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=169356
Log:
2011-01-28  Paul Thomas  pa...@gcc.gnu.org
Tobias Burnus  bur...@gcc.gnu.org

PR fortran/45170
PR fortran/35810
PR fortran/47350
* interface.c (compare_actual_formal): An allocatable or pointer
deferred length actual is only allowed if the formal argument
is also deferred length. Clean up whitespace.
* trans-expr.c (gfc_conv_procedure_call): Pass string length for
deferred character length formal arguments by reference. Do the
same for function results.
(gfc_trans_pointer_assignment): Do not do runtime check of lhs
and rhs character lengths, if deferred length lhs.  In this case
set the lhs character length to that of the rhs.
(gfc_conv_string_parameter): Remove assert that string length is
an integer type.
(is_scalar_reallocatable_lhs): New function.
(alloc_scalar_allocatable_for_assignment): New function.
(gfc_trans_assignment_1): Call above new function. If the rhs is
a deferred character length itself, makes ure that the function
is called before reallocation, so that the length is available.
(gfc_trans_asssignment): Remove error about assignment to
deferred length character variables.
* gfortran.texi : Update entry about (re)allocation on
assignment.
* trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
length character variables.
* module.c (mio_typespec): Transfer deferred characteristic.
* trans-types.c (gfc_get_function_type): New code to generate
hidden typelist, so that those character lengths that are
passed by reference get the right type.
* resolve.c (resolve_contained_fntype): Supress error for
deferred character length functions.
(resolve_function, resolve_fl_procedure) The same.
(check_symbols): Remove the error that support for
entity with deferred type parameter is not yet implemented.
(resolve_fl_derived): The same.
match.c (alloc_opt_list): Allow MOLD for deferred length object.
* trans-decl.c (gfc_get_symbol_decl): For deferred character
length dummies, generate a local variable for string length.
(create_function_arglist): Hidden length can be a pointer.
(gfc_trans_deferred_vars): For deferred character length
results and dummies, assign the string length to the local
variable from the hidden argument on entry and the other way
round on exit, as appropriate.

2011-01-28  Paul Thomas  pa...@gcc.gnu.org
Tobias Burnus  bur...@gcc.gnu.org

PR fortran/45170
PR fortran/35810
PR fortran/47350
* gfortran.dg/realloc_on_assign_3.f03: New test.
* gfortran.dg/realloc_on_assign_4.f03: New test.
* gfortran.dg/realloc_on_assign_5.f90: New test.
* gfortran.dg/allocatable_function_5.f90: New test.
* gfortran.dg/allocate_deferred_char_scalar_1.f90: New test.
* gfortran.dg/deferred_type_param_2.f90: Remove two not yet
implemented dg-errors.


Added:
trunk/gcc/testsuite/gfortran.dg/allocate_deferred_char_scalar_1.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_3.f03
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.texi
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/fortran/trans-types.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/deferred_type_param_2.f90


[Bug lto/47497] [4.6 Regression] SPEC CPU 2006 failed to link with LTO

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47497

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.01.28 14:07:32
 CC||hubicka at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
14:07:32 UTC ---
I can reproduce it.  It seems to be an interaction of -fuse-linker-plugin
and -fwhole-program.  The combinations -fuse-linker-plugin
and -fwhole-program -fno-use-linker-plugin work ok.  I think mixing
linker-plugin and whole-program does not make much sense (linker-plugin
provides a more precise whole-program idea).

Honza?  Why is -fwhole-program not ignored, or why should it not be?
Why does it make a difference at all here?

I can't see how the patch should cause this btw, eventually it leads to
different linker resolutions(?) or to different partitioning decisions.
The issue also reproduces with -flto-partition=1to1 (but not with =none,
though that doesn't go through the WPA path).


[Bug other/46567] [trans-mem] ipa_tm_decrement_clone_counts ICE at -O2

2011-01-28 Thread patrick.marlier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46567

--- Comment #5 from Patrick Marlier patrick.marlier at gmail dot com 
2011-01-28 14:18:45 UTC ---
Created attachment 23153
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23153
testcase with O0

With this testcase and -O0:

$ gcc -fgnu-tm -O0 -S pr46567-2.i -o testcase.s
pr46567-2.i: In function ‘readLoop’:
pr46567-2.i:18:1: internal compiler error: in ipa_tm_decrement_clone_counts, at
trans-mem.c:3748
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Maybe not related to this bug?


[Bug rtl-optimization/44174] [4.4/4.5/4.6 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2011-01-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

--- Comment #10 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-01-28 
14:29:30 UTC ---
 Ok for mainline (I'll post to gcc-patches anyway)?

Sure, thanks.


[Bug rtl-optimization/47454] registers are not allocated according to its preferred order

2011-01-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47454

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-01-28 
14:36:26 UTC ---
 I have thought about doing work in IRA to address this, so that we impose a
 higher cost for the higher registers if we have not yet ventured into them.

-frename-registers should help for this issue on the ARM.


[Bug c++/47513] [C++0x] [SFINAE] compiler rejects valid code

2011-01-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47513

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.01.28 14:43:43
 Ever Confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-01-28 
14:43:43 UTC ---
I think you're right - so confirmed


[Bug debug/47508] [4.6 Regression] -fcompare-debug failure with -ftracer for pr42918.c

2011-01-28 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47508

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Target|arm-eabi|arm-eabi,
   ||sparc-sun-solaris2.11
 CC||ro at gcc dot gnu.org

--- Comment #1 from Rainer Orth ro at gcc dot gnu.org 2011-01-28 14:45:45 UTC 
---
Between 20110121 and 20110127, the test also started to FAIL on Solaris
11/SPARC
(both 32 and 64-bit):

FAIL: gcc.dg/pr42918.c (test for excess errors)
Excess errors:
xgcc: error: /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/pr42918.c:
-fcompare-debug failure


[Bug fortran/47350] Deferred string length: ALLOCATE should allow MOLD=

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47350

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
14:52:58 UTC ---
FIXED for the 4.6 trunk.


[Bug debug/47508] [4.6 Regression] -fcompare-debug failure with -ftracer for pr42918.c

2011-01-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47508

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-01-28 
14:57:10 UTC ---
Likely the same problem as PR47498 and PR47501.


[Bug fortran/47516] New: ICE with reallocate on assignment w/ --disable-bootstrap

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47516

   Summary: ICE with reallocate on assignment w/
--disable-bootstrap
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: pa...@gcc.gnu.org, ja...@gcc.gnu.org


Moved from bug 35810 comment 12. Janus wrote there the following; I have not
tried to confirm it.

 Bug 35810 Comment 12 janus 2010-12-30 13:18:14 CET -

Note: realloc_on_assign_2.f03 fails on current trunk when building with
--disable-bootstrap (system compiler: gcc version 4.5.0 20100604
[gcc-4_5-branch revision 160292]):

realloc_on_assign_2.f03: In function ‘test5’:
realloc_on_assign_2.f03:101:0: internal compiler error: in fold_convert_loc, at
fold-const.c:1906


Reduced test case:

program test5
  real, allocatable, dimension (:,:) :: xwrkt
  xwrkt = trs2a2 ()
contains
  function trs2a2 ()
real, dimension (1:2,1:2) :: trs2a2
trs2a2 = 0.0
  end function
end


[Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810

--- Comment #15 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
14:59:03 UTC ---
Close as FIXED (for the 4.6 trunk).

Left overs:
- ICE mentioned in comment 12 - now PR 47516
- Assignment to polymorphic LHS, PR 43366


[Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #16 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
14:59:46 UTC ---
really mark as FIXED.


[Bug target/44031] [4.4/4.5 Regression] ice in subst_reloads, at reload.c:6327

2011-01-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #9 from Mikael Pettersson mikpe at it dot uu.se 2011-01-28 
15:02:42 UTC ---
This test case stopped failing on 4.6 with r162726:

Author: bernds
Date: Fri Jul 30 23:50:00 2010
New Revision: 162726

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162726
Log:
* rtlanal.c (simplify_subreg_regno): Don't treat
HARD_FRAME_POINTER_REGNUM specially.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/rtlanal.c

See also http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00756.html


[Bug bootstrap/47279] Bootstrap fails in stage1 with GCC 4.6

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47279

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
15:10:00 UTC ---
Yes, the versions were typos.  I seem to have been just unlucky with the
specific host compiler version (I was then stuck with), building a current
snapshot with 4.5 and using that built snapshot to build itself seems
to work fine now (I'm now past the failure point and into stage2).


[Bug fortran/47516] ICE with reallocate on assignment w/ --disable-bootstrap

2011-01-28 Thread paul.richard.thomas at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47516

--- Comment #1 from paul.richard.thomas at gmail dot com paul.richard.thomas 
at gmail dot com 2011-01-28 15:14:24 UTC ---
 gcc version 4.5.0 20100604??? version is marked as 4.6.0

Paul

On Fri, Jan 28, 2011 at 3:59 PM, burnus at gcc dot gnu.org
gcc-bugzi...@gcc.gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47516

           Summary: ICE with reallocate on assignment w/
                    --disable-bootstrap
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: bur...@gcc.gnu.org
                CC: pa...@gcc.gnu.org, ja...@gcc.gnu.org


 Moved from bug 35810 comment 12. Janus wrote there the following; I have not
 tried to confirm it.

  Bug 35810 Comment 12 janus 2010-12-30 13:18:14 CET -

 Note: realloc_on_assign_2.f03 fails on current trunk when building with
 --disable-bootstrap (system compiler: gcc version 4.5.0 20100604
 [gcc-4_5-branch revision 160292]):

 realloc_on_assign_2.f03: In function ‘test5’:
 realloc_on_assign_2.f03:101:0: internal compiler error: in fold_convert_loc, 
 at
 fold-const.c:1906


 Reduced test case:

 program test5
  real, allocatable, dimension (:,:) :: xwrkt
  xwrkt = trs2a2 ()
 contains
  function trs2a2 ()
    real, dimension (1:2,1:2) :: trs2a2
    trs2a2 = 0.0
  end function
 end

 --
 Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
 --- You are receiving this mail because: ---
 You are on the CC list for the bug.



[Bug target/45325] [4.6 Regression] target attribute doesn't work with -march=i586

2011-01-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45325

--- Comment #13 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-01-28 15:15:37 UTC ---
Is this going to be fixed for 4.6.0 or should we XFAIL the test?  This
PR has been open for 5 months now.

Rainer


[Bug fortran/47517] New: Rallocate on assignment: Segfault

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47517

   Summary: Rallocate on assignment: Segfault
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: pa...@gcc.gnu.org


Created attachment 23154
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23154
James' allocate_assign.f90

Follow up to bug 35810 comment 0.

The following program ends with a segfault and works with ifort (-assume
realloc_lhs). I do not know whether the program is valid.

Cf. also
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/7d5d1e7f4a48071c/7c63fef65ba5ea70?lnk=gstq=realloc_lhs

The attached program - which is James program from c.l.f except that I
drastically reduced the loop count and removed some line wraps, causes a
segfault in gfortran.

[...]
x2(3)%headers(5)%parts = 1,2,3,4,5,6
size(x2(3)%headers(6)%parts) = 6
x2(3)%headers(6)%parts = 1,2,3,4,5,6
   10
Segmentation fault (core dumped)


Result with ifort -assume realloc_lhs:
x2(3)%headers(5)%parts = 1,2,3,4,5,6
size(x2(3)%headers(6)%parts) = 6
x2(3)%headers(6)%parts = 1,2,3,4,5,6
   1 0
   1 0
   1 2
[...]
   1 39998
   1 39998
 4


[Bug target/45325] [4.6 Regression] target attribute doesn't work with -march=i586

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45325

--- Comment #14 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
15:19:23 UTC ---
The test is invalid on i[345]86-*-* without also enabling -msse.  A fix is to
add

/* { dg-options -msse { target i[345]86-*-* } } */

probably also for x86_64 with -m32.  Or simply unconditionally as it is a
x86 specific test anyway.

A fix for the bug would instead issue a diagnostic.


[Bug c/47518] New: va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread jur.pauw at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

   Summary: va_arg causes segmentation fault in case of variable
length argument
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jur.p...@gmail.com


To reproduce:
gcc -Wall -g aap.c
a.out

Output:
Segmentation fault (core dumped)

Valgrind output
==4442== Memcheck, a memory error detector
==4442== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==4442== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==4442== Command: a.out
==4442== 
==4442== Invalid read of size 1
==4442==at 0x4C7E849: memcpy (mc_replace_strmem.c:482)
==4442==by 0x8048423: f (aap.c:19)
==4442==by 0x80484F4: main (aap.c:36)
==4442==  Address 0x1ff is not stack'd, malloc'd or (recently) free'd

Version information:
Reading specs from
/sysmnt/cadappl_linuxi386_nsvr1/gcc/4.2.2.1/bin/../lib/gcc/i686-pc-linux-gnu/4.2.2/specs
Target: i686-pc-linux-gnu
Configured with: /home/gcc/gcc/gcc-4.2.2.1/gcc-4.2.2.1/configure
--prefix=/cadappl/gcc/4.2.2.1 --with-as=/cadappl/gcc/4.2.2.1/bin/as
--with-ld=/cadappl/gcc/4.2.2.1/bin/ld --enable-__cxa_atexit
--enable-threads=posix --with-march=i686 --with-tune=pentium4
--enable-languages=c,c++,fortran --with-gmp=/cadappl/gcc/4.2.2.1
--with-mpfr=/cadappl/gcc/4.2.2.1
Thread model: posix
gcc version 4.2.2


[Bug c/47518] va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread jur.pauw at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

--- Comment #1 from jur.pauw at gmail dot com 2011-01-28 15:26:41 UTC ---
If gcc version 3.4.4 is used then the program executes correctly.

Version information:
Reading specs from
/sysmnt/cadappl_linuxi386_nsvr1/gcc/3.4.4/bin/../lib/gcc/i686-pc-linux-gnu/3.4.4/specs
Configured with: /home/gcc/gcc/gcc-3.4.4/gcc-3.4.4/configure
--prefix=/cadappl/gcc/3.4.4 --enable-shared --enable-threads=posix
--enable-__cxa_atexit --with-as=/cadappl/gcc/3.4.4/bin/as
--with-ld=/cadappl/gcc/3.4.4/bin/ld --enable-languages=c,c++,f77,java
Thread model: posix
gcc version 3.4.4


[Bug target/45325] [4.6 Regression] target attribute doesn't work with -march=i586

2011-01-28 Thread davek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45325

--- Comment #15 from Dave Korn davek at gcc dot gnu.org 2011-01-28 15:28:33 
UTC ---
(In reply to comment #14)
 The test is invalid on i[345]86-*-* without also enabling -msse.

  Does the same apply to libcpp/lex.c?  i.e. Is that code invalid unless
compiled with -msse2?  LTO bootstrap with arch=i686,tune=generic was still
broken last time I checked.


[Bug fortran/47519] New: ICE on allocation of with deferred-length string

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47519

   Summary: ICE on allocation of with deferred-length string
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: pa...@gcc.gnu.org


Follow up to deferred-length string PR 45170.

Part of the thread referenced at bug 35810 comment 0,
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/7d5d1e7f4a48071c/7c63fef65ba5ea70?lnk=gstq=realloc_lhs

The following code of James ICEs with the current trunk:

foo.f90: In function ‘note7_35’:
foo.f90:9:0: internal compiler error: Segmentation fault

==7086== Invalid read of size 8
==7086==at 0x5B1C46: gfc_trans_allocate (trans-stmt.c:4527)
==7086==by 0x5656E7: trans_code (trans.c:1323)
==7086==by 0x583D91: gfc_generate_function_code (trans-decl.c:4708)
==7086==by 0x527CB7: gfc_parse_file (parse.c:4237)
==7086==by 0x560D75: gfc_be_parse_file (f95-lang.c:250)
==7086==by 0x867FCB: toplev_main (toplev.c:579)
==7086==by 0x64C7BBC: (below main) (libc-start.c:226)
==7086==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

In the last line of the following (shortened) excerpt the ICE happens:

  else if (al-expr-ts.type == BT_CHARACTER
  al-expr-ts.deferred  code-expr3)
{
  if (!code-expr3-ts.u.cl-backend_decl)
{
  if (code-expr3-expr_type == EXPR_VARIABLE
|| code-expr3-expr_type == EXPR_CONSTANT)
  else
{
  gfc_conv_expr (se_sz, code-ext.alloc.ts.u.cl-length);


program note7_35
   implicit none
   character, allocatable :: name*(:)
   character(*), parameter :: FIRST_NAME = 'Julius'
   character(*), parameter :: SURNAME = 'No'
   integer n

   n = 10
   allocate(name, SOURCE=repeat('x',n))
   name = 'Dr. '//FIRST_NAME//' '//SURNAME
   write(*,*) len(name), name
   deallocate(name)
   n = 10
   allocate(name, SOURCE=repeat('x',n))
   name(:) = 'Dr. '//FIRST_NAME//' '//SURNAME
   write(*,*) len(name), name
end program note7_35


[Bug target/45325] [4.6 Regression] target attribute doesn't work with -march=i586

2011-01-28 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45325

--- Comment #16 from rguenther at suse dot de rguenther at suse dot de 
2011-01-28 15:32:50 UTC ---
On Fri, 28 Jan 2011, davek at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45325
 
 --- Comment #15 from Dave Korn davek at gcc dot gnu.org 2011-01-28 15:28:33 
 UTC ---
 (In reply to comment #14)
  The test is invalid on i[345]86-*-* without also enabling -msse.
 
   Does the same apply to libcpp/lex.c?  i.e. Is that code invalid unless
 compiled with -msse2?  LTO bootstrap with arch=i686,tune=generic was still
 broken last time I checked.

Yes.  The code should be #ifdefed out when -msse is not enabled.

Richard.


[Bug fortran/45170] [F2003] allocatable character lengths

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45170

--- Comment #9 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
15:35:02 UTC ---
TODO:

- Function result variables which are character(len=:), pointer
  (according to http://gcc.gnu.org/ml/fortran/2011-01/msg00264.html item (v))

- Deferred-length string ARRAYS have still some issues

- Deferred-length string as derived-type COMPONENTS are unimplemented

- PR 47519 is an ICE


[Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810

--- Comment #17 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
15:35:05 UTC ---
Another follow up:
Bug 47517  - the example from c.l.f linked to from comment 0 fails


[Bug c/47518] va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.01.28 15:38:53
 Ever Confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-01-28 
15:38:53 UTC ---
please see http://gcc.gnu.org/bugs/

we need preprocessed source


[Bug c/47518] va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-01-28 
15:39:50 UTC ---
Also note that gcc 4.2 is no longer maintained, so even if there is a bug in
that version it won't get fixed.  Please try a newer release.


[Bug c/47520] New: [trans-mem] ICE Segmentation fault at 01

2011-01-28 Thread patrick.marlier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47520

   Summary: [trans-mem] ICE Segmentation fault at 01
   Product: gcc
   Version: trans-mem
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: patrick.marl...@gmail.com
CC: r...@gcc.gnu.org, al...@gcc.gnu.org,
javier.ar...@bsc.es


Created attachment 23155
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23155
testcase with O1

Hi,

Reporting a bug found using RMSTM benchmark and optimization level 1.
Attached a reduced test case.

gcc -fgnu-tm -O1 -S hmmer-2.i
hmmer-2.i: In function ‘ReadSeq’:
hmmer-2.i:26:1: 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.

Patrick.


[Bug bootstrap/47279] Bootstrap fails in stage1 with GCC 4.6

2011-01-28 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47279

Alan Modra amodra at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |

--- Comment #7 from Alan Modra amodra at gmail dot com 2011-01-28 15:45:37 
UTC ---
Is the older 4.6 snapshot compiler still around on your system?  If so, I'd
really like to investigate the linker error, to make sure that powerpc64 ld
isn't doing something stupid with toc partitioning..


[Bug bootstrap/47279] Bootstrap fails in stage1 with GCC 4.6

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47279

--- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
15:48:08 UTC ---
I don't have binaries anymore but it was built from SVN rev. 167488.  So using
a gcc 4.6 with that revision as host compiler should reproduce the problem.


[Bug c/47518] va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread jur.pauw at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

--- Comment #4 from jur.pauw at gmail dot com 2011-01-28 15:54:10 UTC ---
Created attachment 23156
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23156
preprocessed output that triggers va_arg segmentation fault


[Bug c/47518] va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread jur.pauw at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

jur.pauw at gmail dot com changed:

   What|Removed |Added

Version|4.2.2   |4.4.5

--- Comment #5 from jur.pauw at gmail dot com 2011-01-28 15:55:25 UTC ---
Using built-in specs.
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic
--enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu
--target=i686-linux-gnu
Thread model: posix
gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)


[Bug libfortran/47514] Source file over a certain size compiles but will not run

2011-01-28 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47514

Jerry DeLisle jvdelisle at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jvdelisle at gcc dot
   ||gnu.org
 Resolution||WORKSFORME

--- Comment #3 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-01-28 
15:59:19 UTC ---
I tried on windows with Cygwin and it works fine. Your version is really pretty
old. I suggest you upgrade to a newer version.

Closing as worksforme


[Bug c/47518] va_arg causes segmentation fault in case of variable length argument

2011-01-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47518

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-01-28 
16:00:35 UTC ---
You are using a different type for va_arg than you passed to the function.


[Bug debug/47510] DW_TAG_typedef can have children when designating a naming typedef

2011-01-28 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510

--- Comment #2 from Dodji Seketeli dodji at gcc dot gnu.org 2011-01-28 
16:13:07 UTC ---
Patch posted to http://gcc.gnu.org/ml/gcc-patches/2011-01/msg02118.html


[Bug c++/47049] [4.5/4.6 Regression] [C++0x] ICE in write_unnamed_type_name with lambda use

2011-01-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47049

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-01-28 
16:33:07 UTC ---
Reduced testcase:

enum { E = 0, F = 1 };
template int N, int M = ((N == 1) ? F : E) class S;
template int N
struct T
{
  static void
  foo (SN *p)
  {
SN u;
[u] ()-bool {};
  }
};


[Bug libfortran/47514] Source file over a certain size compiles but will not run

2011-01-28 Thread brendanarnold at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47514

--- Comment #4 from Brendan brendanarnold at gmail dot com 2011-01-28 
16:52:12 UTC ---
Was using the MinGW bundled with PythonXY

Now upgraded to version 4.5.2 and it works fine

Thanks!


[Bug rtl-optimization/46235] inefficient bittest code generation

2011-01-28 Thread tony.poppleton at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46235

--- Comment #2 from Tony Poppleton tony.poppleton at gmail dot com 2011-01-28 
16:55:48 UTC ---
Based on Richard's comment, I tried a modified version of the code replacing
the (1  x) with just (16).

This shows that GCC (4.6  4.5.2) does perform an optimization similar to llvm,
and uses the testb instruction:
movl%edi, %eax
movl$1, %edx
testb   $16, %al
cmove   %edx, %eax
ret

Therefore, perhaps it would be beneficial to not convert from a  (n  x) to
(a  x)  n, in the special case where the value n is 1 (or a power of 2
potentially)?

Incidentally, the above code could have been optimized further to remove the
usage of edx entirely (will make a separate PR about that)


[Bug ada/47500] -G0 option not recognized by gnat1

2011-01-28 Thread joel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47500

--- Comment #2 from Joel Sherrill joel at gcc dot gnu.org 2011-01-28 16:56:34 
UTC ---
(In reply to comment #1)
  Hints or tiny patch appreciated.
 
 You need to find out whether/how this works for the C compiler.

What do you mean?  It dictates the maximum size of objects placed in sbss and
sdata sections.  So -Gnumber is accepted by cc1.


[Bug rtl-optimization/46235] inefficient bittest code generation

2011-01-28 Thread tony.poppleton at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46235

--- Comment #3 from Tony Poppleton tony.poppleton at gmail dot com 2011-01-28 
17:02:50 UTC ---
Actually what I said above isn't correct - had it compiled down to bt $4, %al
then it would make sense to do that special case, but as it used testb it is
inconclusive.


[Bug c++/47511] [4.6 Regression] [C++0x] ICE: unexpected ast of kind template_decl in potential_constant_expression_1, at cp/semantics.c:7711

2011-01-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47511

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.01.28 17:06:31
 CC||jakub at gcc dot gnu.org
  Known to work||4.5.2
   Target Milestone|--- |4.6.0
Summary|[C++0x] ICE: unexpected ast |[4.6 Regression] [C++0x]
   |of kind template_decl in|ICE: unexpected ast of kind
   |potential_constant_expressi |template_decl in
   |on_1, at|potential_constant_expressi
   |cp/semantics.c:7711 |on_1, at
   ||cp/semantics.c:7711
 Ever Confirmed|0   |1
  Known to fail||4.6.0

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-01-28 
17:06:31 UTC ---
Confirmed, 4.5 compiles this.


[Bug rtl-optimization/47521] New: Unnecessary usage of edx register

2011-01-28 Thread tony.poppleton at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47521

   Summary: Unnecessary usage of edx register
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tony.popple...@gmail.com


In testing PR46235 I noticed some minor inefficiency in the usage of an extra
register.

The C code is:

int foo(int a, int x, int y)
{
   if  (a  (16))
   return a;
   return 1;
}

Which produces the asm:
movl%edi, %eax
movl$1, %edx
testb   $16, %al
cmove   %edx, %eax
ret

The above code could have been further optimized to remove the usage of edx:
movl$1, %eax
test$16, %edi
cmove   %edi, %eax
ret


[Bug rtl-optimization/47521] Unnecessary usage of edx register

2011-01-28 Thread tony.poppleton at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47521

Tony Poppleton tony.poppleton at gmail dot com changed:

   What|Removed |Added

  Known to work||4.3.5
  Known to fail||4.4.5, 4.5.2, 4.6.0

--- Comment #1 from Tony Poppleton tony.poppleton at gmail dot com 2011-01-28 
17:23:19 UTC ---
I probably meant testb   $16, %dil above...

GCC 4.3.5 avoids the usage of edx, although it too probably has 1 instruction
too many:
testb   $16, %dil
movl$1, %eax
cmove   %eax, %edi
movl%edi, %eax
ret


[Bug rtl-optimization/46235] inefficient bittest code generation

2011-01-28 Thread tony.poppleton at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46235

--- Comment #4 from Tony Poppleton tony.poppleton at gmail dot com 2011-01-28 
18:08:15 UTC ---
As a quick test, I commented out the block with the following comment in
fold-const.c:
  /* If this is an EQ or NE comparison with zero and ARG0 is
 (1  foo)  bar, convert it to (bar  foo)  1.  Both require
 two operations, but the latter can be done in one less insn
 on machines that have only two-operand insns or on which a
 constant cannot be the first operand.  */

This produces the following asm code:
movl$1, %edx
movl%edi, %eax
movl%esi, %ecx
movl%edx, %edi
sall%cl, %edi
testl   %eax, %edi
cmove   %edx, %eax
ret
(using modified GCC 4.6.0 20110122)

So whilst I was hoping for an easy quick-fix, it appears that the required
optimization to convert it into a btl test isn't there later on in the
compile.

Incidentally, from looking at http://gmplib.org/~tege/x86-timing.pdf, it
appears that bt is slow on P4 architecture (8 cycles if I am reading it
correctly?  which sounds slow), so the llvm code in the bug description isn't
necessarily an optimization on this arch.  Newer chips would probably still
benefit though.


[Bug target/44031] [4.4/4.5 Regression] ice in subst_reloads, at reload.c:6327

2011-01-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031

--- Comment #10 from Mikael Pettersson mikpe at it dot uu.se 2011-01-28 
18:28:11 UTC ---
Backporting r162726 to 4.5.2 and 4.4.5 prevents the ICE there too.


[Bug fortran/47519] Deferred-length string wrong results with character intrinsic functions

2011-01-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47519

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
Summary|ICE on allocation of with   |Deferred-length string
   |deferred-length string  |wrong results with
   ||character intrinsic
   ||functions

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-01-28 
18:28:52 UTC ---
The problem is the line:
 allocate(name, SOURCE=repeat('x',n))

A simplified (and not ICEing) version is:
   n = 10
   name = repeat('x',n)
   name = repeat('x',4)
   name = repeat('x',n)//123

For the first repeat len(name) is 0, for the second repear' one gets the
expected . The third one gives xxx.

In case of the allocate, the problem is that both
  code-expr3-ts.u.cl-backend_decl
and
  code-expr3-ts.u.cl-length
are NULL pointers. (code-expr3-expr_type is EXPR_FUNCTION)


[Bug target/44031] [4.4/4.5 Regression] ice in subst_reloads, at reload.c:6327

2011-01-28 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #11 from Jeffrey A. Law law at redhat dot com 2011-01-28 18:42:34 
UTC ---
The patch Mikael references removes some bogus code which prevents
simplification of a subreg of the frame pointer which was causing some problems
for the ARM.  This case (x86) shows the same failing behaviour, we have a
subreg of the frame pointer which triggers a reload we're ultimately unable to
handle.

I'm going to go ahead and mark this as resolved since I believe Bernd nailed it
which is reinforced by Mikael's comments that backporting that fix to the 4.5
and 4.4 branches fixes the problem on the branches as well.


[Bug target/44031] [4.4/4.5 Regression] ice in subst_reloads, at reload.c:6327

2011-01-28 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031

--- Comment #12 from Jeffrey A. Law law at redhat dot com 2011-01-28 18:43:27 
UTC ---
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/28/11 11:28, mikpe at it dot uu.se wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
 
 --- Comment #10 from Mikael Pettersson mikpe at it dot uu.se 2011-01-28 
 18:28:11 UTC ---
 Backporting r162726 to 4.5.2 and 4.4.5 prevents the ICE there too.
Thanks for verifiying this.  That, in my mind seals the deal.


jeff
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNQw5FAAoJEBRtltQi2kC7D3cH/jgVewbZnt4E34iQ2omhb0js
rmeyyJJslfr7WT2meajockBImFP/47qIDSX2e8f0wwXW8uQSBQ0FG7RLMQRipOE2
oH6reoXzLve1PFaRmtkKJ7+vcdEwGGf81YZnmBWR0cnqlecG1r3siTGlv+jHpKnp
Xa/Q7JWP62aQe6yBcEbOC9IhNlFdx9dci7GrGB13Le8xvpFFjOiUw+nOP5E7pQHC
El2IyPqt0wKdZraCcG/sroippAUjts1pL0otxP03EYgqHHVLGdBsFZm2H0ArhJha
IK9SXqI0WBI3m5MNRKn/51qAMVZg/7FNUKQ4/kuha/7aGvvG0+H7btU7dp/nlqM=
=Zdmq
-END PGP SIGNATURE-


  1   2   >