[Bug testsuite/45324] gcc.target/i386/volatile-bitfields-1.c doesn't work with i586-linux

2010-08-19 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2010-08-19 06:49 ---
It is just insn preferences for IX86_TUNE_PARTIAL_REG_STALL. We are not testing
this flag but move insn, so can you please test:

Index: volatile-bitfields-1.c
===
--- volatile-bitfields-1.c  (revision 163363)
+++ volatile-bitfields-1.c  (working copy)
@@ -14,4 +14,4 @@
   return bits.b;
 }

-/* { dg-final { scan-assembler movzbl.*bits } } */
+/* { dg-final { scan-assembler mov(zbl|b).*bits } } */

The patch is pre-approved if it solves your failure.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-19 06:49:24
   date||


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



[Bug c++/45334] New: Base class type information not accessible in binaries compiled with g++ 4.5.0

2010-08-19 Thread andre dot poenitz at nokia dot com
This is a copy of an issue originally filed as gdb bug at
http://sourceware.org/bugzilla/show_bug.cgi?id=11639 that was identified as a
gcc issue in the mean time:

If 'Derived' and 'Base' are setup as shown in the attachment

void Derived::foo()
{
Base *b = this;
Base br = *b;
}

then

 'print b'

yields  $1 = (void *) 0xbfffee38, i.e. the type information for 'b' is
completely lost.

It should print (Base *) 0xbfffee38. 

The problem is not present in g++ 4.4.


-- 
   Summary: Base class type information not accessible in binaries
compiled with g++ 4.5.0
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andre dot poenitz at nokia dot com
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


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



[Bug c++/45334] Base class type information not accessible in binaries compiled with g++ 4.5.0

2010-08-19 Thread andre dot poenitz at nokia dot com


--- Comment #1 from andre dot poenitz at nokia dot com  2010-08-19 06:58 
---
Created an attachment (id=21517)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21517action=view)
Example code to reproduce the problem.


-- 


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



[Bug target/45335] New: Use ldrd to load two consecutive words

2010-08-19 Thread carrot at google dot com
Compile the following code with options -march=armv7-a -mthumb -O2 -fpic

struct S
{
void* p1;
void* p2;
void* p3;
void* p4;
};

void foo1(struct S* fp, struct S* otherSaveArea)
{
struct S* saveArea = fp - 1;
printf(StackSaveArea for fp %p [%p/%p]:\n, fp, saveArea, otherSaveArea);
printf(  prevFrame=%p savedPc=%p meth=%p curPc=%p fp[0]=0x%08x\n,
   saveArea-p1, saveArea-p2,saveArea-p3,saveArea-p4,*(unsigned
int*)fp);
}

GCC 4.6 generates

foo1:
push{r4, r5, r6, lr}
mov r4, r0
ldr r5, .L2
sub sp, sp, #8
mov r3, r1
sub r2, r0, #16
.LPIC0:
add r5, pc
mov r1, r0
mov r0, r5
bl  printf(PLT)
ldr r6, [r4, #-4] // A
ldr r5, [r4, #0]  // B
ldr r0, .L2+4
ldr r1, [r4, #-16]// C
ldr r2, [r4, #-12]// D
.LPIC1:
add r0, pc
ldr r3, [r4, #-8]
str r6, [sp, #0]  // E
str r5, [sp, #4]  // F
bl  printf(PLT)
add sp, sp, #8
pop {r4, r5, r6, pc}

Notice instructions A and B loading two consecutive words, they can be written
as a single instruction
ldrdr6, r5, [r4, -4]

It results in shorter and potentially faster code. Similarly instructions C and
D can be replace by a ldrd. Instructions E and F shows a chance for strd
instruction.

We don't have a ldrd insn pattern to represent two separate loads. Maybe we can
define one and let combine to find the chances.

There is also the same opportunity for ARM instructions, but there are more
constraints on register usage. In arm mode, the first register must be even
numbered and the second register number must be exact successor of the first
one. These are similar to the constraints of ldm and stm, and our register
allocator can't handle them.


-- 
   Summary: Use ldrd to load two consecutive words
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carrot at google dot com
 GCC build triplet: i686-linux
  GCC host triplet: i686-linux
GCC target triplet: arm-eabi


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



[Bug fortran/33197] Fortran 2008: math functions

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #34 from burnus at gcc dot gnu dot org  2010-08-19 07:28 ---
Subject: Bug 33197

Author: burnus
Date: Thu Aug 19 07:28:17 2010
New Revision: 163364

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163364
Log:
2010-08-19  Tobias Burnus  bur...@net-b.de

PR fortran/36158
PR fortran/33197
* check.c (gfc_check_bessel_n2): New function.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2.
* intrinsic.c (add_functions): Add transformational version
of the Bessel_jn/yn intrinsics.
* intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New prototypes.
* intrinsic.texi (Bessel_jn, Bessel_yn): Document
transformational variant.
* simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn):
Check for negative order.
(gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New functions.

2010-08-19  Tobias Burnus  bur...@net-b.de

PR fortran/36158
PR fortran/33197
* gfortran.dg/bessel_3.f90: New.
* gfortran.dg/bessel_4.f90: New.
* gfortran.dg/bessel_5.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/bessel_3.f90
trunk/gcc/testsuite/gfortran.dg/bessel_4.f90
trunk/gcc/testsuite/gfortran.dg/bessel_5.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/intrinsic.h
trunk/gcc/fortran/intrinsic.texi
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/36158] Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2010-08-19 07:28 ---
Subject: Bug 36158

Author: burnus
Date: Thu Aug 19 07:28:17 2010
New Revision: 163364

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163364
Log:
2010-08-19  Tobias Burnus  bur...@net-b.de

PR fortran/36158
PR fortran/33197
* check.c (gfc_check_bessel_n2): New function.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2.
* intrinsic.c (add_functions): Add transformational version
of the Bessel_jn/yn intrinsics.
* intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New prototypes.
* intrinsic.texi (Bessel_jn, Bessel_yn): Document
transformational variant.
* simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn):
Check for negative order.
(gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New functions.

2010-08-19  Tobias Burnus  bur...@net-b.de

PR fortran/36158
PR fortran/33197
* gfortran.dg/bessel_3.f90: New.
* gfortran.dg/bessel_4.f90: New.
* gfortran.dg/bessel_5.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/bessel_3.f90
trunk/gcc/testsuite/gfortran.dg/bessel_4.f90
trunk/gcc/testsuite/gfortran.dg/bessel_5.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/intrinsic.h
trunk/gcc/fortran/intrinsic.texi
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/36158] Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2010-08-19 07:37 ---
The patch implemented the compile-time version using a recurrence algorithm.

TODO: Add a run-time implementation (using a recurrence algorithm).


-- 


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



[Bug fortran/36158] Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2010-08-19 08:21 ---
(In reply to comment #3)
 TODO: Add a run-time implementation (using a recurrence algorithm).

Remember that all kinds of integers are allowed for N1 and N2, but that POSIX's
jn/yn only allows int - thus, on can add a cast to c_int in iresolve.c.


-- 


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



[Bug target/45336] New: pextr{b,w,d}, (worse than) redundant extensions

2010-08-19 Thread tbptbp at gmail dot com
Bis repetita placent.
Since PR 45294 got reclassified as a duplicate of PR 41323 and
a) chances for a new GCC specific intrinsic are null
b) unlike H.J. Lu i couldn't care less about ICC
c) i think GCC oughts to do the Right Thing
d) or at least have builtins match hardware (because inline asm gets no
scheduling love)
i'm reporting the same undue extensions this time for the whole class of
extraction ops.
$ cat pextr.cc
#include smmintrin.h
typedef long unsigned int uint64_t;
uint64_t foo8(__m128i x) { return _mm_extract_epi8(x, 4); }
uint64_t foo16(__m128i x) { return _mm_extract_epi16(x, 3); }
uint64_t foo32(__m128i x) { return _mm_extract_epi32(x, 2); }
uint64_t bar8(__v16qi x) { return __builtin_ia32_vec_ext_v16qi(x, 4); }
uint64_t bar16(__v8hi x) { return __builtin_ia32_vec_ext_v8hi(x, 3); }
uint64_t bar32(__v4si x) { return __builtin_ia32_vec_ext_v4si(x, 2); }
int main() { return 0; }
$ /usr/local/gcc-4.6-20100811/bin/g++ -O3 -march=native pextr.cc
004004a0 _Z4foo8Dv2_x:
  4004a0:   66 0f 3a 14 c0 04   pextrb $0x4,%xmm0,%eax
  4004a6:   0f be c0movsbl %al,%eax
  4004a9:   48 98   cltq   
  4004ab:   c3  retq   

004004b0 _Z5foo16Dv2_x:
  4004b0:   66 0f c5 c0 03  pextrw $0x3,%xmm0,%eax
  4004b5:   98  cwtl   
  4004b6:   48 98   cltq   
  4004b8:   c3  retq   

004004c0 _Z5foo32Dv2_x:
  4004c0:   66 0f 3a 16 c0 02   pextrd $0x2,%xmm0,%eax
  4004c6:   48 98   cltq   
  4004c8:   c3  retq   

004004d0 _Z4bar8Dv16_c:
  4004d0:   66 0f 3a 14 c0 04   pextrb $0x4,%xmm0,%eax
  4004d6:   48 0f be c0 movsbq %al,%rax
  4004da:   c3  retq   

004004e0 _Z5bar16Dv8_s:
  4004e0:   66 0f c5 c0 03  pextrw $0x3,%xmm0,%eax
  4004e5:   48 0f bf c0 movswq %ax,%rax
  4004e9:   c3  retq   

004004f0 _Z5bar32Dv4_i:
  4004f0:   66 0f 3a 16 c0 02   pextrd $0x2,%xmm0,%eax
  4004f6:   48 98   cltq   
  4004f8:   c3  retq   

x86-64, Intel i7.


-- 
   Summary: pextr{b,w,d}, (worse than) redundant extensions
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbptbp at gmail dot com


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



[Bug target/45070] Miscompiled c++ class with packed attribute on ARM with -Os optimizations (Qt 4.6.2)

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


--- Comment #14 from ramana at gcc dot gnu dot org  2010-08-19 08:28 ---
Subject: Bug 45070

Author: ramana
Date: Thu Aug 19 08:27:59 2010
New Revision: 163367

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163367
Log:
For Ian Bolton ian.bol...@arm.com

2010-08-19  Ian Bolton  ian.bol...@arm.com

PR target/45070
* gcc.c-torture/execute/pr45070.c: New.
* config/arm/arm.c (arm_output_epilogue): Ensure that return
 value of size 1-3 is handled correctly.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr45070.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/45108] Namelist read: Not aborted when reading from STDIN

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2010-08-19 09:04 ---
(In reply to comment #6)
 This patch will generate an error.  If IOSTAT or IOMSG is used, the read will
 continue in the loop after an error, but the error status variables will be 
 set
 so that one will know an error occurred when the READ has completed.  Any
 thoughts Tobias?

I think that's useful. One can use the interactive dialog to query about the
correct format (as before), if one enters the correct nml one returns without
error (as before), but if one enters an invalid namelist one returns (as
before) but with an error status (new) and without an warning (namelist read:
misplaced = sign) [new]. (One can use iomsg to get the error string.) And
without err=/iostat=, one gets a run-time error as before.

[Admittedly, I have never used the ? / =? feature thus I might overlook a
useful application which won't work with the new patch, but it seems as if most
things continue to work.]

Thus, I think the patch is fine. As it is not test-suite testable, no test case
is needed. From my side the patch is OK for committal.


-- 


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



[Bug target/41989] Code optimized for AMD Geode is slower than generic

2010-08-19 Thread eren at pardus dot org dot tr


--- Comment #24 from eren at pardus dot org dot tr  2010-08-19 09:13 ---
What's the situation right now, is there any progress?

I have Geode LX 800MHz, and the code compiled for generic x86 architectures
runs really slow . I'm thinking of producing optimized packages for Geode LX,
however I'm confused as to which CFLAGS I should use. Is there any
clarifications for this?

I'm using gcc 4.3.5, btw.


-- 


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



[Bug fortran/45337] New: intent(out) and pointer = null()

2010-08-19 Thread linuxl4 at sohu dot com
$ gfortran --version
GNU Fortran (GCC) 4.5.2 20100819 (prerelease)

which is wrong? and WHY?


-- 
   Summary: intent(out) and pointer = null()
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: linuxl4 at sohu dot com
 GCC build triplet: x86_64 - redhat - linux
  GCC host triplet: x86_64 - redhat - linux
GCC target triplet: x86_64 - redhat - linux


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



[Bug fortran/45337] intent(out) and pointer = null()

2010-08-19 Thread linuxl4 at sohu dot com


--- Comment #1 from linuxl4 at sohu dot com  2010-08-19 09:14 ---
module ptrmod
contains
subroutine lengthX(x, i)
   implicit none
   real, pointer, intent(out) :: x(:)=null()
   integer :: i
   allocate(x(i))
   x=i
end subroutine
end module

program main
  use ptrmod
  implicit none
  real, pointer :: x(:)
  integer :: i
  do i=1,5
 call lengthX(x, i)
 print *, size(x), x
  enddo
  if(associated(x)) deallocate(x)
  x=null()
end program


-- 


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



[Bug fortran/45337] intent(out) and pointer = null()

2010-08-19 Thread jv244 at cam dot ac dot uk


--- Comment #2 from jv244 at cam dot ac dot uk  2010-08-19 09:22 ---
(In reply to comment #1)
 module ptrmod
 contains
 subroutine lengthX(x, i)
implicit none
real, pointer, intent(out) :: x(:)=null()

you can't initialize a dummy argument, since initialization implies save. Just
put 'NULLIFY(x)' in the body of the subroutine. Intents for pointers is fine,
but not Fortran95 (2003/2008?)

integer :: i
allocate(x(i))
x=i
 end subroutine
 end module
 
 program main
   use ptrmod
   implicit none
   real, pointer :: x(:)
   integer :: i
   do i=1,5
  call lengthX(x, i)
  print *, size(x), x
   enddo
   if(associated(x)) deallocate(x)
   x=null()
 end program
 


-- 

jv244 at cam dot ac dot uk changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/45337] intent(out) and pointer = null()

2010-08-19 Thread linuxl4 at sohu dot com


--- Comment #3 from linuxl4 at sohu dot com  2010-08-19 09:22 ---
module ptrmod
  implicit none
  type inde
 real :: x
  end type   

contains
subroutine lengthY(indexx)
   implicit none
   type(inde), pointer, intent(out) :: indexx(:)=null()
end subroutine
end module

program main
  use ptrmod
  implicit none
  type(inde), pointer :: indexx(:)=null()
  call lengthY(indexx)
end program


-- 


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



[Bug fortran/45337] intent(out) and pointer = null()

2010-08-19 Thread linuxl4 at sohu dot com


--- Comment #4 from linuxl4 at sohu dot com  2010-08-19 09:26 ---
Too fast your answer interrupt My question. 


-- 


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



[Bug libstdc++/44952] #include iostream implies global constructor.

2010-08-19 Thread hubicka at gcc dot gnu dot org


--- Comment #14 from hubicka at gcc dot gnu dot org  2010-08-19 09:39 
---
Well, it might be easy to modify libstdc++ implementation so the static
constructor compiles into single function call.  Then we can teach GCC to
optimize constructor containing only a call into entry in ctors table.
Then we will get a lot of duplicate calls, but all at one place and we won't
have the locality problem at startup.


-- 


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



[Bug fortran/45337] gfortran accepts pointer initialization of DT dummy arguments w/ INTENT(OUT)

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2010-08-19 09:40 ---
(In reply to comment #2)
 Intents for pointers is fine, but not Fortran95 (2003/2008?)

Intents for pointers is Fortran 2003; it applies to the pointer association
status and not to the value.


The programs in comment 0 and comment 2 are both invalid.

  type(inde), pointer :: indexx(:)=null()

means that indexx is initialized - which is only possible for variables which
are in static memory (SAVE; the assignment implies the SAVE). That's OK for
the line above, but not for dummy arguments to subroutines.

Note: In C  int a = 5; and int a; a = 5; have the same meaning. In Fortran
not! integer :: a = 5 means that a is in static memory (SAVE) and will
only be initialized once at program start. Whereas for integer :: a; a = 5 
the assignment happens every time the line is subroutine is called.

 * * *

Regarding the accepts invalid bug:

While for the program in comment 0, gfortran prints the error
  Error: Dummy 'x' at (1) cannot have an initializer
it compiles the program in comment 2.

Note: If one removes the INTENT(OUT) or has (as in comment 0) no derived-type
dummy, the error is printed.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
   Keywords||accepts-invalid
 Resolution|INVALID |
Summary|intent(out) and pointer =  |gfortran accepts pointer
   |null()  |initialization of DT dummy
   ||arguments w/ INTENT(OUT)


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



[Bug fortran/45337] gfortran accepts pointer initialization of DT dummy arguments w/ INTENT(OUT)

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2010-08-19 09:47 ---
(In reply to comment #5)
  It should read: program in comment 3 (not in comment 2).

To macius bat:
  Thanks for the bug report!

  It helps if you already state (a) the error message and (b) what you expect
in the first
  description.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|x86_64 - redhat - linux |
   GCC host triplet|x86_64 - redhat - linux |
 GCC target triplet|x86_64 - redhat - linux |
   Last reconfirmed|-00-00 00:00:00 |2010-08-19 09:47:08
   date||


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



[Bug c/45320] Strict-aliasing misdetection

2010-08-19 Thread strikosn at gmail dot com


--- Comment #3 from strikosn at gmail dot com  2010-08-19 09:50 ---
Ok, I reviewed all cases and it seems that gcc always does the right thing. The
only problem left is that strict-aliasing warning Levels 2 and 3, of which
Level 3 is enabled by default, do not detect this particular case of
strict-aliasing, even though Level 1 detects it correctly.


-- 


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



[Bug fortran/45337] gfortran accepts pointer initialization of DT dummy arguments w/ INTENT(OUT)

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2010-08-19 09:56 ---
Untested patch:

Index: resolve.c
===
--- resolve.c   (revision 163368)
+++ resolve.c   (working copy)
@@ -9724,7 +9724,8 @@ resolve_fl_variable (gfc_symbol *sym, in
gfc_error (External '%s' at %L cannot have an initializer,
   sym-name, sym-declared_at);
   else if (sym-attr.dummy
-!(sym-ts.type == BT_DERIVED  sym-attr.intent == INTENT_OUT))
+!(sym-ts.type == BT_DERIVED  sym-attr.intent == INTENT_OUT
+ !sym-attr.pointer))
gfc_error (Dummy '%s' at %L cannot have an initializer,
   sym-name, sym-declared_at);
   else if (sym-attr.intrinsic)


-- 


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



[Bug rtl-optimization/44691] [4.6 Regression] ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050

2010-08-19 Thread abel at gcc dot gnu dot org


--- Comment #4 from abel at gcc dot gnu dot org  2010-08-19 10:04 ---
Subject: Bug 44691

Author: abel
Date: Thu Aug 19 10:03:39 2010
New Revision: 163369

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163369
Log:
PR rtl-optimization/44691
* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
is not a register. 

Modified:
trunk/gcc/ChangeLog
trunk/gcc/sel-sched.c


-- 


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



[Bug rtl-optimization/44691] [4.6 Regression] ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050

2010-08-19 Thread abel at gcc dot gnu dot org


--- Comment #5 from abel at gcc dot gnu dot org  2010-08-19 10:04 ---
Fixed by 163369.


-- 

abel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/45338] New: Failure on interfacing a function passed as an argument as a custom operator

2010-08-19 Thread sds50 at cam dot ac dot uk
In the testcase below, compiled with:

gfortran -c test.f90

gfortran suffers an internal compiler error:

internal compiler error: in gfc_gen_symbol_decl, at fortran/trans-decl.c:893

If the commenting on the marked line is removed, then the code compiles fine.

I have tested this case with versions 4.3.2, 4.4.1 and 4.6 (experimental, from
svn trunk last night). It works correctly using ifort, PGI and pathscale
compilers.

---

module test_mod

implicit none

contains

subroutine test_fn (cmp)

interface operator(.myop.)
pure function cmp (a, b) result(ret)
integer, intent(in) :: a, b
logical ret
end function
end interface

integer :: a, b

!print*, cmp(a, b)   ! If this line is commented out, gfortran has an
! internal compiler error
print*, a .myop. b

end subroutine

end module


-- 
   Summary: Failure on interfacing a function passed as an argument
as a custom operator
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sds50 at cam dot ac dot uk


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



[Bug fortran/45339] New: Failure on interfacing a function passed as an argument as a custom operator

2010-08-19 Thread sds50 at cam dot ac dot uk
In the testcase below, compiled with:

gfortran -c test.f90

gfortran suffers an internal compiler error:

internal compiler error: in gfc_gen_symbol_decl, at fortran/trans-decl.c:893

If the commenting on the marked line is removed, then the code compiles fine.

I have tested this case with versions 4.3.2, 4.4.1 and 4.6 (experimental, from
svn trunk last night). It works correctly using ifort, PGI and pathscale
compilers.

---

module test_mod

implicit none

contains

subroutine test_fn (cmp)

interface operator(.myop.)
pure function cmp (a, b) result(ret)
integer, intent(in) :: a, b
logical ret
end function
end interface

integer :: a, b

!print*, cmp(a, b)   ! If this line is commented out, gfortran has an
! internal compiler error
print*, a .myop. b

end subroutine

end module


-- 
   Summary: Failure on interfacing a function passed as an argument
as a custom operator
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sds50 at cam dot ac dot uk


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



[Bug bootstrap/45321] [4.6 regression] ARM bootstrap failure due to stdarg_p change

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


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-19 10:40:03
   date||


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



[Bug fortran/45290] [F08] pointer initialization

2010-08-19 Thread janus at gcc dot gnu dot org


--- Comment #6 from janus at gcc dot gnu dot org  2010-08-19 11:11 ---
There are also still problems with procedure pointers:

module m
implicit none
procedure(f1), pointer :: pp = f1
contains
  integer function f1()
f1 = 42
  end function
end module

use m
implicit none
if (pp()/=42) call abort()
end


This one fails with:

f951: internal compiler error: in build_function_decl, at
fortran/trans-decl.c:1611


-- 


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



[Bug testsuite/38605] Out of stack space on gcc.c-torture/compile/limits-exprparen.c

2010-08-19 Thread raju dot goruganti at gmail dot com


--- Comment #3 from raju dot goruganti at gmail dot com  2010-08-19 11:34 
---
(In reply to comment #1)
 These failures are also appearing on ia64-suse-linux-gnu...
 http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg01952.html

These failure also appearing in case of arm cross tool chain(which uses
gcc4.4.1 and built by using cross-ng set up).But this is only occured when the
host gcc verion is gcc4.1.2 but not for gcc 4.3.2.


-- 


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



[Bug c++/45331] Generate clear diagnostics when a semicolon is missing at the end of a class definition

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


--- Comment #1 from redi at gcc dot gnu dot org  2010-08-19 12:11 ---
Bug 16189 and Bug 36888


-- 


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



[Bug c++/45334] Base class type information not accessible in binaries compiled with g++ 4.5.0

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


--- Comment #2 from redi at gcc dot gnu dot org  2010-08-19 12:13 ---
Probably Bug 44645


-- 


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



[Bug debug/44645] [4.5 Regression] wrong debug info for nested typedef

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


--- Comment #4 from redi at gcc dot gnu dot org  2010-08-19 12:19 ---
*** Bug 45181 has been marked as a duplicate of this bug. ***


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||nikolay at totalviewtech dot
   ||com


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



[Bug debug/45181] No debug information for parameter type

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


--- Comment #6 from redi at gcc dot gnu dot org  2010-08-19 12:19 ---


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


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/44645] [4.5 Regression] wrong debug info for nested typedef

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


--- Comment #5 from redi at gcc dot gnu dot org  2010-08-19 12:22 ---
*** Bug 45334 has been marked as a duplicate of this bug. ***


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||andre dot poenitz at nokia
   ||dot com


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



[Bug c++/45334] Base class type information not accessible in binaries compiled with g++ 4.5.0

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


--- Comment #3 from redi at gcc dot gnu dot org  2010-08-19 12:22 ---
works with 4.4 and 4.6, so I'm marking it as a dup

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


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/44645] [4.5 Regression] missing debug info for pointer types

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


--- Comment #6 from redi at gcc dot gnu dot org  2010-08-19 12:26 ---
(adjusting title to be more general)

testcase from dup Bug 45181

struct S { int f(S*); };

int S::f(S* p)
{
return 0;
}

int main()
{
S s;
return s.f(s);
}

within S::f p has type void*


Tom, CCing you as you've correctly identified this as a GCC 4.5 bug at
http://gcc.gnu.org/ml/libstdc++/2010-06/msg00159.html and
http://sourceware.org/bugzilla/show_bug.cgi?id=11639


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org
  Known to fail|4.5.0   |4.5.0 4.5.1
Summary|[4.5 Regression] wrong debug|[4.5 Regression] missing
   |info for nested typedef |debug info for pointer types


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



[Bug debug/44645] [4.5 Regression] missing debug info for pointer types

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


--- Comment #7 from redi at gcc dot gnu dot org  2010-08-19 12:32 ---
testcase from Bug 45334 reduced to a single file:

struct Base
{
virtual ~Base();
};

Base::~Base() {}

struct Derived : Base
{
virtual ~Derived();
void foo();
};

Derived::~Derived() {}

void Derived::foo()
{
Base *b = this;
Base br = *b;
}

int main()
{
Derived d;
d.foo();
Base *b = d;
}

Within Derived::foo b has type void*

Breakpoint 1, Derived::foo (this=0x7fffe5f0) at bug.cc:18
18  Base *b = this;
(gdb) ptype b
type = void *


-- 


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



[Bug target/45336] pextr{b,w,d}, (worse than) redundant extensions

2010-08-19 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-08-19 13:04 ---
Created an attachment (id=21518)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21518action=view)
gcc46-pr45336.patch

If you are complaining about the 2 gradual sign extensions instead of one sign
extension, then here is an untested fix.


-- 


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



[Bug fortran/45339] Failure on interfacing a function passed as an argument as a custom operator

2010-08-19 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2010-08-19 13:08 ---


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


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/45338] Failure on interfacing a function passed as an argument as a custom operator

2010-08-19 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2010-08-19 13:08 ---
*** Bug 45339 has been marked as a duplicate of this bug. ***


-- 


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



[Bug fortran/45271] [OOP] Polymorphic code breaks when changing order of USE statements

2010-08-19 Thread janus at gcc dot gnu dot org


--- Comment #10 from janus at gcc dot gnu dot org  2010-08-19 13:08 ---
(In reply to comment #9)
 (In reply to comment #4)
  Possible solutions:
  1) Make sure we use the right symbol from the right module.
  2) Do the vtab initialization inside the module that defines the class, i.e.
  add a module procedure like 'vtab$trivial_gradient_type$init' which does it,
  and call this from the main program. Then there is no name ambiguity.
 
 3) Do it in the original module (like in #2), but statically via default
 initialization.

Mine. I'm working on a patch which implements solution #3. It already fixes the
test case, but still has a few regresssions.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-08-13 08:22:22 |2010-08-19 13:08:47
   date||


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



[Bug target/45336] pextr{b,w,d}, (worse than) redundant extensions

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


--- Comment #2 from hjl dot tools at gmail dot com  2010-08-19 13:31 ---
Please hold off any changes. I am talking to icc people
about this. I hope to come up with a solution soon.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

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


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



[Bug target/45336] pextr{b,w,d}, (worse than) redundant extensions

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


--- Comment #3 from hjl dot tools at gmail dot com  2010-08-19 13:34 ---
(In reply to comment #1)
 Created an attachment (id=21518)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21518action=view) [edit]
 gcc46-pr45336.patch
 
 If you are complaining about the 2 gradual sign extensions instead of one sign
 extension, then here is an untested fix.
 

This patch is independent of the issue I am working on.


-- 


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



[Bug rtl-optimization/43494] [4.4/4.5/4.6 Regression] Overlooked dependency causes wrong scheduling, wrong code

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


--- Comment #26 from bernds at gcc dot gnu dot org  2010-08-19 13:38 ---
(In reply to comment #25)
 Alex Oliva posted some patches to make cselib handle autoinc stuff.
 No idea whether http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01038.html
 is the latest version or if he has a newer one.

Doesn't look bad, but I dislike the name change to _addr variants for functions
that look up not just addresses.  I think we should just fix up all the callers
to pass in a mode.  I'm also not sure we need a global cselib_record_autoinc
flag - why not just do that always?

Shouldn't we do something else when hashing PRE_MODIFY?


-- 


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



[Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed

2010-08-19 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-08-19 13:56 ---
Well, the edge from the block ending with _gfortran_runtime_error_at is an EH
edge, not normal edge.

Not sure what exactly Fortran needs -fexceptions for currently, one reason
could be pthread_cancel, but at least with OpenMP pthread_cancel isn't going to
do very nice things anyway.

The two (28) phi args seem to be because the successor block of the empty EH
block that is being removed in ehcleanup already had another incoming edge from
that block, and ehcleanup doesn't expect that.  Not sure if that is a bug from
before ehcleanup, or if ehcleanup should test for that case and either disallow
the optimization, or resolve it somehow else.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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



[Bug target/45336] pextr{b,w,d}, (worse than) redundant extensions

2010-08-19 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-08-19 14:07 ---
Of course, this is a generic patch that can (and does) trigger in other cases.


-- 


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



[Bug tree-optimization/45340] New: __builtin_expect and -Os generates stupid code

2010-08-19 Thread socketpair at gmail dot com
__builtin_expect  and -Os generates stupid code like jump to next instruction.
I will attach sources and generated asm listing.


-- 
   Summary: __builtin_expect  and -Os generates stupid code
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: socketpair at gmail dot com


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



[Bug fortran/45338] Failure on interfacing a function passed as an argument as a custom operator

2010-08-19 Thread burnus at gcc dot gnu dot org


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||32834
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||rejects-valid
  Known to fail||4.2.1 4.1.2 4.3.4 4.4.0
   ||4.5.0 4.6.0
   Last reconfirmed|-00-00 00:00:00 |2010-08-19 14:11:24
   date||


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



[Bug tree-optimization/45340] __builtin_expect and -Os generates stupid code

2010-08-19 Thread socketpair at gmail dot com


--- Comment #1 from socketpair at gmail dot com  2010-08-19 14:17 ---
Created an attachment (id=21519)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21519action=view)
C souce file

1. gcc-Os --save-temps -fomit-frame-pointer -fno-stack-protector main.c
2. gcc -DCOOL -Os --save-temps -fomit-frame-pointer -fno-stack-protector main.c

compare .s files
You will see this:
-
testl   %eax, %eax
je  .L2
jmp .L7
.L4:
.L7:
cmpl$0, 12(%esp)
-
I think, that jmp .L7 is stupid


-- 


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



[Bug testsuite/45324] gcc.target/i386/volatile-bitfields-1.c doesn't work with i586-linux

2010-08-19 Thread hjl at gcc dot gnu dot org


--- Comment #2 from hjl at gcc dot gnu dot org  2010-08-19 14:18 ---
Subject: Bug 45324

Author: hjl
Date: Thu Aug 19 14:18:18 2010
New Revision: 163372

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163372
Log:
Also scan movb.

2010-08-19  Uros Bizjak  ubiz...@gmail.com

PR testsuite/45324
* gcc.target/i386/volatile-bitfields-1.c: Also scan movb.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/volatile-bitfields-1.c


-- 


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



[Bug testsuite/45324] gcc.target/i386/volatile-bitfields-1.c doesn't work with i586-linux

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


--- Comment #3 from hjl dot tools at gmail dot com  2010-08-19 14:20 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/45341] New: Compiler error matching template function with array reference parameter to anonimous struct array

2010-08-19 Thread dev at sogetthis dot com
// gcc 4.5
// error: no matching function for call to 'func(anonymous struct [5])'
// Adding name to struct fixes the error

templateclass T, int N
void func (T()[N]);

struct
{
int i;
}
arr[5];

void test()
{
func(arr);
}


-- 
   Summary: Compiler error matching template function with array
reference parameter to anonimous struct array
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dev at sogetthis dot com


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



[Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed

2010-08-19 Thread jv244 at cam dot ac dot uk


--- Comment #5 from jv244 at cam dot ac dot uk  2010-08-19 14:24 ---
(In reply to comment #4)

 Not sure what exactly Fortran needs -fexceptions for currently, one reason
 could be pthread_cancel, but at least with OpenMP pthread_cancel isn't going 
 to
 do very nice things anyway.

We have a mixed MPI/OMP parallel Fortran code, -fexceptions is being added
automagically by the openmpi compiler driver (mpif90). This might be to allow
mixed C++/C/Fortran codes to work (but I couldn't quite find docs about this on
the openmpi webpage). 


-- 


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



[Bug tree-optimization/45340] __builtin_expect and -Os generates stupid code

2010-08-19 Thread socketpair at gmail dot com


--- Comment #2 from socketpair at gmail dot com  2010-08-19 14:28 ---
Created an attachment (id=21520)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21520action=view)
with stupid jmp


-- 


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



[Bug tree-optimization/45340] __builtin_expect and -Os generates stupid code

2010-08-19 Thread socketpair at gmail dot com


--- Comment #3 from socketpair at gmail dot com  2010-08-19 14:28 ---
Created an attachment (id=21521)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21521action=view)
without buggy jmp


-- 


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



[Bug testsuite/45324] gcc.target/i386/volatile-bitfields-1.c doesn't work with i586-linux

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


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug testsuite/45342] New: FAIL: gcc.dg/tls/thr-cse-1.c scan-assembler-not emutls_get_address.*emutls_get_address.*

2010-08-19 Thread danglin at gcc dot gnu dot org
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/tls/thr-cse-1.c   -O1 -S  -o thr-cse-1.s
(timeout = 300)
PASS: gcc.dg/tls/thr-cse-1.c (test for excess errors)
FAIL: gcc.dg/tls/thr-cse-1.c scan-assembler-not
emutls_get_address.*emutls_get_a
ddress.*

We have in the .s:
b,l __emutls_get_address,%r2
...
.type   __emutls_get_address, @function


-- 
   Summary: FAIL: gcc.dg/tls/thr-cse-1.c scan-assembler-not
emutls_get_address.*emutls_get_address.*
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa64-hp-hpux11.11
  GCC host triplet: hppa64-hp-hpux11.11
GCC target triplet: hppa64-hp-hpux11.11


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



[Bug c++/45341] Compiler error matching template function with array reference parameter to anonimous struct array

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


--- Comment #1 from redi at gcc dot gnu dot org  2010-08-19 14:52 ---
template parameters must have linkage, but an unnamed type has no linkage


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/45341] Compiler error matching template function with array reference parameter to anonimous struct array

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


--- Comment #2 from redi at gcc dot gnu dot org  2010-08-19 14:53 ---
N.B this has nothing to do with arrays, the following fails for the same
reason:

templateclass T
void func (T);

static struct
{
int i;
}
arr;

void test()
{
func(arr);
}


-- 


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



[Bug c++/45341] Compiler error matching template function with array reference parameter to anonimous struct array

2010-08-19 Thread dev at sogetthis dot com


--- Comment #3 from dev at sogetthis dot com  2010-08-19 15:27 ---
I just found out that it does compile successfully with -std=c++0x flag.

In C++03, unnamed type shall not be used as a template-argument for a template
type-parameter (irrespective of it's linkage). In C++0x this restriction has
been removed.

See 14.3.1 Template type arguments


-- 


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



[Bug middle-end/44716] [4.6 Regression] Bootstrap fails with partial inlining (r161382)

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


--- Comment #15 from rguenth at gcc dot gnu dot org  2010-08-19 15:53 
---
I didn't get a chance to look.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|rguenth at gcc dot gnu dot  |hubicka at gcc dot gnu dot
   |org |org


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



[Bug fortran/45016] Support pointer assignment with bound-spec; wrong bounds for pointer assignment

2010-08-19 Thread domob at gcc dot gnu dot org


--- Comment #4 from domob at gcc dot gnu dot org  2010-08-19 16:02 ---
Subject: Bug 45016

Author: domob
Date: Thu Aug 19 16:02:30 2010
New Revision: 163377

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163377
Log:
2010-08-19  Daniel Kraft  d...@domob.eu

PR fortran/29785
PR fortran/45016
* trans.h (struct gfc_se): New flag `byref_noassign'.
* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
and check for compile-time errors with those.
* trans-decl.c (trans_associate_var): Use new routine
`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
rank remapping for assignment.

2010-08-19  Daniel Kraft  d...@domob.eu

PR fortran/29785
PR fortran/45016
* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
* gfortran.dg/pointer_remapping_1.f90: New test.
* gfortran.dg/pointer_remapping_2.f03: New test.
* gfortran.dg/pointer_remapping_3.f08: New test.
* gfortran.dg/pointer_remapping_4.f03: New test.
* gfortran.dg/pointer_remapping_5.f08: New test.
* gfortran.dg/pointer_remapping_6.f08: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_1.f90
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_2.f03
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_3.f08
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_4.f03
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_5.f08
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_6.f08
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/pointer_assign_5.f90


-- 


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



[Bug fortran/29785] Fortran 2003: POINTER Rank Remapping

2010-08-19 Thread domob at gcc dot gnu dot org


--- Comment #10 from domob at gcc dot gnu dot org  2010-08-19 16:02 ---
Subject: Bug 29785

Author: domob
Date: Thu Aug 19 16:02:30 2010
New Revision: 163377

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163377
Log:
2010-08-19  Daniel Kraft  d...@domob.eu

PR fortran/29785
PR fortran/45016
* trans.h (struct gfc_se): New flag `byref_noassign'.
* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
and check for compile-time errors with those.
* trans-decl.c (trans_associate_var): Use new routine
`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
rank remapping for assignment.

2010-08-19  Daniel Kraft  d...@domob.eu

PR fortran/29785
PR fortran/45016
* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
* gfortran.dg/pointer_remapping_1.f90: New test.
* gfortran.dg/pointer_remapping_2.f03: New test.
* gfortran.dg/pointer_remapping_3.f08: New test.
* gfortran.dg/pointer_remapping_4.f03: New test.
* gfortran.dg/pointer_remapping_5.f08: New test.
* gfortran.dg/pointer_remapping_6.f08: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_1.f90
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_2.f03
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_3.f08
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_4.f03
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_5.f08
trunk/gcc/testsuite/gfortran.dg/pointer_remapping_6.f08
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/pointer_assign_5.f90


-- 


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



[Bug fortran/29785] Fortran 2003: POINTER Rank Remapping

2010-08-19 Thread domob at gcc dot gnu dot org


--- Comment #11 from domob at gcc dot gnu dot org  2010-08-19 16:06 ---
Fixed (with an extended version of the patch attached above).


-- 

domob at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/45016] Support pointer assignment with bound-spec; wrong bounds for pointer assignment

2010-08-19 Thread domob at gcc dot gnu dot org


--- Comment #5 from domob at gcc dot gnu dot org  2010-08-19 16:07 ---
Fixed the lower bounds remapping, and the F95 issue claimed was already
working.  Thus closing.


-- 

domob at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug lto/45343] New: LTO doesn't work with Boost on MinGW

2010-08-19 Thread gordon dot magnusson at gmail dot com
This is with Boost 1.44.0.

C:\buggcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/i686-pc-mingw32/4.5.1/lto-wrapper.exe
Target: i686-pc-mingw32
Configured with: ../src/configure --prefix=/c/temp/gcc/dest
--enable-languages=c,c++ --with-arch=i686 --with-tune=generic
--disable-libstdcxx-pch --disable-nls --disable-shared
--disable-sjlj-exceptions --disable-win32-registry --enable-checking=release
--enable-lto
Thread model: win32
gcc version 4.5.1 (GCC)

C:\bugtype foo.cpp
#include string
#include boost/format.hpp
using namespace std;
using namespace boost;

string foo(int n) {
return str(format(foo(%1%)) % n);
}

C:\bugtype bar.cpp
#include iostream
#include ostream
#include string
#include boost/format.hpp
using namespace std;
using namespace boost;

string foo(int n);

string bar(int n) {
return str(format(bar(%1%)) % n);
}

int main() {
cout  foo(1)  endl;
cout  bar(2)  endl;
}

C:\bugg++ -Wall -Wextra -E foo.cpp -o foo.ii

C:\bugg++ -Wall -Wextra -E bar.cpp -o bar.ii

C:\bugg++ -Wall -Wextra foo.ii bar.ii -o baz.exe

C:\bugbaz
foo(1)
bar(2)

C:\bugg++ -Wall -Wextra -flto foo.ii bar.ii -o baz.exe
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
error:
'_ZThn32_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_2io13too_many_argsD1Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:305:13:
error:
'_ZThn12_N5boost16exception_detail19error_info_injectorINS_2io17bad_format_stringEED0Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:305:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
error:
'_ZThn12_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_2io12too_few_argsD0Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:305:13:
error:
'_ZThn12_N5boost16exception_detail19error_info_injectorINS_2io13too_many_argsEED1Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:305:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:411:13:
error:
'_ZThn32_NK5boost16exception_detail10clone_implINS0_19error_info_injectorINS_2io17bad_format_string5cloneEv'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:411:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/format/alt_sstream.hpp:123:9:
error:
'_ZTv0_n12_N5boost2io22basic_oaltstringstreamIcSt11char_traitsIcESaIcEED1Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/format/alt_sstream.hpp:123:9:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
error:
'_ZThn12_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_2io13too_many_argsD1Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:411:13:
error:
'_ZThn32_NK5boost16exception_detail10clone_implINS0_19error_info_injectorINS_2io12too_few_args5cloneEv'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:411:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:305:13:
error:
'_ZThn12_N5boost16exception_detail19error_info_injectorINS_2io13too_many_argsEED0Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:305:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
error:
'_ZThn32_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_2io17bad_format_stringD1Ev'
has already been defined
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
note: previously defined here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.1/../../../../include/boost/exception/exception.hpp:404:13:
error:

[Bug lto/45343] LTO doesn't work with Boost on MinGW

2010-08-19 Thread gordon dot magnusson at gmail dot com


--- Comment #1 from gordon dot magnusson at gmail dot com  2010-08-19 17:00 
---
Created an attachment (id=21522)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21522action=view)
Compressed preprocessed foo.cpp


-- 


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



[Bug middle-end/45307] Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated

2010-08-19 Thread jason at gcc dot gnu dot org


--- Comment #13 from jason at gcc dot gnu dot org  2010-08-19 17:01 ---
Subject: Bug 45307

Author: jason
Date: Thu Aug 19 17:00:51 2010
New Revision: 163380

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163380
Log:
PR c++/45307
* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
if ctor is empty.
(gimplify_modify_expr_rhs): Adjust.

Added:
trunk/gcc/testsuite/g++.dg/tree-ssa/empty-2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-gimplify.c
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/45315] [4.4/4.5/4.6 Regression] ICE: tree check: expected aggr_init_expr, have call_expr in build_value_init, at cp/init.c:317

2010-08-19 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2010-08-19 17:01 ---
Subject: Bug 45315

Author: jason
Date: Thu Aug 19 17:01:01 2010
New Revision: 163381

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163381
Log:
PR c++/45315
* init.c (build_new_1): Don't use build_value_init in a template.
(build_value_init): Make sure we don't.

Added:
trunk/gcc/testsuite/g++.dg/init/value8.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/init.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug lto/45343] LTO doesn't work with Boost on MinGW

2010-08-19 Thread gordon dot magnusson at gmail dot com


--- Comment #2 from gordon dot magnusson at gmail dot com  2010-08-19 17:01 
---
Created an attachment (id=21523)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21523action=view)
Compressed preprocessed bar.cpp


-- 


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



[Bug tree-optimization/42172] inefficient bit fields assignments

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


--- Comment #5 from bernds at gcc dot gnu dot org  2010-08-19 17:32 ---
Subject: Bug 42172

Author: bernds
Date: Thu Aug 19 17:31:57 2010
New Revision: 163383

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163383
Log:
PR target/42172
* combine.c (combine_validate_cost): New arg I0.  All callers changed.
Take its cost into account if nonnull.
(insn_a_feeds_b): New static function.
(combine_instructions): Look for four-insn combinations.
(can_combine_p): New args PRED2, SUCC2.  All callers changed.  Take
them into account when computing all_adjacent and looking for other
uses.
(combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC.  All callers
changed.  Treat them like I1DEST and I1_NOT_IN_SRC.
(try_combine): New arg I0.  Handle four-insn combinations.
(distribute_notes): New arg ELIM_I0.  All callers changed.  Treat it
like ELIM_I1.

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


-- 


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



[Bug target/45336] pextr{b,w,d}, (worse than) redundant extensions

2010-08-19 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2010-08-19 17:44 ---
Subject: Bug 45336

Author: jakub
Date: Thu Aug 19 17:43:50 2010
New Revision: 163384

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163384
Log:
PR target/45336
* simplify-rtx.c (simplify_unary_operation_1): Optimize nested
SIGN_EXTENDs or ZERO_EXTENDs.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/simplify-rtx.c


-- 


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



[Bug fortran/45344] New: [4.5 Regression] Many Fortran test failures

2010-08-19 Thread hjl dot tools at gmail dot com
On Linux/x86, gcc 4.5 revision 163296 gave:

FAIL: gfortran.dg/gomp/appendix-a/a.35.4.f90  -O   (test for warnings, line 11)
FAIL: gfortran.dg/gomp/appendix-a/a.35.4.f90  -O  (test for excess errors)
FAIL: gfortran.dg/gomp/appendix-a/a.35.6.f90  -O   (test for warnings, line 9)
FAIL: gfortran.dg/gomp/appendix-a/a.35.6.f90  -O  (test for excess errors)
FAIL: libgomp.fortran/vla4.f90  -O0   (test for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -O0  (test for excess errors)
FAIL: libgomp.fortran/vla4.f90  -O1   (test for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -O1  (test for excess errors)
FAIL: libgomp.fortran/vla4.f90  -O2   (test for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -O2  (test for excess errors)
FAIL: libgomp.fortran/vla4.f90  -O3 -fomit-frame-pointer   (test for warnings,
line 97)
FAIL: libgomp.fortran/vla4.f90  -O3 -fomit-frame-pointer  (test for excess
errors)
FAIL: libgomp.fortran/vla4.f90  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions   (test for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  (test for excess errors)
FAIL: libgomp.fortran/vla4.f90  -O3 -fomit-frame-pointer -funroll-loops   (test
for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -O3 -fomit-frame-pointer -funroll-loops  (test
for excess errors)
FAIL: libgomp.fortran/vla4.f90  -O3 -g   (test for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -O3 -g  (test for excess errors)
FAIL: libgomp.fortran/vla4.f90  -Os   (test for warnings, line 97)
FAIL: libgomp.fortran/vla4.f90  -Os  (test for excess errors)
FAIL: libgomp.fortran/vla5.f90  -O0   (test for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -O0  (test for excess errors)
FAIL: libgomp.fortran/vla5.f90  -O1   (test for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -O1  (test for excess errors)
FAIL: libgomp.fortran/vla5.f90  -O2   (test for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -O2  (test for excess errors)
FAIL: libgomp.fortran/vla5.f90  -O3 -fomit-frame-pointer   (test for warnings,
line 69)
FAIL: libgomp.fortran/vla5.f90  -O3 -fomit-frame-pointer  (test for excess
errors)
FAIL: libgomp.fortran/vla5.f90  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions   (test for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  (test for excess errors)
FAIL: libgomp.fortran/vla5.f90  -O3 -fomit-frame-pointer -funroll-loops   (test
for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -O3 -fomit-frame-pointer -funroll-loops  (test
for excess errors)
FAIL: libgomp.fortran/vla5.f90  -O3 -g   (test for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -O3 -g  (test for excess errors)
FAIL: libgomp.fortran/vla5.f90  -Os   (test for warnings, line 69)
FAIL: libgomp.fortran/vla5.f90  -Os  (test for excess errors)

Revision 163291 is OK.


-- 
   Summary: [4.5 Regression] Many Fortran test failures
   Product: gcc
   Version: 4.5.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug fortran/45344] [4.5 Regression] Many Fortran test failures

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


--- Comment #1 from hjl dot tools at gmail dot com  2010-08-19 18:20 ---
It is caused by revision 163293

http://gcc.gnu.org/ml/gcc-cvs/2010-08/msg00504.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||jakub at redhat dot com


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



[Bug bootstrap/45345] New: In function `mips16_build_function_stub' undefined reference to `ASM_OUTPUT_DEF'

2010-08-19 Thread jay dot krell at cornell dot edu
I've reproduced this native and cross.

/home/jay/src/gcc-4.5.1/configure -disable-nls -disable-bootstrap
-prefix=/home/jay/gcc451


: In function `mips16_build_function_stub':
: undefined reference to `ASM_OUTPUT_DEF'
collect2: ld returned 1 exit status
gmake[2]: *** [cc1-dummy] Error 1
gmake[2]: Leaving directory `/home/jay/obj/gcc451/gcc'
gmake[1]: *** [all-gcc] Error 2
gmake[1]: Leaving directory `/home/jay/obj/gcc451'
gmake: *** [all] Error 2

$ pwd
/home/jay/obj/gcc451

$ uname -a
OpenBSD mobsd.my.domain 4.7 GENERIC#2 loongson


-- 
   Summary: In function `mips16_build_function_stub' undefined
reference to `ASM_OUTPUT_DEF'
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu
GCC target triplet: mips64el-unknown-openbsd4.7


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



[Bug fortran/45344] [4.5 Regression] Many Fortran test failures

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


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.5.3


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



[Bug plugins/45346] New: hard-reg-set.h needs to be in the plugin include directory

2010-08-19 Thread sje at cup dot hp dot com
I am trying to build a plugin that uses cgraph.h, which is in the plugin
directory.  But cgraph.h needs function.h and function.h needs hard-reg-set.h.

hard-reg-set.h is not in the plugin include directory.

The test case is to build a plugin where the plugin uses the header file
cgraph.h
or function.h.

I believe this started failing at r159776 when Paul Brook added the include of
hard-reg-set.h into function.h


-- 
   Summary: hard-reg-set.h needs to be in the plugin include
directory
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: plugins
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sje at cup dot hp dot com


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



[Bug fortran/45344] [4.5 Regression] Many Fortran test failures

2010-08-19 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-19 18:24:48
   date||
   Target Milestone|4.5.3   |4.5.2


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



[Bug target/45250] [4.6 Regression] FAIL: tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc

2010-08-19 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2010-08-19 18:26 ---
Introduced by following change:

2010-07-22  Martin Jambor  mjam...@suse.cz

PR tree-optimization/44891
* tree-sra.c: Include gimple-pretty-print.h.
(replace_uses_with_default_def_ssa_name): Renamed to
get_repl_default_def_ssa_name, return the new SSA name instead of
replacing the old one.
(sra_modify_assign): Dump a message when removing a load, if the LHS
is an SSA_NAME, do not do any propagation, just set the RHS to a
default definition SSA NAME, type convert if necessary.
* Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mjambor at suse dot cz


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



[Bug target/45250] [4.6 Regression] FAIL: tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc

2010-08-19 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2010-08-19 18:33 ---
(In reply to comment #1)
 Introduced by following change:
 2010-07-22  Martin Jambor  mjam...@suse.cz
 PR tree-optimization/44891
 * tree-sra.c: Include gimple-pretty-print.h.
 (replace_uses_with_default_def_ssa_name): Renamed to
 get_repl_default_def_ssa_name, return the new SSA name instead of
 replacing the old one.
 (sra_modify_assign): Dump a message when removing a load, if the LHS
 is an SSA_NAME, do not do any propagation, just set the RHS to a
 default definition SSA NAME, type convert if necessary.
 * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.

Sorry Martin, I must be blind...
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg01959.html


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|mjambor at suse dot cz  |


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



[Bug bootstrap/45345] In function `mips16_build_function_stub' undefined reference to `ASM_OUTPUT_DEF'

2010-08-19 Thread jay dot krell at cornell dot edu


--- Comment #1 from jay dot krell at cornell dot edu  2010-08-19 18:37 
---
Probably missing stuff in config.gcc, tm_file, like elfos.h and/or mips/elf.h.


-- 


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



[Bug plugins/45346] hard-reg-set.h needs to be in the plugin include directory

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


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-08-19 18:48 ---
Patch to add it is pre-approved.


-- 


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



[Bug lto/45343] LTO doesn't work with Boost on MinGW

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


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-19 18:59 ---
Can you try with a recent snapshot for GCC 4.6?


-- 


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



[Bug libstdc++/45347] New: concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing init

2010-08-19 Thread jay dot krell at cornell dot edu
Just a warning, not an error.


/home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:
In constructor '__gnu_cxx::__cond::__cond()':
/home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29:
warning: missing initializer for member '__pthread_cond_t::__block'



bash-4.1$ gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/jayk/libexec/gcc/alphaev67-dec-osf5.1/4.5.0/lto-wrapper
Target: alphaev67-dec-osf5.1
Configured with: /home/jayk/src/gcc-4.5.0/configure -disable-nls
-prefix=/home/jayk
Thread model: posix
gcc version 4.5.0 (GCC) 

bash-4.1$ uname -a
OSF1 hostname V5.1 732 alpha alpha Tru64


-- 
   Summary: concurrence.h: In constructor
'__gnu_cxx::__cond::__cond()':
/home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-
v3/include/ext/concurrence.h:276:29: warning: missing
initializer for member '__pthread_cond_t::__bloc
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu


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



[Bug target/45336] pextr{b,w,d}, (worse than) redundant extensions

2010-08-19 Thread tbptbp at gmail dot com


--- Comment #6 from tbptbp at gmail dot com  2010-08-19 19:21 ---
Subject: Re:  pextr{b,w,d}, (worse than) redundant extensions

Thank you very much for this neat patch, Jakub.
Alas, in this case, zero extension would be suboptimal and any sign
extension simply wrong: i ask for a 64bit something, pextr{b,w,d}
already zero extends.

What i have trouble understanding is why there is so much inertia
fixing builtins (to match hardware and return, say, an unsigned
byte/short/int) when nobody's supposed to use those builtins but GCC
itself. I bet you could then still have those corresponding intrinsics
sign extend, even if no one's actually doing that, not even ICC.


-- 


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



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

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


--- Comment #4 from hjl dot tools at gmail dot com  2010-08-19 19:38 ---
It is caused by revision 162918:

http://gcc.gnu.org/ml/gcc-cvs/2010-08/msg00129.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

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


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



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

2010-08-19 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2010-08-19 19:48 ---
(In reply to comment #3)
 Well, I think we should back out support for that option.  The set of
 nonsensical options doesn't include sse - but all options are included
 in the set of broken options.  At least I expect that you can create a
 testcase with such ICEs for every one.

Not every one, just those that expand the set of valid backend modes.
Thus sse3 will not cause additional ice's, assuming sse2 is in
effect globally.

That's not to say this feature isn't fraught with peril.  I think it
should be improved though, not removed.


-- 


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



[Bug plugins/45346] hard-reg-set.h needs to be in the plugin include directory

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


--- Comment #2 from steven at gcc dot gnu dot org  2010-08-19 20:24 ---
Gross.


-- 


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



[Bug plugins/45346] hard-reg-set.h needs to be in the plugin include directory

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


--- Comment #3 from steven at gcc dot gnu dot org  2010-08-19 20:28 ---
The proper fix for this is not to just go back to the include everything
everywhere. The proper fix is instead to move struct rtl_data out of
function.h (as I have said before) and into e.g. emit-rtl.h.


-- 


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



[Bug fortran/45108] Namelist read: Not aborted when reading from STDIN

2010-08-19 Thread jvdelisle at gcc dot gnu dot org


--- Comment #8 from jvdelisle at gcc dot gnu dot org  2010-08-19 20:28 
---
Subject: Bug 45108

Author: jvdelisle
Date: Thu Aug 19 20:28:09 2010
New Revision: 163387

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163387
Log:
2010-08-19  Jerry DeLisle  jvdeli...@gcc.gnu.org

PR libfortran/45108
* io/list_read.c (namelist_read): If namelist reading fails, use
generate_error and then continue the read loop.

Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/list_read.c


-- 


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



[Bug fortran/45108] Namelist read: Not aborted when reading from STDIN

2010-08-19 Thread jvdelisle at gcc dot gnu dot org


--- Comment #9 from jvdelisle at gcc dot gnu dot org  2010-08-19 20:32 
---
Closing


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug plugins/45348] New: cp/cp-tree.h in plugin header does not work.

2010-08-19 Thread sje at cup dot hp dot com
If you include the header file cp/cp-tree.h in a plugin it will not compile
because cp/cp-tree.h includes c-family/c-common.h which cannot be found.
c-common.h is in the plugin directory but not under the c-family directory.

It looks like the makefile tries to flatten the directory structure when
putting headers in the plugin directory which is why c-common.h is in
plugin/include and
not plugin/include/c-family.  I don't know if cp/cp-tree.h should be changed or
if the Makefile should be changed.

Test case ia a plugin that includes cp/cp-tree.h.


-- 
   Summary: cp/cp-tree.h in plugin header does not work.
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: plugins
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sje at cup dot hp dot com


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



[Bug fortran/45143] [F2008,corrig1] Endless loop with unlimited edit descriptor

2010-08-19 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2010-08-19 20:54 ---
Do you want to backport it to 4.5? Or can the PR be closed?


-- 


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



[Bug c++/45349] New: template function specializations are not recognized when the template is implemented in a header, and optimization is on.

2010-08-19 Thread tyler dot packer at landesk dot com
Define a prototype for a template function in a class definition and include
the default implementation in the header.
In a separate cpp file, create a specialization of the template function.

When the function is called that matches the specialization, normally the
specialized function is called, unless the g++ optimizations (-On ) are
turned on.  Then the specialization is out of scope, and the default template
implementation is called:

compile the attached code as follows:

g++ special.cpp smain.cpp

then run the result:

./a.out 

# Specialized! 
# Template function!

Now do the same with optimization:

g++ -O3 special.cpp smain.cpp

and run again:

./a.out 

# Specialized! 
# Template function!

With optimization on, the specialization is not called.
NOTE: This does NOT occur if the class declaration is in the source modue
(.cpp), only when it's included from an external header (.h).


-- 
   Summary: template function specializations are not recognized
when the template is implemented in a header, and
optimization is on.
   Product: gcc
   Version: 4.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tyler dot packer at landesk dot com
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug c++/45349] template function specializations are not recognized when the template is implemented in a header, and optimization is on.

2010-08-19 Thread tyler dot packer at landesk dot com


--- Comment #1 from tyler dot packer at landesk dot com  2010-08-19 21:36 
---
Created an attachment (id=21524)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21524action=view)
tar.gz of source and temporaries

source tarball


-- 


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



[Bug c++/45349] template function specializations are not recognized when the template is implemented in a header, and optimization is on.

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-08-19 21:38 ---
This is invalid code IIRC and does not requires a diagnostic.


-- 


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



[Bug c++/45349] template function specializations are not recognized when the template is implemented in a header, and optimization is on.

2010-08-19 Thread tyler dot packer at landesk dot com


--- Comment #3 from tyler dot packer at landesk dot com  2010-08-19 21:40 
---
Also included in the attachment is s2.cpp wich is an duplicate example of the
specialization in a single module.  This sample when compiled does NOT exhibit
the same problem as when the class declaration (and template function) occurs
in a header.


-- 


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



[Bug c++/45349] template function specializations are not recognized when the template is implemented in a header, and optimization is on.

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2010-08-19 21:41 ---
specialization is required to be done visible in the translation unit when the
use is used IIRC.


-- 


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



[Bug c++/45349] template function specializations are not recognized when the template is implemented in a header, and optimization is on.

2010-08-19 Thread tyler dot packer at landesk dot com


--- Comment #5 from tyler dot packer at landesk dot com  2010-08-19 21:46 
---
(In reply to comment #4)
 specialization is required to be done visible in the translation unit when the
 use is used IIRC.
 

Makes sense, however I would assume it would work the same way when optimized
(-O3).  Is that not correct?


-- 


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



[Bug c++/45349] template function specializations are not recognized when the template is implemented in a header, and optimization is on.

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


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-08-19 21:53 ---
No, it's not.  Your testcase violates the ODR and inlining makes that visible.


-- 


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



  1   2   >