[Bug c++/26698] [4.0/4.1/4.2/4.3 Regression] g++ accepts const-incorrect code due to conversion function

2007-10-13 Thread simartin at gcc dot gnu dot org


--- Comment #14 from simartin at gcc dot gnu dot org  2007-10-13 06:05 
---
Subject: Bug 26698

Author: simartin
Date: Sat Oct 13 06:04:57 2007
New Revision: 129282

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=129282
Log:
gcc/cp/

2007-10-13  Simon Martin  [EMAIL PROTECTED]

PR c++/26698
* call.c (build_user_type_conversion_1): Do not consider conversion
functions to convert a (possibly cv-qualified) object to the (possibly
cv-qualified) same object type (or a reference to it), to a (possibly
cv-qualified) base class of that type (or a reference to it).

gcc/testsuite/

2007-10-13  Simon Martin  [EMAIL PROTECTED]

PR c++/26698
* g++.dg/conversion/op4.C: New test.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/conversion/op4.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/call.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/26698] [4.0/4.1/4.2/4.3 Regression] g++ accepts const-incorrect code due to conversion function

2007-10-13 Thread simartin at gcc dot gnu dot org


--- Comment #15 from simartin at gcc dot gnu dot org  2007-10-13 06:17 
---
Fixed on all the active branches.


-- 

simartin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/33754] Default argument of type list pair A, B compiles only when typedef is used

2007-10-13 Thread photon at seznam dot cz


--- Comment #2 from photon at seznam dot cz  2007-10-13 08:24 ---
(In reply to comment #1)
 
 *** This bug has been marked as a duplicate of 57 ***
 

 I should note this bug is suspended.  This is because the standard is 
 unclear at what is the correct behavior.  See DR 325 for all the details.


I vote for this to be fixed in GCC, especially since the standard is unclear.
The compiler has the knowledge 'pair' is a template class. MS C++ accepts the
syntax and does not violate any standards by doing so.


-- 


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



[Bug c++/33754] Default argument of type list pair A, B compiles only when typedef is used

2007-10-13 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-10-13 08:54 ---
(In reply to comment #2)
 I vote for this to be fixed in GCC, especially since the standard is unclear.
 The compiler has the knowledge 'pair' is a template class. MS C++ accepts the
 syntax and does not violate any standards by doing so.

Actually the standard says this is invalid, just it was not the intention of
committee that is to be invalid which is why there is defect report against the
C++ standard.


-- 


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



[Bug target/33755] Gcc 4.2.2 broken for mips linux kernel builds

2007-10-13 Thread rsandifo at gcc dot gnu dot org


--- Comment #9 from rsandifo at gcc dot gnu dot org  2007-10-13 10:47 
---
The problem comes from dbr_schedule, although it's not really a bug there.
We have:

bne $5,$0,L1# A
...stuff...
L1:
bne $5,$0,L2# B
...printk call...
L2:

and nothing before dbr_schedule has managed to thread A to L2.
dbr_schedule first fills B's delay slot with an lui from the printk
block, then steal_delay_list_from_target realises that A can steal B's
delay slot and branch directly to L2.  There is no other path to L1,
so the rest of the printk call is now dead.

For most targets, this is at worst a missed optimisation; we should have
threaded A to L2 much earlier than dbr_schedule, and deleted the whole
printk block as dead.  I don't think the MIPS port can rely on that
happening for correctness.  So (alas!) I think the upshot is simply
that we need to add some special code to mips_reorg to delete high-part
relocations that have no matching lows.

I'll have a poke.


-- 

rsandifo at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-10-13 10:47:26
   date||


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



[Bug fortran/33760] New: Bind(C): Using C_PTR as structure constructor gives an ICE

2007-10-13 Thread burnus at gcc dot gnu dot org
gfortran crashes if one uses

   cptr = C_PTR(p+1)

Here, C_PTR is a structure constructor; this usage is invalid Fortran 2003 (as
type(C_PTR) has PRIVATE components according to the Fortran 2003 standard); NAG
f95 therefore diagnoses:
  Error: Components of structure constructor 'c_ptr' at (1) are PRIVATE

gfortran allows currently to access the private components to allow to print
the pointer address as in
  print *, cptr
(For -std=f2003, this gives the expected error because of the private
components. However, for C_PTR(..) -std=f2003 does not help.)

Valgrind:
==15961== Invalid read of size 8
==15961==at 0x49F466: gfc_conv_expr (trans-expr.c:3316)
==15961==by 0x49FB9C: gfc_trans_assignment_1 (trans-expr.c:4075)
==15961==by 0x49FDAC: gfc_trans_assignment (trans-expr.c:4222)
==15961==by 0x482E67: gfc_trans_code (trans.c:993)
==15961==by 0x498669: gfc_generate_function_code (trans-decl.c:3307)
==15961==by 0x45462B: gfc_parse_file (parse.c:3384)

Test program, found at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/0ea1d42c43b6d54a/

program main
   use ISO_C_BINDING
   implicit none
   integer(C_INTPTR_T) p
   type(C_PTR) cptr
   p = 0
   cptr = C_PTR(p+1)
end program main


-- 
   Summary: Bind(C): Using C_PTR as structure constructor gives an
ICE
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug target/33761] New: non-optimal inlining heuristics pessimizes gzip SPEC score at -O3

2007-10-13 Thread ubizjak at gmail dot com
The measurements were actually done on gzip-1.2.4 sources on core2-d with:

a) gcc -mtune=generic -m32 -O2
b) gcc -mtune=generic -m32 -O3

The testfile was created as the tar archive of current SVN trunk repository,
which currently accounts for 865M uncompressed.

profile of a)

  %   cumulative   self  self total   
 time   seconds   secondscalls   s/call   s/call  name
 54.63 14.7614.76 102254750 0.00 0.00  longest_match
 18.47 19.75 4.991 4.9927.02  deflate
 10.25 22.52 2.7727389 0.00 0.00  fill_window
  6.81 24.36 1.8427390 0.00 0.00  updcrc
  3.15 25.21 0.85 5901 0.00 0.00  compress_block
  2.85 25.98 0.77 203123663 0.00 0.00  send_bits
  2.66 26.70 0.72 89123566 0.00 0.00  ct_tally
  0.67 26.88 0.18  3378994 0.00 0.00  pqdownheap
  0.22 26.94 0.0617709 0.00 0.00  build_tree
  0.15 26.98 0.0411802 0.00 0.00  send_tree
  0.07 27.00 0.02  1367732 0.00 0.00  bi_reverse
  0.07 27.02 0.0217710 0.00 0.00  gen_codes
  0.00 27.02 0.0027390 0.00 0.00  file_read

profile of b)

  %   cumulative   self  self total   
 time   seconds   secondscalls   s/call   s/call  name
 86.86 29.3529.35129.3533.79  deflate
  5.27 31.13 1.7827390 0.00 0.00  updcrc
  2.69 32.04 0.91 5901 0.00 0.00  compress_block
  2.55 32.90 0.86 89123566 0.00 0.00  ct_tally
  2.04 33.59 0.69 203123663 0.00 0.00  send_bits
  0.44 33.74 0.1517709 0.00 0.00  build_tree
  0.06 33.76 0.02  1367732 0.00 0.00  bi_reverse
  0.06 33.78 0.02 5903 0.00 0.00  flush_block
  0.03 33.79 0.0111802 0.00 0.00  send_tree
  0.00 33.79 0.0027390 0.00 0.00  file_read
  0.00 33.79 0.00 9237 0.00 0.00  flush_outbuf
  0.00 33.79 0.002 0.00 0.00  basename
  0.00 33.79 0.002 0.00 0.00  copy_block
  0.00 33.79 0.001 0.00 0.00  add_envopt

As can be seen from profiles, longest_match was inlined into deflate. Adding
__attribute__((noinline)) to longest_match prototype, we obtain:

  %   cumulative   self  self total   
 time   seconds   secondscalls   s/call   s/call  name
 55.80 13.8613.86 102254750 0.00 0.00  longest_match
 27.62 20.72 6.861 6.8624.84  deflate
  7.09 22.48 1.7627390 0.00 0.00  updcrc
  3.74 23.41 0.93 5901 0.00 0.00  compress_block
  2.62 24.06 0.65 89123566 0.00 0.00  ct_tally
  2.42 24.66 0.60 203123663 0.00 0.00  send_bits
  0.56 24.80 0.1417709 0.00 0.00  build_tree
  0.08 24.82 0.02  1367732 0.00 0.00  bi_reverse
  0.08 24.84 0.0211802 0.00 0.00  send_tree
  0.00 24.84 0.0027390 0.00 0.00  file_read
  0.00 24.84 0.00 9237 0.00 0.00  flush_outbuf
  0.00 24.84 0.00 5903 0.00 0.00  flush_block
  0.00 24.84 0.002 0.00 0.00  basename
  0.00 24.84 0.002 0.00 0.00  copy_block

or ~26.5% improvement. I speculate that inlining increases register pressure on
SMALL_REGISTER_CLASS target, as this problem is not that noticeable on x86_64.

The results of 32bit run are at [1] (valid from 13. oct) and results of 64bit
run at [2].

[1]
http://vmakarov.fedorapeople.org/spec/spec2000.toolbox_32/gcc/individual-run-ratio.html
[2]
http://vmakarov.fedorapeople.org/spec/spec2000.toolbox/gcc/individual-run-ratio.html


-- 
   Summary: non-optimal inlining heuristics pessimizes gzip SPEC
score at -O3
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com
GCC target triplet: i686-pc-linux-gnu


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



[Bug target/33761] non-optimal inlining heuristics pessimizes gzip SPEC score at -O3

2007-10-13 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-10-13 12:31 ---
I suppose that alias partitioning makes the difference instead.  This is not
really a fault of the inliner but our dumb memory optimizers.


-- 


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



[Bug fortran/33745] -fbounds-check: Bogus out-of-bounds run-time error for assumed-size array

2007-10-13 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2007-10-13 14:34 ---
(In reply to comment #2)
 The wrong-code bug is fixed by the followed patch.

Actually, it is not. The problem is - both in the compile time and at the run
time bound checking - the combination of element vs. array range.

Results using current gfortran (w/o wrong patch):
-  jp(1:3,2:3): OK - compile-time warning and the run-time error
-  jp(2,3): OK - no error/warning
-  jp(3,1:2): No compile-time diagnostics of dimension 1 plus the following:
-  jp(2,1:2): Bogus run-time error for the upper bound

The problem for the last two examples is:
- loop-dimen = 1(one array range 1:2)
- info-ref-u.ar.dimen = 2  (total no. available dimensions 2)
- n = 0, ..., loop-dimen - 1
Thus the check  n == info-ref-u.ar.dimen - 1 is never true although n ==
0
is the last dimension of an assumed-sized array.


-- 


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



[Bug boehm-gc/33442] 1938 unexpected fails in libjava testsuite

2007-10-13 Thread danglin at gcc dot gnu dot org


--- Comment #10 from danglin at gcc dot gnu dot org  2007-10-13 15:01 
---
Subject: Bug 33442

Author: danglin
Date: Sat Oct 13 15:01:29 2007
New Revision: 129283

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=129283
Log:
PR boehm-gc/33442
* pthread_support.c (GC_PTR GC_get_thread_stack_base): If stack grows
up, return stack_addr instead of stack_addr - stack_size.


Modified:
branches/gcc-4_2-branch/boehm-gc/ChangeLog
branches/gcc-4_2-branch/boehm-gc/pthread_support.c


-- 


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



[Bug boehm-gc/33442] 1938 unexpected fails in libjava testsuite

2007-10-13 Thread danglin at gcc dot gnu dot org


--- Comment #11 from danglin at gcc dot gnu dot org  2007-10-13 15:04 
---
Fixed on trunk and 4.2.  I believe that this problem isn't present in 4.1.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/33735] [4.3 Regression] verify_stmts failed: missing PHI def

2007-10-13 Thread aoliva at gcc dot gnu dot org


--- Comment #4 from aoliva at gcc dot gnu dot org  2007-10-13 18:37 ---
Proposed patch at http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00802.html


-- 

aoliva at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


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



[Bug c++/33762] New: partial template specialization question

2007-10-13 Thread gzljg at hotmail dot com
Probably this is not a bug, but just I want to make clear to myself...

I have a 'general' template class, and can specialize it for one class(say
base), can I then assume all other classes that derived from 'base' class are
using the specialized version template function(same as the base one)?

Example code:
#include iostream
using namespace std;

class Dummy{};
class Base {} ;
class Derive : virtual public Base{};

template class T class Stub : virtual public T
{
public:
  Stub() 
  {
std::cout  template class T class Stub : virtual public T
   std::endl;
  }
};

template  class StubBase 
{
public:
  Stub() 
  {
std::cout  template  class StubBase 
   std::endl;
  }

};

/*
I have to enable this to make it work as expected, but this is definitely not I
wants, since this mean I had to specialize _all_ the dervied classes like this,
which may be too much
template  class StubDerive 
{
public:
  Stub() 
  {
std::cout  template  class StubDerive 
   std::endl;
  }

};
*/

class A : public StubDummy
{
};
class B : public StubBase
{
};
class C : public StubDerive
{
};

int main() 
{ 
  A a;  // expected, use the most general template.
  B b;  // expected, use the specialized template since T=Base
  C c;  // ?? I expected it will use the specialized template as well, since
T=Derive, which Derive is derived from Base.Am I wrong here??
  return 0;
}


program output:
template class T class Stub : virtual public T
template  class StubBase 
template class T class Stub : virtual public T   // I expected should be 
template  class StubBase as above here.


-- 
   Summary: partial template specialization question
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gzljg at hotmail dot com


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



[Bug c++/33762] partial template specialization question

2007-10-13 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-10-13 19:05 ---
specializations are direct matches and don't look at the class's bases.


-- 


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



[Bug ada/29283] Bug box in expand_expr_addr_expr_1, at expr.c:6393 on alpha

2007-10-13 Thread ludovic at ludovic-brenta dot org


--- Comment #3 from ludovic at ludovic-brenta dot org  2007-10-13 19:09 
---
Here is a second, shorter test case that triggers the bug on i386, x86_64 and
powerpc.  Thanks to Prakash Countcham at imag.fr and Xavier Grave for
confirming on i386 and powerpc.  This bug is not in GCC 4.2.

procedure Test_Param is
   type Int_1 is range 0 .. 600;
   for Int_1'Size use 10;

   type Int_2 is range 0 .. 8_191;
   for Int_2'Size use 13;

   type T_A_B is record
  A : Int_1;
  B : Int_2 range 0 .. 6_350;
   end record;
   for T_A_B'Size use 23;
   pragma Pack(T_A_B);

   type T_C is array (1..7) of T_A_B;
   for T_C'Size use 7 * 23;
   pragma Pack(T_C);

   X : T_C;
begin
   if X(1).B'Valid then
  null;
   end if;
end Test_Param;

$ gnatmake test_param.adb
gcc-4.1 -c test_param.adb
+===GNAT BUG DETECTED==+
| 4.1.2 20061115 (prerelease) (Debian 4.1.1-22) (x86_64-pc-linux-gnu) GCC
error:|
| in expand_expr_addr_expr_1, at expr.c:6393   |
| Error detected at test_param.adb:24:5|


-- 

ludovic at ludovic-brenta dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
  Known to fail||4.1.1
  Known to work||4.2.2
 Resolution|INVALID |


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



[Bug tree-optimization/33763] New: [4.1/4.2/4.3 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2007-10-13 Thread jakub at gcc dot gnu dot org
/* { dg-do compile } */
/* { dg-options -O2 } */

typedef struct
{
  void *a;
  void *b;
} T;
extern void *foo (const char *, const char *);
extern void *bar (void *, const char *, T);
extern int baz (const char *, int);

extern inline __attribute__ ((always_inline, gnu_inline)) int
baz (const char *x, int y)
{
  return 2;
}

int
baz (const char *x, int y)
{
  return 1;
}

int xa, xb;

static void *
inl (const char *x, const char *y)
{
  T t = { xa, xb };
  int *f = (int *) __builtin_malloc (sizeof (int));
  const char *z;
  int o = 0;
  void *r = 0;

  for (z = y; *z; z++)
{
  if (*z == 'r')
o |= 1;
  if (*z == 'w')
o |= 2;
}
  if (o == 1)
*f = baz (x, 0);
  if (o == 2)
*f = baz (x, 1);
  if (o == 3)
*f = baz (x, 2);

  if (o  *f  0)
r = bar (f, w, t);
  return r;
}

void *
foo (const char *x, const char *y)
{
  return inl (x, y);
}

issues bogus sorry diagnostics, while simpler testcases are handled just fine:
extern int foo (const char *, int);
extern int baz (const char *, int);

extern inline __attribute__ ((always_inline, gnu_inline)) int
baz (const char *x, int y)
{
  return 2;
}

int
baz (const char *x, int y)
{
  return 1;
}

int xa, xb;

static int
inl (const char *x, int y)
{
  return baz (x, y);
}

int
foo (const char *x, int y)
{
  return inl (x, y);
}

When a gnu_inline (or extern inline gnu89) function has a real is redefined, we
don't want any inlining for that function even if it is always_inline, at least
GCC always behaved that way and even on the simpler testcase behaves that way.
Even the original testcase works just fine with GCC 3.2.x, so this is a
regression.  On the trunk it is enough to e.g. remove one of the 3 baz calls in
inl and it compiles just fine (none of the baz calls is inlined as expected),
but
e.g. on 4.1 branch the compilation still fails.

arts hits this problem when building against recent glibcs.


-- 
   Summary: [4.1/4.2/4.3 Regression] Bogus inlining failed in call
to `xxx': redefined extern inline functions are not
considered for inlining
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
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=33763



[Bug tree-optimization/33140] [4.3 Regression] ICE in build2_stat, at tree.c:3115

2007-10-13 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2007-10-13 19:35 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug java/33764] New: [4.3 regression] gij is built as 32-bit binary when building multilib gcc

2007-10-13 Thread bero at arklinux dot org
When building gcc on x86_64 with multilib support, gij is built as 32-bit
executable with some strange -rpaths.

The other parts of gcj are ok.

[EMAIL PROTECTED] ~]$ ldd /usr/bin/gcj
libmpfr.so.1 = /usr/lib64/libmpfr.so.1 (0x2b0221bea000)
libgmp.so.3 = /usr/lib64/libgmp.so.3 (0x2b0221e2)
libc.so.6 = /lib64/libc.so.6 (0x2b022205e000)
/lib64/ld-linux-x86-64.so.2 (0x2b02219ce000)
[EMAIL PROTECTED] ~]$ ldd /usr/bin/gij
 (0xe000)
libgij.so.9 = /usr/lib64/../lib/libgij.so.9 (0xf7f03000)
libgcj.so.9 = /usr/lib64/../lib/libgcj.so.9 (0xf5fea000)
libpthread.so.0 = /lib/libpthread.so.0 (0xf5fd2000)
librt.so.1 = /lib/librt.so.1 (0xf5fca000)
libdl.so.2 = /lib/libdl.so.2 (0xf5fc6000)
libz.so.1 = /usr/lib64/../lib/libz.so.1 (0xf5fb3000)
libgcc_s.so.1 = /usr/lib64/../lib/libgcc_s.so.1 (0xf5fa6000)
libm.so.6 = /lib/libm.so.6 (0xf5f7f000)
libc.so.6 = /lib/libc.so.6 (0x4200)
/lib/ld-linux.so.2 (0xf7f07000)


-- 
   Summary: [4.3 regression] gij is built as 32-bit binary when
building multilib gcc
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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



[Bug c++/30303] [4.2/4.3 regression] ICE with invalid constructor definition

2007-10-13 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2007-10-13 19:44 
---
Testing this patch again to make sure it still works.


-- 


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



[Bug java/33765] New: [4.3 regression] gcj internal compiler error when reading an empty file

2007-10-13 Thread bero at arklinux dot org
Feeding gcj an empty input file results in

[EMAIL PROTECTED] ~]$ rm -f crap.java ; touch crap.java ; gcj crap.java
/tmp/cck13U8f.jar:0: internal compiler error: in java_parse_file, at
java/jcf-parse.c:1951
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: [4.3 regression] gcj internal compiler error when
reading an empty file
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 GCC build triplet: i586-pc-linux-gnu
  GCC host triplet: i586-pc-linux-gnu
GCC target triplet: i586-pc-linux-gnu


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



[Bug c/33766] New: [4.1/4.2/4.3 Regression] ICE in bsi_for_stmt at tree-cfg.c when using -O1 -ftree-loop-linear

2007-10-13 Thread vapier at gentoo dot org
building xorg-server with -O1 -ftree-loop-linear on x86 fails with:

texcompress_fxt1.c: In function 'fxt1_encode':
texcompress_fxt1.c:1376: internal compiler error: in bsi_for_stmt, at
tree-cfg.c:2827
Please submit a full bug report, with preprocessed source if appropriate.

tested with 4.0.4, 4.1.2, 4.2.2, and a semi-recent snapshot (20070916)


-- 
   Summary: [4.1/4.2/4.3 Regression] ICE in bsi_for_stmt at tree-
cfg.c when using -O1 -ftree-loop-linear
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vapier at gentoo dot org
GCC target triplet: i686-linux-gnu


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



[Bug c/33766] [4.1/4.2/4.3 Regression] ICE in bsi_for_stmt at tree-cfg.c when using -O1 -ftree-loop-linear

2007-10-13 Thread vapier at gentoo dot org


--- Comment #1 from vapier at gentoo dot org  2007-10-13 19:52 ---
bugzilla seems to be droppin a brick when i try to attach files, so here's the
reduced test case i've been testing with:

fxt1_quantize_ALPHA1()
{
int j1;
int i;
float *tv;
for (j1 = 1; j1; j1++) {
float e;
for (i = 1; i; i++)
e = tv[i];
if (e)
i = j1;
}
return tv[i];
}


-- 


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



[Bug regression/32582] Bootstrap with vectorization enabled fails with ICE on PPC

2007-10-13 Thread rakdver at gcc dot gnu dot org


--- Comment #34 from rakdver at gcc dot gnu dot org  2007-10-13 20:40 
---
Does this still reproduce for you?  After workarounding the crtstuff.c
misscompilation as described in
http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00743.html, bootstrap with
BOOT_CFLAGS=-O2 -ftree-vectorize -maltivec passes for me on ppc64-linux.


-- 


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



[Bug fortran/33745] -fbounds-check: Bogus out-of-bounds run-time error for assumed-size array

2007-10-13 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2007-10-13 20:53 ---
Mine.

Patch for both problems, see
http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00796.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2007-10-13 20:53:56
   date||


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



[Bug target/33767] New: GLOBAL_ASM_OP needs to be documented in tm.texi

2007-10-13 Thread kai-gcc-bugs at khms dot westfalen dot de
There's just one mention in all of the internals docs:

The default implementation relies on a proper definition of
@code{GLOBAL_ASM_OP}.

varasm.c has this:

/* Default function to output code that will globalize a label.  A
   target must define GLOBAL_ASM_OP or provide its own function to
   globalize a label.  */
#ifdef GLOBAL_ASM_OP
void
default_globalize_label (FILE * stream, const char *name)
{
  fputs (GLOBAL_ASM_OP, stream);
  assemble_name (stream, name);
  putc ('\n', stream);
}
#endif /* GLOBAL_ASM_OP */

Clearly, this should be documented as a target macro, and explained what a
proper definition actually *is*. Also, maybe there ought to be a default in
either defaults.h or elfos.h.

(revision 127595)


-- 
   Summary: GLOBAL_ASM_OP needs to be documented in tm.texi
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kai-gcc-bugs at khms dot westfalen dot de
 GCC build triplet: any
  GCC host triplet: any
GCC target triplet: any


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



[Bug other/33768] New: splay-tree.c typo

2007-10-13 Thread george at houseofellery dot com
in the functions rotate_left and rotate_right in splay-tree.c in the
libiberty package, the comments preceding the functions should have an
apostrophe in the word grandparents (common to both comments) changing the
meaning from plural to possessive. a small point to sure but it confounded my
understanding of how these simple functions worked for quite a bit.


-- 
   Summary: splay-tree.c typo
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: george at houseofellery dot com


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



[Bug ada/29283] Bug box in expand_expr_addr_expr_1, at expr.c:6393 on alpha

2007-10-13 Thread charlet at gcc dot gnu dot org


--- Comment #4 from charlet at gcc dot gnu dot org  2007-10-13 21:39 ---
4.1 is pretty much closed at this point, so closing.


-- 

charlet at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/32878] FAIL: 23_containers/bitset/cons/16020.cc execution test

2007-10-13 Thread danglin at gcc dot gnu dot org


--- Comment #22 from danglin at gcc dot gnu dot org  2007-10-13 21:40 
---
This test stopped failing at revision 127720.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/33727] Segfault with ugly string array constructor

2007-10-13 Thread tobi at gcc dot gnu dot org


--- Comment #6 from tobi at gcc dot gnu dot org  2007-10-13 21:44 ---
Subject: Bug 33727

Author: tobi
Date: Sat Oct 13 21:43:49 2007
New Revision: 129286

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=129286
Log:
2007-10-13  Tobias Schlueter  [EMAIL PROTECTED]
Paul Thomas  [EMAIL PROTECTED]

PR fortran/33254
PR fortran/33727
fortran/
* trans-array.c (get_array_ctor_var_strlen): Check upper bound for
constness instead of lower bound.
(get_array_ctor_strlen): Add bounds-checking code.
testsuite/
* bounds_check_10.f90: New.

Added:
trunk/gcc/testsuite/gfortran.dg/bounds_check_10.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/33254] Diagnose different string lengths in array constructors at run time

2007-10-13 Thread tobi at gcc dot gnu dot org


--- Comment #12 from tobi at gcc dot gnu dot org  2007-10-13 21:44 ---
Subject: Bug 33254

Author: tobi
Date: Sat Oct 13 21:43:49 2007
New Revision: 129286

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=129286
Log:
2007-10-13  Tobias Schlueter  [EMAIL PROTECTED]
Paul Thomas  [EMAIL PROTECTED]

PR fortran/33254
PR fortran/33727
fortran/
* trans-array.c (get_array_ctor_var_strlen): Check upper bound for
constness instead of lower bound.
(get_array_ctor_strlen): Add bounds-checking code.
testsuite/
* bounds_check_10.f90: New.

Added:
trunk/gcc/testsuite/gfortran.dg/bounds_check_10.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/33727] Segfault with ugly string array constructor

2007-10-13 Thread tobi at gcc dot gnu dot org


--- Comment #7 from tobi at gcc dot gnu dot org  2007-10-13 21:45 ---
Fixed.


-- 

tobi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/33254] Diagnose different string lengths in array constructors at run time

2007-10-13 Thread tobi at gcc dot gnu dot org


--- Comment #13 from tobi at gcc dot gnu dot org  2007-10-13 21:47 ---
Fixed.


-- 

tobi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/33739] [Regression 4.3] Failure of gfortran.dg/literal_character_constant_1_*.F with -m64 -g on Darwin

2007-10-13 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2007-10-13 21:52 ---
I have forgotten to say that it is a regression, the tests pass with version
4.3.0 20071004 (revision 129004) and fail at after version 4.3.0 20071005
)revision 129038).


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

Summary|Failure of  |[Regression 4.3] Failure of
   |gfortran.dg/literal_characte|gfortran.dg/literal_characte
   |r_constant_1_*.F with -m64 -|r_constant_1_*.F with -m64 -
   |g on Darwin |g on Darwin


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



[Bug fortran/33727] Segfault with ugly string array constructor

2007-10-13 Thread tobi at gcc dot gnu dot org


--- Comment #8 from tobi at gcc dot gnu dot org  2007-10-13 22:28 ---
Dominique, I forgot to say: your testcase is also fixed by Paul's patch, and
it's really the same problem, so the testcase I added is enough.


-- 


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



Erinnerung - Empfehlung persoenlich fuer gcc-bugs@gcc.gnu.org - Bereits der 2. Hinweis

2007-10-13 Thread [EMAIL PROTECTED]
Hallo gcc-bugs@gcc.gnu.org, 

dieses ist nun schon unsere 2. Mail an Sie, da wir nicht moechten, dass 
Ihnen die für Sie reservierten 2400,00 EUR verloren gehen.

Ja tatsaechlich, dieser Betrag ist für Sie als Inhaber der Email gcc-
[EMAIL PROTECTED] reserviert

Greifen sie jetzt zu und holen sie sich jetzt 2400,00 EUR in Cash ab

Alles mehrsprachig und einfach erklaert, starten Sie jetzt
 
Für jeden erhaeltlich, ganz einfach: Anklicken, Registrieren, abholen

WO ERHALTEN SIE SONST 2400 Euro in 12 Monaten aufgeteilt ?

http://www.2400euro.de

Exklusiv für Deutschland, Oesterreich  Schweiz

Anja Richard hat hiermit in den letzten Tagen 8255 Euro verdient.


[Bug target/33755] Gcc 4.2.2 broken for mips linux kernel builds

2007-10-13 Thread ddaney at avtrex dot com


--- Comment #10 from ddaney at avtrex dot com  2007-10-14 02:02 ---
Subject: Re:  Gcc 4.2.2 broken for mips linux kernel builds

rsandifo at gcc dot gnu dot org wrote:
 --- Comment #9 from rsandifo at gcc dot gnu dot org  2007-10-13 10:47 
 ---
 The problem comes from dbr_schedule, although it's not really a bug there.
 We have:

 bne $5,$0,L1# A
 ...stuff...
 L1:
 bne $5,$0,L2# B
 ...printk call...
 L2:

 and nothing before dbr_schedule has managed to thread A to L2.
 dbr_schedule first fills B's delay slot with an lui from the printk
 block, then steal_delay_list_from_target realises that A can steal B's
 delay slot and branch directly to L2.  There is no other path to L1,
 so the rest of the printk call is now dead.

 For most targets, this is at worst a missed optimisation; we should have
 threaded A to L2 much earlier than dbr_schedule, and deleted the whole
 printk block as dead.  I don't think the MIPS port can rely on that
 happening for correctness.  So (alas!) I think the upshot is simply
 that we need to add some special code to mips_reorg to delete high-part
 relocations that have no matching lows.

 I'll have a poke.

   
That makes sense, however it is a bit strange because... IIRC when I 
compiled the .i file with a fairly recent 4.3 build, the printk  in 
question was not optimized away.  So if 4.2.2 can validly optimize away 
the printk, then we have an optimization regression in 4.3

David Daney


-- 


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