[Bug fortran/20248] gfortran: intrinsics and std=f95, inconsistency with other compilers

2006-05-04 Thread anlauf at gmx dot de


--- Comment #10 from anlauf at gmx dot de  2006-05-04 07:22 ---
(In reply to comment #9)
> Fixed by the additional of -fall-intrinsics option.

Steve,

the -fall-intrinsics option does not work when
in addition -Wall is specified.

The original code the leads to:

 In file iargc.f90:4

print *, iargc ()
   1
Error: Intrinsic 'iargc' at (1) is not included in the selected standard


-- 

anlauf at gmx dot de changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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



[Bug tree-optimization/26447] [4.2 Regression] verify_flow_info failed, load PRE with java program

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #21 from rguenth at gcc dot gnu dot org  2006-05-04 07:45 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/26447] [4.2 Regression] verify_flow_info failed, load PRE with java program

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #22 from rguenth at gcc dot gnu dot org  2006-05-04 07:45 
---
Subject: Bug 26447

Author: rguenth
Date: Thu May  4 07:44:37 2006
New Revision: 113517

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113517
Log:
2006-05-04  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/26447
* tree-ssa-pre.c (realify_fake_stores): For necessary loads
produce SSA_NAME copies before the store stmt to avoid
breaking exception handling.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug middle-end/27388] omp_is_private issues

2006-05-04 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2006-05-04 09:34 ---
Fixed in SVN.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/27359] ICE with missing initialization of iteration variable in parallel for loop

2006-05-04 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2006-05-04 09:35 ---
Fixed in SVN.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/27392] [4.2 Regression] GCC error: in n_of_executions_at_least, at tree-ssa-loop-niter.c:1772

2006-05-04 Thread P dot Schaffnit at access dot rwth-aachen dot de


--- Comment #8 from P dot Schaffnit at access dot rwth-aachen dot de  
2006-05-04 09:38 ---

Hi!

My (not reduced) code compiles again!

Sorry for the delay, but compiling the whole does take some time...

Thanks a lot!

Philippe


-- 


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



[Bug libstdc++/27404] Rope iterators are not InputIterators

2006-05-04 Thread paolo at gcc dot gnu dot org


--- Comment #2 from paolo at gcc dot gnu dot org  2006-05-04 09:38 ---
Subject: Bug 27404

Author: paolo
Date: Thu May  4 09:37:56 2006
New Revision: 113519

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113519
Log:
2006-05-04  Douglas Gregor  <[EMAIL PROTECTED]>

PR libstdc++/27404
* include/ext/rope (_Rope_const_iterator<>::operator*() const,
_Rope_iterator<>::operator*() const): Add.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/ext/rope


-- 


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



[Bug middle-end/27415] New: Iteration var in firstprivate or reduction clauses not reported

2006-05-04 Thread jakub at gcc dot gnu dot org
void
foo (void)
{
  int i = 0;
#pragma omp parallel
#pragma omp for firstprivate (i)/* { dg-error "predetermined iteration
var i must not be firstprivate" } */
  for (i = 0; i < 10; i++)
;
}

void
bar (void)
{
  int i = 0;
#pragma omp parallel for firstprivate (i)   /* { dg-error "predetermined
iteration var i must not be firstprivate" } */
  for (i = 0; i < 10; i++)
;
}

or

void
foo (void)
{
  int i = 0;
#pragma omp parallel
#pragma omp for reduction (+:i) /* { dg-error "predetermined iteration var i
must not be reduction" } */
  for (i = 0; i < 10; i++)
;
}

void
bar (void)
{
  int i = 0;
#pragma omp parallel for reduction (*:i)/* { dg-error "predetermined
iteration var i must not be reduction" } */
  for (i = 0; i < 10; i++)
;
}

are compiled without any errors, but 2.8.1.1 says that the omp for / omp
parallel for loop iteration variable may be only listed in private or
lastprivate clause.


-- 
   Summary: Iteration var in firstprivate or reduction clauses not
reported
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: openmp
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug libstdc++/27404] Rope iterators are not InputIterators

2006-05-04 Thread pcarlini at suse dot de


--- Comment #3 from pcarlini at suse dot de  2006-05-04 09:40 ---
Fixed.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

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


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



[Bug fortran/27411] crashes in sra_walk_expr and emit_move_insn

2006-05-04 Thread paul dot thomas at jet dot uk


--- Comment #2 from paul dot thomas at jet dot uk  2006-05-04 09:50 ---
(In reply to comment #1)
> Confirmed, this is a front-end issue.
> we have:
> struct calc_signal_type D.904;
> D.904 = (*(struct calc_signal_type[0:] *)
> outputs->data)[outputs->dim[0].stride * NON_LVALUE_EXPR ];
> (*D.896)[(NON_LVALUE_EXPR  + D.900) * D.903 + D.897].used =
> (*used.0)[D.904 * D.902 + D.895];
> but really D.904 should be an integer and there should be a COMPONET_REF to
> "signal_number" there.
> The parse tree is ok though:
>   ASSIGN activate_gd_calcs:outputs(FULL) % used
> activate_gd_calcs:used(activate_gd_calcs:outputs(FULL) % signal_number)
> So this is a bug in the trans* functions.

I am seeing this problem of incorrect casting in several failing testcases for
the allocatable component patch that Erik and I are working on.  None of them
generate the ICE and this has made the problem very hard to pinpoint.  For
example, several of the varying string testsuite crash because trans-io is
being fed characters, when an integer is expected, or a string comparison is
producing a pointer to one of the strings, instead of a logical.  This case
helps a lot.

Thanks, Richard.

Paul


-- 


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



[Bug middle-end/27416] New: ICE on invalid firstprivate/lastprivate

2006-05-04 Thread jakub at gcc dot gnu dot org
void
foo (void)
{
  int i = 0, j = 0;
#pragma omp for firstprivate (j)/* { dg-error "j is private in outer
context" } */
  for (i = 0; i < 10; i++)
j++;
}

int
bar (void)
{
  int i, j;
#pragma omp for lastprivate (j) /* { dg-error "j is private in outer
context" } */
  for (i = 0; i < 10; i++)
j = i;
  return j;
}

ICEs in build_outer_var_ref, but should instead report diagnostics
(violates the 2.8.3.{4,5} restrictions (the non-language specific one)).
I think we need to handle the case where in build_outer_var_ref we are not
parallel context, decl is not global var and there is no outer context, because
e.g.
  integer :: j
  j = 6
!$omp parallel num_threads (4)
  call foo (j)
!$omp end parallel
  if (j.ne.6+16) call abort
end

subroutine foo (j)
  integer :: i, j

!$omp do firstprivate (j) lastprivate (j)
  do i = 1, 16
if (i.eq.16) j = j + i
  end do
end subroutine foo

is IMHO a valid testcase (2.8.1.2 says that the dummy arguments inherit
data-sharing attributes of the associated actual argument and in this testcase
the actual argument is shared).
So, gimplify.c should check if it knows something about the variable in the
outer
contexts (if any) if it is not a global var and if we can prove it is say
GOVD_LOCAL or for some other reason we know the variable is really private,
we should issue error, if we can't prove it (as e.g. in the case of Fortran
dummy args (be it REFERENCE_TYPE or dereferences of a pointer var for optional
arguments), just let build_outer_var_ref access the outer variable and trust
the user that the var is shared, not private.


-- 
   Summary: ICE on invalid firstprivate/lastprivate
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: openmp
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug target/26481] ICE with -mcpu=power and struct passing

2006-05-04 Thread ebotcazou at gcc dot gnu dot org


--- Comment #11 from ebotcazou at gcc dot gnu dot org  2006-05-04 10:22 
---
David, do you plan on proceeding with your suggestion of disabling the "power"
multilib for 4.1.1?  The compiler still cannot be bootstrapped on AIX 5.1.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug other/27417] New: wrong code or aliasing violation with missed diagnostic?

2006-05-04 Thread pluto at agmk dot net
inline float quickBinaryToFloat( unsigned const& in )
{
return reinterpret_cast< float const& >( in ) ;
}

float foo( unsigned x )
{
unsigned y = ( x * 2 ) + 1;
return quickBinaryToFloat( y );
}


[ wrong-code generated ]

$ i486-gnu-linux-g++ bin2float.cpp -Wall -O2 -c -fomit-frame-pointer -m32

 :
   0:   83 ec 10sub$0x10,%esp
   3:   d9 44 24 0c flds   0xc(%esp)
   7:   83 c4 10add$0x10,%esp
   a:   c3  ret

[ correct code generated ]

$ i486-gnu-linux-g++ bin2float.cpp -Wall -O2 -c -fomit-frame-pointer -m32 \
   -fno-strict-aliasing

 :
   0:   83 ec 10sub$0x10,%esp
   3:   8b 44 24 14 mov0x14(%esp),%eax
   7:   8d 44 00 01 lea0x1(%eax,%eax,1),%eax
   b:   89 44 24 0c mov%eax,0xc(%esp)
   f:   d9 44 24 0c flds   0xc(%esp)
  13:   83 c4 10add$0x10,%esp
  16:   c3  ret


-- 
   Summary: wrong code or aliasing violation with missed diagnostic?
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
 GCC build triplet: i486-linux
  GCC host triplet: i486-linux
GCC target triplet: i486-linux


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



[Bug tree-optimization/27392] [4.2 Regression] GCC error: in n_of_executions_at_least, at tree-ssa-loop-niter.c:1772

2006-05-04 Thread rakdver at gcc dot gnu dot org


--- Comment #9 from rakdver at gcc dot gnu dot org  2006-05-04 10:49 ---
Fixed.


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug other/27417] wrong code or aliasing violation with missed diagnostic?

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-05-04 11:58 ---
This missed diagnostic is known, as enabling a warning here would cause too
much "false" positives.  But yes, you are violating strict-aliasing rules here.


-- 


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



[Bug other/27417] wrong code or aliasing violation with missed diagnostic?

2006-05-04 Thread pluto at agmk dot net


--- Comment #2 from pluto at agmk dot net  2006-05-04 12:08 ---
(In reply to comment #1)
> This missed diagnostic is known, as enabling a warning here would cause too
> much "false" positives.

but what about -Wstrict-aliasing=2?
it doesn't report anything, so how can i check possible
violations with accepted false-positive level?


-- 

pluto at agmk dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug driver/27419] New: '-static' for 'gcc libraries' only?

2006-05-04 Thread P dot Schaffnit at access dot rwth-aachen dot de
Hi!

I would be interested in having the "gcc libraries" statically linked to my
binary, but still use one shared-object (a commercial library for which no
static version is available), so '-static' is not really an option, as far as I
can tell...

I haven't been able to pull this off, and got an answer from
[EMAIL PROTECTED] that it's actually impossible...

Nevertheless, as far as I can tell most commercial compiler allow this, so it's
probably technically possible, if it's not too much trouble, I think it would
be nice to have...

Thanks!

Philippe

PS: I tried this with
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /USER/philippe/Irix/Gcc_Sources/configure
--prefix=/WORK/philippe/Tools/Gcc --enable-languages=c,fortran
--with-mpfr=/WORK/philippe/Tools/Mpfr --with-gmp=/WORK/philippe/Tools/Gmp
Thread model: posix
gcc version 4.2.0 20060504 (experimental)

PPS: it could be related to Bug#: 7516


-- 
   Summary: '-static' for 'gcc libraries' only?
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: driver
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: P dot Schaffnit at access dot rwth-aachen dot de


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



[Bug middle-end/25962] Pointer (null) check after the use in cgraph.c

2006-05-04 Thread hubicka at gcc dot gnu dot org


--- Comment #5 from hubicka at gcc dot gnu dot org  2006-05-04 12:43 ---
Subject: Bug 25962

Author: hubicka
Date: Thu May  4 12:42:55 2006
New Revision: 113522

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113522
Log:
PR middle-end/25962
* cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.

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


-- 


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



[Bug driver/27419] '-static' for 'gcc libraries' only?

2006-05-04 Thread pluto at agmk dot net


--- Comment #1 from pluto at agmk dot net  2006-05-04 13:15 ---
(In reply to comment #0)
> Hi!
> 
> I would be interested in having the "gcc libraries" statically linked to my
> binary, but still use one shared-object (a commercial library for which no
> static version is available), so '-static' is not really an option, as far as 
> I
> can tell...

e.g. libfoo.so is a commercial shared library.

$ ldd libfoo.so
libc.so.6 => /lib64/libc.so.6 (0x2b388050d000)
/lib64/ld-linux-x86-64.so.2 (0x4000)

$ cat exec.c
extern void foo();
int main()
{
foo();
return 0;
}

$ gcc exec.c -o exec -static-libgcc -Wl,-rpath,. -L. -lfoo

$ ldd exec
libfoo.so => ./libfoo.so (0x2b795f7fc000)
libc.so.6 => /lib64/libc.so.6 (0x2b795f917000)
/lib64/ld-linux-x86-64.so.2 (0x2b795f6e1000)


-- 


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



[Bug driver/7516] Ambiguous driver behaviour with "-shared -static" cmd line options combination

2006-05-04 Thread pluto at agmk dot net


--- Comment #3 from pluto at agmk dot net  2006-05-04 13:21 ---
(In reply to comment #0)

> $ ldd ./libfoo.so
> /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40003000)
> libc.so.6 => /lib/i686/libc.so.6 (0x40015000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2000)
> 
> *** This is not what expected! ***

i'm using a little workaround:

gcc libfoo.c -o libfoo.so -shared -fPIC \
 -nodefaultlibs -Wl,-Bstatic -lc -lgcc -lgcc_eh -lc

$ ldd libfoo.so
statically linked

$ file libfoo.so
libfoo.so: ELF 64-bit LSB shared object, AMD x86-64,
   version 1 (SYSV), not stripped


-- 

pluto at agmk dot net changed:

   What|Removed |Added

 CC||pluto at agmk dot net


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



[Bug driver/27419] '-static' for 'gcc libraries' only?

2006-05-04 Thread P dot Schaffnit at access dot rwth-aachen dot de


--- Comment #2 from P dot Schaffnit at access dot rwth-aachen dot de  
2006-05-04 13:27 ---

Hi!

Thanks a lot!

That's exactly what I was looking for: I don't seem to be able to do the same
with libgfortran, though... have I missed something, or should request that?

Thanks!

Philippe

PS: I don't seem to find any reference to that in the documentation: it would
probably be worth adding...


-- 


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



[Bug target/26481] ICE with -mcpu=power and struct passing

2006-05-04 Thread dje at gcc dot gnu dot org


--- Comment #12 from dje at gcc dot gnu dot org  2006-05-04 13:52 ---
Subject: Bug 26481

Author: dje
Date: Thu May  4 13:52:45 2006
New Revision: 113525

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113525
Log:
PR target/26481
* config/rs6000/rs6000.md (store_multiple_power): Delete.
(stmsi[345678]_power): New.

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


-- 


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



[Bug libgcj/26858] NullPointerException not generated for large classes...

2006-05-04 Thread aph at gcc dot gnu dot org


--- Comment #11 from aph at gcc dot gnu dot org  2006-05-04 13:54 ---
Subject: Bug 26858

Author: aph
Date: Thu May  4 13:54:15 2006
New Revision: 113526

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113526
Log:
2006-05-04  Andrew Haley  <[EMAIL PROTECTED]>

PR java/26858
* testsuite/libjava.lang/PR26858.xfail: Delete.


Removed:
trunk/libjava/testsuite/libjava.lang/PR26858.xfail
Modified:
trunk/libjava/ChangeLog


-- 


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



[Bug target/26481] ICE with -mcpu=power and struct passing

2006-05-04 Thread dje at gcc dot gnu dot org


--- Comment #13 from dje at gcc dot gnu dot org  2006-05-04 13:55 ---
I was waiting for feedback from the original reporter, which never was
supplied.  I have committed the patch on mainline to the 4.1 branch.  I do not
have access to an AIX 5.1 system and without more details, it is difficult for
me to investigate.


-- 


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



[Bug tree-optimization/27090] FRE does not look past previous type casts

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2006-05-04 13:57 
---
Subject: Bug 27090

Author: rguenth
Date: Thu May  4 13:56:52 2006
New Revision: 113527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113527
Log:
2006-05-04  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/14287
PR tree-optimization/14844
PR tree-optimization/19792
PR tree-optimization/21608
PR tree-optimization/27090
* tree-ssa-pre.c (try_combine_conversion): New function.
(compute_avail): After constructing the value-handle
expression, use try_combine_conversion to combine NOP_EXPRs
with previous value-handle expressions and use the result if it
is available.

* gcc.dg/tree-ssa/ssa-fre-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug tree-optimization/19792] Missed optimizations due to signedness in the way

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-05-04 13:57 ---
Subject: Bug 19792

Author: rguenth
Date: Thu May  4 13:56:52 2006
New Revision: 113527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113527
Log:
2006-05-04  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/14287
PR tree-optimization/14844
PR tree-optimization/19792
PR tree-optimization/21608
PR tree-optimization/27090
* tree-ssa-pre.c (try_combine_conversion): New function.
(compute_avail): After constructing the value-handle
expression, use try_combine_conversion to combine NOP_EXPRs
with previous value-handle expressions and use the result if it
is available.

* gcc.dg/tree-ssa/ssa-fre-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug tree-optimization/21608] Repeated casts between bool and int are not optimized

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-05-04 13:57 ---
Subject: Bug 21608

Author: rguenth
Date: Thu May  4 13:56:52 2006
New Revision: 113527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113527
Log:
2006-05-04  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/14287
PR tree-optimization/14844
PR tree-optimization/19792
PR tree-optimization/21608
PR tree-optimization/27090
* tree-ssa-pre.c (try_combine_conversion): New function.
(compute_avail): After constructing the value-handle
expression, use try_combine_conversion to combine NOP_EXPRs
with previous value-handle expressions and use the result if it
is available.

* gcc.dg/tree-ssa/ssa-fre-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug tree-optimization/14844] [tree-ssa] narrow types if wide result is not needed for unsigned types or when wrapping is true

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2006-05-04 13:57 
---
Subject: Bug 14844

Author: rguenth
Date: Thu May  4 13:56:52 2006
New Revision: 113527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113527
Log:
2006-05-04  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/14287
PR tree-optimization/14844
PR tree-optimization/19792
PR tree-optimization/21608
PR tree-optimization/27090
* tree-ssa-pre.c (try_combine_conversion): New function.
(compute_avail): After constructing the value-handle
expression, use try_combine_conversion to combine NOP_EXPRs
with previous value-handle expressions and use the result if it
is available.

* gcc.dg/tree-ssa/ssa-fre-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug tree-optimization/14287] [tree-ssa] does not remove unnecessary extensions

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2006-05-04 13:57 
---
Subject: Bug 14287

Author: rguenth
Date: Thu May  4 13:56:52 2006
New Revision: 113527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113527
Log:
2006-05-04  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/14287
PR tree-optimization/14844
PR tree-optimization/19792
PR tree-optimization/21608
PR tree-optimization/27090
* tree-ssa-pre.c (try_combine_conversion): New function.
(compute_avail): After constructing the value-handle
expression, use try_combine_conversion to combine NOP_EXPRs
with previous value-handle expressions and use the result if it
is available.

* gcc.dg/tree-ssa/ssa-fre-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug other/27417] wrong code or aliasing violation with missed diagnostic?

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-05-04 14:00 ---
You cannot.  Though you can try extending c-common.c:strict_aliasing_warning
and
cp/typeck.c:build_reinterpret_cast_1 to warn in this case.


-- 


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



[Bug tree-optimization/27039] [4.1/4.2 Regression] Unable to determine # of iterations for a simple loop

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2006-05-04 14:21 ---
Wording of 6.5.6/8 and /9 suggests that array objects larger than the maximum
value that fits in ptrdiff_t (which needs to be signed) invoke undefined
behavior,
not last because of "the expression ((Q)+1)-(P) has the same value as
((Q)-(P))+1 and as -((P)-((Q)+1))" and "The size of the result is
implementation-defined,
and its type (a signed integer type) is ptrdiff_t defined in the 
header.  If the result is not representable in an object of that type, the
behavior is undefined."

So for this reason I believe that folding

  PTR +- CST  CMP  PTR +- CST

(with CST being of pointer type, as represented by the middle-end) as

  +- (ptrdiff_t)CST  CMP  +- (ptrdiff_t)CST

is valid.  Now the intel compiler f.i. does _not_ do this.


-- 


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



[Bug c++/27371] [4.1/4.2 Regression] Does not warn about unused function result (__attribute__((warn_unused_result)))

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-05-04 14:47 ---
Confirmed.  The problem is that the C++ frontend emits

 unused_tmp = toLocal8Bit();

for the call.  At least it has DECL_IGNORED set, so maybe I have a patch for
this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-05-04 14:47:45
   date||


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



[Bug tree-optimization/27039] [4.1/4.2 Regression] Unable to determine # of iterations for a simple loop

2006-05-04 Thread rakdver at atrey dot karlin dot mff dot cuni dot cz


--- Comment #9 from rakdver at atrey dot karlin dot mff dot cuni dot cz  
2006-05-04 14:56 ---
Subject: Re:  [4.1/4.2 Regression] Unable to determine # of iterations for a
simple loop

> Wording of 6.5.6/8 and /9 suggests that array objects larger than the maximum
> value that fits in ptrdiff_t (which needs to be signed) invoke undefined
> behavior,
> not last because of "the expression ((Q)+1)-(P) has the same value as
> ((Q)-(P))+1 and as -((P)-((Q)+1))" and "The size of the result is
> implementation-defined,
> and its type (a signed integer type) is ptrdiff_t defined in the 
> header.  If the result is not representable in an object of that type, the
> behavior is undefined."

However, this only concerns difference of pointers.  In particular, the
way semantics of comparison of pointers is defined in 6.5.8/5 does make
no reference to the difference of pointers, and it is well defined even
for objects whose size does not fit into ptrdiff_t.

Gcc actually does not allow arrays whose size does not fit into
ptrdiff_t, so the problem might only appear for malloc-ated objects.
But perhaps it is allowed to actually not support such large objects; I
think we should just submit patch for the transformation as described
below, and let someone with better knowledge of the standards decide
whether this is correct or not.

> So for this reason I believe that folding
> 
>   PTR +- CST  CMP  PTR +- CST
> 
> (with CST being of pointer type, as represented by the middle-end) as
> 
>   +- (ptrdiff_t)CST  CMP  +- (ptrdiff_t)CST
> 
> is valid.  Now the intel compiler f.i. does _not_ do this.


-- 


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



[Bug c/27420] New: ICE on invalid function definition

2006-05-04 Thread reichelt at gcc dot gnu dot org
The C frontend ICEs (since at least GCC 2.95.3) on the following
invalid code snippet:

==
void foo();
void foo(struct A a) {}
==

bug1.c:2: warning: 'struct A' declared inside parameter list
bug1.c:2: warning: its scope is only this definition or declaration, which is
probably not what you want
bug1.c:2: error: parameter 1 ('a') has incomplete type
bug1.c:2: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in self_promoting_args_p, at c-common.c:3556
Please submit a full bug report, [etc.]


-- 
   Summary: ICE on invalid function definition
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug tree-optimization/27090] FRE does not look past previous type casts

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2006-05-04 15:01 
---
Testcase in comment #4 is fixed, for the original testcase the folding
missed-optimization still holds.  But that's for another bug.

Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/19792] Missed optimizations due to signedness in the way

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-05-04 15:04 ---
bar is now fixed.


;; Function foo (foo)

Analyzing Edge Insertions.
foo (t)
{
:
  return size_lookup[(int) t] == size_lookup[t];

}



;; Function bar (bar)

Analyzing Edge Insertions.
bar (t)
{
:
  return 1;

}


-- 


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



[Bug c/27421] New: [4.0/4.1/4.2 regression] ICE with invalid array in struct

2006-05-04 Thread reichelt at gcc dot gnu dot org
The C frontend ICEs on the following invalid code snippet:

==
struct A
{
int i;
void x[1];
};

void foo(struct A a) {}
==

bug.c:4: error: declaration of 'x' as array of voids
bug.c: In function 'foo':
bug.c:7: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in classify_argument, at config/i386/i386.c:2979
Please submit a full bug report, [etc.]

The ICE happens since GCC 3.1 and in GCC 2.95.3.
In GCC 3.0.x we did not ICE.


-- 
   Summary: [4.0/4.1/4.2 regression] ICE with invalid array in
struct
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug tree-optimization/14844] [tree-ssa] narrow types if wide result is not needed for unsigned types or when wrapping is true

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2006-05-04 15:05 
---
We now optimize like outlined in comment #11


-- 


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



[Bug tree-optimization/21608] Repeated casts between bool and int are not optimized

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-05-04 15:07 ---
Fixed.

;; Function bar (bar)

Analyzing Edge Insertions.
bar (f)
{
:
  return (int) f;

}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c++/27422] New: [4.0/4.1/4.2 regression] ICE with invalid function argument

2006-05-04 Thread reichelt at gcc dot gnu dot org
The C++ frontend ICEs on the following invalid code snippet since GCC 3.0:

==
void foo(void i);
void bar() { foo(0); }
==

bug.cc:1: error: 'i' has incomplete type
bug.cc:1: error: invalid use of 'void'
bug.cc: In function 'void bar()':
bug.cc:2: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in convert_arguments, at cp/typeck.c:2749
Please submit a full bug report, [etc.]


-- 
   Summary: [4.0/4.1/4.2 regression] ICE with invalid function
argument
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug tree-optimization/14287] [tree-ssa] does not remove unnecessary extensions

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2006-05-04 15:13 
---
Fixed.

after 034.t.fre:


;; Function foo (foo)

foo (a)
{
  long int c;
  short int b;
  short int D.1528;
  short int D.1527;

:
  D.1527_2 = (short int) a_1;
  b_3 = D.1527_2 & 3;
  c_4 = (long int) b_3;
  D.1528_5 = b_3;
  g = D.1528_5;
  D.1528_8 = b_3;
  h = D.1528_8;
  return;

}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c++/27423] New: Default argument for void parameter accepted

2006-05-04 Thread reichelt at gcc dot gnu dot org
The C++ frontend accepts the following invalid code snippet since at least
GCC 2.95.3:

==
void foo(void = 0);
void bar() { foo(); }
==


-- 
   Summary: Default argument for void parameter accepted
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: accepts-invalid, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/27397] [4.2 regression] ICE on invalid template argument

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-05-04 15:21 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-05-04 15:21:21
   date||


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



[Bug driver/27419] '-static' for 'gcc libraries' only?

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-05-04 15:22 ---
Configure GCC with --disable-shared instead.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug driver/27419] '-static' for 'gcc libraries' only?

2006-05-04 Thread P dot Schaffnit at access dot rwth-aachen dot de


--- Comment #4 from P dot Schaffnit at access dot rwth-aachen dot de  
2006-05-04 15:25 ---

I hadn't thought about that...

Thanks a lot for your help!

Philippe


-- 


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



[Bug libgcj/26861] VirtualMachineError in interperter.

2006-05-04 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2006-05-04 15:25 ---
I'm handling this.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-03-27 18:43:27 |2006-05-04 15:25:28
   date||


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



[Bug c++/27370] [4.0 Regression] Bogus warning about ignoring function return value (__attribute__ ((warn_unused_result)))

2006-05-04 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-05-04 15:25 ---
The problem with 4.0 is that the CALL_EXPR uses the return slot address to
return, but we don't honour that.

Index: c-common.c
===
*** c-common.c  (revision 113528)
--- c-common.c  (working copy)
*** c_warn_unused_result (tree *top_p)
*** 5658,5664 
break;

  case CALL_EXPR:
!   if (TREE_USED (t))
break;

/* This is a naked call, as opposed to a CALL_EXPR nested inside
--- 5658,5665 
break;

  case CALL_EXPR:
!   if (TREE_USED (t)
! || CALL_EXPR_HAS_RETURN_SLOT_ADDR (t))
break;

/* This is a naked call, as opposed to a CALL_EXPR nested inside

though this makes PR27371 also fail for 4.0, as 4.0 shares the same problem
of always emitting the "useless store".


-- 


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



[Bug c++/27424] New: [4.0/4.1/4.2 regression] Valid template-template-parameter rejected

2006-05-04 Thread reichelt at gcc dot gnu dot org
The C++ frontend rejects the following IMHO valid code snippet since GCC 3.4.0:

==
template struct A
{
template class> struct B {};
template struct C;
B b;
};

A a;
==

bug.cc: In instantiation of 'A':
bug.cc:8:   instantiated from here
bug.cc:5: error: type/value mismatch at argument 1 in template parameter list
for 'template template >
class > template template >
class > struct A::B'
bug.cc:5: error:   expected a template of type 'template template > class', got 'template >
struct A::C'

The code compiles if I replace T by int inside A.


-- 
   Summary: [4.0/4.1/4.2 regression] Valid template-template-
parameter rejected
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: rejects-valid, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/27424] [4.0/4.1/4.2 regression] Valid template-template-parameter rejected

2006-05-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c/27421] [4.0/4.1/4.2 regression] ICE with invalid array in struct

2006-05-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/27422] [4.0/4.1/4.2 regression] ICE with invalid function argument

2006-05-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/27425] New: [4.0/4.1/4.2 regression] ICE with invalid template-template-parameter

2006-05-04 Thread reichelt at gcc dot gnu dot org
The C++ frontend ICEs on the following invalid code snippet since GCC 3.4.0:

==
template struct A
{
template class> struct B {};
template struct C;
B b;
};

A<0> a;
==

bugB.cc:3: error: 'void' is not a valid type for a template constant parameter
bugB.cc:4: error: 'void' is not a valid type for a template constant parameter
bugB.cc: In instantiation of 'A<0>':
bugB.cc:8:   instantiated from here
bugB.cc:3: error: 'void' is not a valid type for a template constant parameter
bugB.cc:4: error: 'void' is not a valid type for a template constant parameter
bugB.cc:4: error: 'void' is not a valid type for a template constant parameter
bugB.cc:5: internal compiler error: in coerce_template_parms, at cp/pt.c:4042
Please submit a full bug report, [etc.]

With GCC 3.3.3 - 3.3.6 we got sensible error messages.
Before GCC 3.3.3 the compiler entered an infinite loop.


-- 
   Summary: [4.0/4.1/4.2 regression] ICE with invalid template-
template-parameter
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/27425] [4.0/4.1/4.2 regression] ICE with invalid template-template-parameter

2006-05-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/27426] New: optimization results in wrong argument passing

2006-05-04 Thread puvar at rambler-co dot ru
Expected output on little-endian machines:
DEF05678 

Real output with optimization -O2 (where  -- is trash):
DEF0

Compilation command: g++ -O2 t.c

Program text:

#include 

typedef unsigned char uint08_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;

int main()
{
   uint64_t val = uint64_t(0x123456789ABCDEF0);
   uint08_t h[6];
   *(uint16_t*)h = (val >> 32) & 0x;
   *(uint32_t*)(h + 2) = val & 0x;
   uint32_t res = *((uint32_t *)h);
   printf ("%08X\n", res);
   return 0;
}


-- 
   Summary: optimization results in wrong argument passing
   Product: gcc
   Version: 3.4.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: puvar at rambler-co dot ru


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



[Bug c++/27426] optimization results in wrong argument passing

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-05-04 16:02 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/27427] New: [4.0/4.1/4.2 regression] ICE with invalid template parameter

2006-05-04 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet crashes the C++ frontend sionce GCC 3.4.0:

==
struct A;

template void foo();

A a;

void bar()
{
  foo();
}
==

bug.cc:5: error: aggregate 'A a' has incomplete type and cannot be defined
bug.cc: In function 'void bar()':
bug.cc:9: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in convert_nontype_argument, at cp/pt.c:3583
Please submit a full bug report, [etc.]


-- 
   Summary: [4.0/4.1/4.2 regression] ICE with invalid template
parameter
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c/21920] alias violating

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #95 from pinskia at gcc dot gnu dot org  2006-05-04 16:02 
---
*** Bug 27426 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||puvar at rambler-co dot ru


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



[Bug middle-end/27414] IA64 bootstrap comparison failure, stage 2 -> 3

2006-05-04 Thread sje at cup dot hp dot com


--- Comment #2 from sje at cup dot hp dot com  2006-05-04 16:05 ---
My nightly build based on SVN version 113509 bootstrapped fine.  What
source/SVN version were you building?  I built using a GCC 4.0.2.


-- 

sje at cup dot hp dot com changed:

   What|Removed |Added

 CC||sje at cup dot hp dot com


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



[Bug c++/27427] [4.0/4.1/4.2 regression] ICE with invalid template parameter

2006-05-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug bootstrap/25672] cross build's libgcc picks up CFLAGS

2006-05-04 Thread pluto at agmk dot net


--- Comment #6 from pluto at agmk dot net  2006-05-04 16:15 ---
nobody cares about this bad flags pickup?
(In reply to comment #5)
> hmm, CFLAGS_FOR_TARGET picks up CFLAGS.
> 
> --- gcc-4.1-20060106/Makefile.in.orig   2005-12-15 15:02:02.0 +0100
> +++ gcc-4.1-20060106/Makefile.in2006-01-08 19:27:18.406458250 +0100
> @@ -329,9 +329,9 @@
>  # CFLAGS will be just -g.  We want to ensure that TARGET libraries
>  # (which we know are built with gcc) are built with optimizations so
>  # prepend -O2 when setting CFLAGS_FOR_TARGET.
> -CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
> +CFLAGS_FOR_TARGET = -O2 $(SYSROOT_CFLAGS_FOR_TARGET)
>  SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
> -CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
> +CXXFLAGS_FOR_TARGET = -O2 $(SYSROOT_CFLAGS_FOR_TARGET)
>  LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
>  LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
>  LDFLAGS_FOR_TARGET =
> 

nobody cares?


-- 


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



[Bug middle-end/27414] IA64 bootstrap comparison failure, stage 2 -> 3

2006-05-04 Thread pluto at agmk dot net


--- Comment #3 from pluto at agmk dot net  2006-05-04 16:18 ---
(In reply to comment #0)
> Hi,
> 
> I just pulled from SVN and tried to build for IA64, and it fails with
> 
> Comparing stages 2 and 3
> warning: ./cc1-checksum.o differs
> Bootstrap comparison failure!
> ./varasm.o differs
> ./gcc.o differs
> 

looks similiar to PR20586


-- 


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



[Bug middle-end/27428] New: [4.0/4.1/4.2 regression] ICE with goto in erroneous code

2006-05-04 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet causes a segfault in main_block_label
in tree-cfg.c:

===
void foo()
{
goto L;
if (0..) { L: ; }
}
===

bug.c:4:9: error: too many decimal points in number
bug.c: In function 'foo':
bug.c:5: internal compiler error: Segmentation fault
Please submit a full bug report, [etc.]

We ICE since GCC 4.0.0.


-- 
   Summary: [4.0/4.1/4.2 regression] ICE with goto in erroneous code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug middle-end/27428] [4.0/4.1/4.2 regression] ICE with goto in erroneous code

2006-05-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/27430] New: ICE on array of voids as template parameter

2006-05-04 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet causes an ICE since at least GCC 2.95.3:

=
template struct A;
=

bug.cc:1: error: creating array of void
bug.cc:1: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in process_template_parm, at cp/pt.c:2354
Please submit a full bug report, [etc.]


-- 
   Summary: ICE on array of voids as template parameter
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c/27431] New: Internal error compiling qemu-0.8.0

2006-05-04 Thread pjb at informatimago dot com
Bugzilla says:
Comment Too Long
Comments cannot be longer than 65,535 characters.

See: http://thalassa.informatimago.com/gcc-bug.txt

If you ask for *.i files, why don't you provide a upload button in bugzilla?


-- 
   Summary: Internal error compiling qemu-0.8.0
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pjb at informatimago dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug tree-optimization/27093] [4.2 Regression] verify_ssa failed: definition does not dominate use

2006-05-04 Thread dberlin at gcc dot gnu dot org


--- Comment #6 from dberlin at gcc dot gnu dot org  2006-05-04 16:52 ---
G. These phi nodes are all dead, but it still is verifying them anyway.


-- 


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



[Bug tree-optimization/27093] [4.2 Regression] verify_ssa failed: definition does not dominate use

2006-05-04 Thread dberlin at dberlin dot org


--- Comment #7 from dberlin at gcc dot gnu dot org  2006-05-04 16:57 ---
Subject: Bug 27093

This should fix it.


--- Comment #8 from dberlin at gcc dot gnu dot org  2006-05-04 16:57 ---
Created an attachment (id=11374)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11374&action=view)


-- 


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



[Bug c/27007] Missed optimization of comparison with 'limited range'

2006-05-04 Thread trt at acm dot org


--- Comment #7 from trt at acm dot org  2006-05-04 17:21 ---
For the tree-vrp.c part of this, perhaps VR_VARYING should be deprecated?  I
notice there is a single place (set_value_range_to_varying) which assigns
VR_VARYING but a couple dozen places that check it.  If instead a type-based
VR_RANGE were assigned then all those checks could be omitted.  And I think vrp
would also do a better job.  It looks like this is already being considered:
http://gcc.gnu.org/ml/gcc/2006-03/msg00790.html


-- 


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



[Bug tree-optimization/27331] [4.2 Regression] segfault in fold_convert with -ftree-vectorize -maltivec

2006-05-04 Thread aldot at gcc dot gnu dot org


--- Comment #4 from aldot at gcc dot gnu dot org  2006-05-04 17:23 ---
for reference, the backtrace on i686:

Program received signal SIGSEGV, Segmentation fault.
0x0820096f in fold_convert (type=0x0, arg=0xb71527fc)
at ../../../src/gcc-4.2/gcc/fold-const.c:1991
1991  if (TREE_CODE (arg) == ERROR_MARK
(gdb) bt
#0  0x0820096f in fold_convert (type=0x0, arg=0xb71527fc)
at ../../../src/gcc-4.2/gcc/fold-const.c:1991
#1  0x08452ecb in chrec_convert (type=0x0, chrec=0xb71527fc, 
at_stmt=0xb75a4320) at ../../../src/gcc-4.2/gcc/tree-chrec.c:1187
#2  0x0845bf70 in create_data_ref (memref=0xb75996e8, stmt=0xb75a4320, 
is_read=1 '\001') at ../../../src/gcc-4.2/gcc/tree-data-ref.c:1960
#3  0x08460e70 in find_data_references_in_loop (loop=0x87684d0, 
datarefs=0x8849a2c) at ../../../src/gcc-4.2/gcc/tree-data-ref.c:4050
#4  0x08461887 in compute_data_dependences_for_loop (loop=0x87684d0, 
compute_self_and_read_read_dependences=0 '\0', datarefs=0x8849a2c, 
dependence_relations=0x8849a30)
at ../../../src/gcc-4.2/gcc/tree-data-ref.c:4189
#5  0x08116a8d in vect_analyze_data_refs (loop_vinfo=0x8849a08)
at ../../../src/gcc-4.2/gcc/tree-vect-analyze.c:1336
#6  0x08118539 in vect_analyze_loop (loop=0x87684d0)
at ../../../src/gcc-4.2/gcc/tree-vect-analyze.c:1999
#7  0x0811422f in vectorize_loops (loops=0x8853148)
at ../../../src/gcc-4.2/gcc/tree-vectorizer.c:2040
#8  0x0810645f in tree_vectorize ()
at ../../../src/gcc-4.2/gcc/tree-ssa-loop.c:193
#9  0x083f4e2c in execute_one_pass (pass=0x86010a0)
at ../../../src/gcc-4.2/gcc/passes.c:864
#10 0x083f4f77 in execute_pass_list (pass=0x86010a0)
at ../../../src/gcc-4.2/gcc/passes.c:911
#11 0x083f4f97 in execute_pass_list (pass=0x8600fa0)
at ../../../src/gcc-4.2/gcc/passes.c:912
#12 0x083f4f97 in execute_pass_list (pass=0x85ff9e0)
at ../../../src/gcc-4.2/gcc/passes.c:912
#13 0x080c1a83 in tree_rest_of_compilation (fndecl=0xb7872f80)
at ../../../src/gcc-4.2/gcc/tree-optimize.c:418
#14 0x08057b05 in c_expand_body (fndecl=0xb7872f80)
at ../../../src/gcc-4.2/gcc/c-decl.c:6695
#15 0x08444f23 in cgraph_expand_function (node=0xb756e880)
at ../../../src/gcc-4.2/gcc/cgraphunit.c:1117
#16 0x084450bc in cgraph_expand_all_functions ()
at ../../../src/gcc-4.2/gcc/cgraphunit.c:1182
#17 0x08445883 in cgraph_optimize ()
at ../../../src/gcc-4.2/gcc/cgraphunit.c:1450
#18 0x0805a072 in c_write_global_declarations ()
at ../../../src/gcc-4.2/gcc/c-decl.c:7810
#19 0x083cc83b in compile_file () at ../../../src/gcc-4.2/gcc/toplev.c:1012
#20 0x083cdefc in do_compile () at ../../../src/gcc-4.2/gcc/toplev.c:1970
#21 0x083cdf64 in toplev_main (argc=39, argv=0xbf800d44)
at ../../../src/gcc-4.2/gcc/toplev.c:2002
#22 0x080ab280 in main (argc=39, argv=0xbf800d44)
at ../../../src/gcc-4.2/gcc/main.c:35


-- 


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



[Bug c/27007] Missed optimization of comparison with 'limited range'

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-05-04 17:24 ---
(In reply to comment #7)
> For the tree-vrp.c part of this, perhaps VR_VARYING should be deprecated? 

How can something inside the compiler be deprecated?  That is all internal and
nobody sees it?


-- 


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



[Bug c/27432] New: -fschedule-insns -O2 -march=athlon cause compilation error

2006-05-04 Thread master_up at post dot cz
Use -march=athlon-xp -O2 -fschedule-insns
or -march=athlon -O2 -fschedule-insns

gcc version where REPRODUCED:
gcc-3.4-20060307
gcc (GCC) 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)
---
NOT REPRODUCED by
gcc-3.3.6


There is one more bug looking much similar but amd64 arch... is better add it
here or create new bug???


gcc ERROR--:
gcc: warning: -pipe ignored because -save-temps specified
via_mode.c: In function `ViaMonitorRangesCombine':
via_mode.c:1366: error: unable to find a register to spill in class `AD_REGS'
via_mode.c:1366: error: this is the insn:
(insn:HI 6 27 4 0 (set (reg/v:SI 62 [ twocount ])
(mem/f:SI (plus:SI (reg/f:SI 16 argp)
(const_int 4 [0x4])) [11 twocount+0 S4 A32])) 37
{*movsi_1_nointernunit} (nil)
(expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 16 argp)
(const_int 4 [0x4])) [11 twocount+0 S4 A32])
(nil)))
via_mode.c:1366: confused by earlier errors, bailing out


---COMMAND LINE
gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module \
-DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri \
-march=athlon-xp -O2 -pipe -fomit-frame-pointer -Wall -fschedule-insns -MT \
via_mode.lo -MD -MP -MF .deps/via_mode.Tpo -c via_mode.c  -fPIC -DPIC -o
.libs/via_mode.o \
-save-temps


-- 
   Summary: -fschedule-insns -O2 -march=athlon cause compilation
error
   Product: gcc
   Version: 3.4.6
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: master_up at post dot cz
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c/27432] -fschedule-insns -O2 -march=athlon cause compilation error

2006-05-04 Thread master_up at post dot cz


--- Comment #1 from master_up at post dot cz  2006-05-04 17:29 ---
Created an attachment (id=11375)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11375&action=view)
gcc temp .i file


-- 


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



[Bug c/27432] -fschedule-insns -O2 -march=athlon cause compilation error

2006-05-04 Thread master_up at post dot cz


--- Comment #2 from master_up at post dot cz  2006-05-04 17:30 ---
Created an attachment (id=11376)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11376&action=view)
gcc temp .s file


-- 


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



[Bug target/27432] -fschedule-insns -O2 -march=athlon cause compilation error

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-05-04 17:30 ---
This is the standard x86 vs 1st pass scheduling vs the register allocator bug.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |target
   Keywords||ice-on-valid-code, ra


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



[Bug target/27431] Internal error compiling qemu-0.8.0

2006-05-04 Thread aldot at gcc dot gnu dot org


--- Comment #1 from aldot at gcc dot gnu dot org  2006-05-04 17:30 ---
(In reply to comment #0)
> If you ask for *.i files, why don't you provide a upload button in bugzilla?
> 
There is a "Create an attachment" link above.


-- 


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



[Bug libgcj/26861] VirtualMachineError in interperter.

2006-05-04 Thread tromey at gcc dot gnu dot org


--- Comment #3 from tromey at gcc dot gnu dot org  2006-05-04 17:35 ---
Subject: Bug 26861

Author: tromey
Date: Thu May  4 17:35:05 2006
New Revision: 113531

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113531
Log:
PR libgcj/26861:
* interpret.cc (run) : Removed 0x check.
: Likewise.
(NULLCHECK): Define unconditionally.
* link.cc (ensure_class_linked): Removed dead code.

Modified:
trunk/libjava/ChangeLog
trunk/libjava/interpret.cc
trunk/libjava/link.cc


-- 


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



[Bug target/27431] Internal error compiling qemu-0.8.0

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-05-04 17:41 ---
register struct CPUX86State *env asm("ebp");
# 46 "/d5/src/emulators/qemu-0.8.0/target-i386/exec.h"
register target_ulong T0 asm("ebx");
register target_ulong T1 asm("esi");
register target_ulong T2 asm("edi");

What does one exact when you are starving the register allocator from 4
registers when x86 only have 6.


-- 


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



[Bug libgcj/26861] VirtualMachineError in interperter.

2006-05-04 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2006-05-04 17:42 ---
Fix checked in.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug target/27431] Internal error compiling qemu-0.8.0

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-05-04 17:42 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/16185] ICE: in spill_failure, at reload1.c:1892, global registers and long long

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-05-04 17:42 
---
*** Bug 27431 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pjb at informatimago dot com


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



[Bug libstdc++/7979] OpenUNIX8/Unixware stage 3 failing in eh_alloc.cc

2006-05-04 Thread brunson at brunson dot com


--- Comment #14 from brunson at brunson dot com  2006-05-04 17:43 ---
This bug is still present in gcc-3.4.6 on UnixWare (running 7.1.4, but there's
no reason not to suspect all versions).


-- 


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



[Bug c++/27433] New: diagnostic for vector template argument is poor

2006-05-04 Thread pinskia at gcc dot gnu dot org
Testcase:
#define __vector __attribute__((vector_size(16)))
template 
void f(A, vector A, int);

--
Currently we get:
t1.cc:4: error: invalid vector type for attribute 'vector_size'

Which is poor and does not explain that vectorsize attribute does not apply to
the template arument, maybe really it should.


-- 
   Summary: diagnostic for vector template argument is poor
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug c++/27433] diagnostic for vector template argument is poor

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-05-04 17:55 ---
The same issue is inside a class which in my mind should work.
#define __vector __attribute__((vector_size(16)))
template 
struct b
{
  __vector A t;
};


-- 


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



[Bug libgcj/27294] gij throws NullPointerException, when the interpreter is not enabled

2006-05-04 Thread tromey at gcc dot gnu dot org


--- Comment #1 from tromey at gcc dot gnu dot org  2006-05-04 18:10 ---
It isn't clear what exception we ought to throw here.

What is happening is that we've found a .class file for a class
we're searching for, but libgcj is not configured to properly
handle class files.

VirtualMachineError would be ok from a spec. point of view.
But it is a bit unfriendly.  This is what I'm leaning toward.

ClassFormatError would also be legal but it is a bit of a lie.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-05-04 18:10:30
   date||


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



[Bug other/27434] New: port to POSIX 1003-1.2001 hosts for "sort +N", "tail +N"

2006-05-04 Thread eggert at gnu dot org
I'll attach a patch to port the GCC build procedure to hosts (like
mine) whose sort' and 'tail' implementations treat operands with
leading '+' as file names, as POSIX has required since 2001.  The
patch doesn't affect the build procedure on traditional hosts that
don't support POSIX syntax.  This follows up on the recent gcc-patches
discussion .


-- 
   Summary: port to POSIX 1003-1.2001 hosts for "sort +N", "tail +N"
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: eggert at gnu dot org


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



[Bug other/27434] port to POSIX 1003-1.2001 hosts for "sort +N", "tail +N"

2006-05-04 Thread eggert at gnu dot org


--- Comment #1 from eggert at gnu dot org  2006-05-04 18:31 ---
Created an attachment (id=11377)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11377&action=view)
Patch to support POSIX 1003.1-2001 "sort", "tail"


-- 


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



[Bug other/27434] port to POSIX 1003-1.2001 hosts for "sort +N", "tail +N"

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-05-04 18:33 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug other/14251] Use POSIX-compatible flags for 'head' and 'tail'

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #20 from pinskia at gcc dot gnu dot org  2006-05-04 18:33 
---
*** Bug 27434 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||eggert at gnu dot org


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



[Bug libstdc++/7979] OpenUNIX8/Unixware stage 3 failing in eh_alloc.cc

2006-05-04 Thread pcarlini at suse dot de


--- Comment #15 from pcarlini at suse dot de  2006-05-04 18:34 ---
To be honest, I dont't think this is, strictly speaking, a *bug*, because this
target is not officially supported.


-- 


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



[Bug libgcj/27352] SecurityManager.checkPermission() called unnecessarily

2006-05-04 Thread aph at gcc dot gnu dot org


--- Comment #5 from aph at gcc dot gnu dot org  2006-05-04 18:45 ---
Subject: Bug 27352

Author: aph
Date: Thu May  4 18:44:53 2006
New Revision: 113532

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113532
Log:
2006-05-04  Andrew Haley  <[EMAIL PROTECTED]>

* class.c (make_field_value): Always build_address_of fdecl if
there is an initializer.

2006-05-03  Andrew Haley  <[EMAIL PROTECTED]>

PR libgcj/27352
* expr.c (maybe_rewrite_invocation): New function.
(rewrite_arglist_getclass): Likewise.
(rules): New.
(expand_invoke): Call maybe_rewrite_invocation.
* parse.y (patch_invoke): Likewise.
* java-tree.h: (maybe_rewrite_invocation): New function.

2006-05-03  Andrew Haley  <[EMAIL PROTECTED]>

PR libgcj/27352
* java/lang/Class.java (getClassLoader(Class)): New.
forName(String, Class): New.
* java/lang/natClass.cc (getClassLoader(Class)): New.

2006-05-02  Andrew Haley  <[EMAIL PROTECTED]>

* prims.cc (_Jv_NewMultiArray): Check for phantom class.


Modified:
trunk/gcc/java/ChangeLog
trunk/gcc/java/class.c
trunk/gcc/java/expr.c
trunk/gcc/java/java-tree.h
trunk/gcc/java/parse.y
trunk/libjava/ChangeLog
trunk/libjava/java/lang/Class.h
trunk/libjava/java/lang/Class.java
trunk/libjava/java/lang/natClass.cc
trunk/libjava/prims.cc


-- 


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



[Bug fortran/27436] New: gfortran: Abort compiling if there are insufficient data descriptors in format after reversion

2006-05-04 Thread tobias dot burnus at physik dot fu-berlin dot de
Split off of bug 27304

Currently, gfortran only detects that the IO format descriptor contains
insufficient data at run time. It would be great (though of low priority) if it
would find them at compile time. Examples:
   write(*,'(abc)') n
   write(10,"(i7,(' abcd'))", err=10) n, n
As of fixing bug 27304 this gives an run-time error message. As in my case the
write(*,*) is deeply buried in an "if(very rarely true) write(*,*)", the
compile-time error would be of great help [run time of the program > one day].

Reference: In the 2004-05 "Fortran 2003" draft (10.3) I find:

"If an input/output list specifies at least one effective list item, at
least one data edit descriptor shall exist in the format specification."


-- 
   Summary: gfortran: Abort compiling if there are insufficient data
descriptors in format after reversion
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tobias dot burnus at physik dot fu-berlin dot de


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



[Bug libstdc++/6702] requirements for wchar_t support are too restrictive for Solaris pre 10

2006-05-04 Thread ebotcazou at gcc dot gnu dot org


--- Comment #29 from ebotcazou at gcc dot gnu dot org  2006-05-04 19:03 
---
> Fixed (again), for 4.1.1.

Confirmed for all Solaris versions >= 7 on 4.1 branch and mainline, thanks
again.


-- 


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



[Bug fortran/27304] gfortran: Warn/abort when format in write does not fit passed arguments

2006-05-04 Thread tobias dot burnus at physik dot fu-berlin dot de


--- Comment #15 from tobias dot burnus at physik dot fu-berlin dot de  
2006-05-04 19:09 ---
I probably do something wrong, but with
  GNU Fortran 95 (GCC) 4.2.0 20060504 (experimental)
from http://quatramaran.ens.fr/~coudert/gfortran/gfortran-x86_64-linux.tar.gz

I still don't get a run-time error message.
Using fmt_exhaust.f90 it crashes (abort()) rather than going to 10 (err=10).
As does my test case.


-- 

tobias dot burnus at physik dot fu-berlin dot de changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug rtl-optimization/27437] New: [4.2 Regression]: -O3 regression due to SEE

2006-05-04 Thread hjl at lucon dot org
The new SEE pass is turned on by -O3, which introduces several regressions on
Linux/x86 and probably on Linux/x86-64:

http://gcc.gnu.org/ml/gcc-testresults/2006-05/msg00171.html

shows

FAIL: gcc.c-torture/compile/pr20539-1.c  -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.c-torture/compile/pr20539-1.c  -O3 -g  (test for excess errors)
FAIL: gcc.c-torture/execute/20050121-1.c compilation,  -O3 -fomit-frame-pointer 
UNRESOLVED: gcc.c-torture/execute/20050121-1.c execution,  -O3
-fomit-frame-pointer 
FAIL: gcc.c-torture/execute/20050121-1.c compilation,  -O3 -g 
UNRESOLVED: gcc.c-torture/execute/20050121-1.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/930603-3.c compilation,  -O3 -fomit-frame-pointer 
UNRESOLVED: gcc.c-torture/execute/930603-3.c execution,  -O3
-fomit-frame-pointer 
FAIL: gcc.c-torture/execute/930603-3.c compilation,  -O3 -g 
UNRESOLVED: gcc.c-torture/execute/930603-3.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/arith-rand-ll.c compilation,  -O3
-fomit-frame-pointer 
UNRESOLVED: gcc.c-torture/execute/arith-rand-ll.c execution,  -O3
-fomit-frame-pointer 
FAIL: gcc.c-torture/execute/arith-rand-ll.c compilation,  -O3 -g 
UNRESOLVED: gcc.c-torture/execute/arith-rand-ll.c execution,  -O3 -g 
FAIL: gcc.c-torture/unsorted/udivmod4.c,  -O3 -fomit-frame-pointer  
FAIL: gcc.c-torture/unsorted/udivmod4.c,  -O3 -g

which aren't in

http://gcc.gnu.org/ml/gcc-testresults/2006-05/msg00073.html


-- 
   Summary: [4.2 Regression]: -O3 regression due to SEE
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug rtl-optimization/27437] [4.2 Regression]: -O3 regression due to SEE

2006-05-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-05-04 19:21 ---
One reduced testcase while bootstrapping:
int partition_new (int *e1, int *e2)
{
  if (e1 < e2)
return -1;
  else if (e1 > e2)
return 1;
  return 0;
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.0


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



[Bug libstdc++/7979] OpenUNIX8/Unixware stage 3 failing in eh_alloc.cc

2006-05-04 Thread brunson at brunson dot com


--- Comment #16 from brunson at brunson dot com  2006-05-04 19:44 ---
Okay, I'll buy that.

FWIW, gcc-core-4.0.3 builds with no complaints.  Maybe the resolution is
"Upgrade".


-- 


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



[Bug objc/27240] [4.1/4.2 regression] ICE with invalid fields

2006-05-04 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |reichelt at gcc dot gnu dot
   |dot org |org
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||05/msg00159.html
 Status|NEW |ASSIGNED


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



[Bug c++/27422] [4.0/4.1/4.2 regression] ICE with invalid function argument

2006-05-04 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2006-05-04 20:05 
---
Testing a patch.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |reichelt at gcc dot gnu dot
   |dot org |org


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



[Bug target/26481] ICE with -mcpu=power and struct passing

2006-05-04 Thread ebotcazou at gcc dot gnu dot org


--- Comment #14 from ebotcazou at gcc dot gnu dot org  2006-05-04 20:06 
---
> I was waiting for feedback from the original reporter, which never was
> supplied.  I have committed the patch on mainline to the 4.1 branch.  I do not
> have access to an AIX 5.1 system and without more details, it is difficult for
> me to investigate.

Unless I'm misktaken, there was some feedback, see comment #9.  And I can
confirm that I now get the very same ICE as reported there after updating the
sources.


-- 


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



[Bug c++/27430] ICE on array of voids as template parameter

2006-05-04 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2006-05-04 20:06 
---
Testing a patch.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |reichelt at gcc dot gnu dot
   |dot org |org


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



  1   2   >