[Bug c/38047] New: -Wredundant-decls does not take scope into account

2008-11-07 Thread paulf at free dot fr
/* red.c */
void foo(void)
{
extern int x;
/* use x */
x = 1;
}

void bar(void)
{
extern int x;
/* use x */
x = 2;
}

gcc -Wredundant-decls -c red.c
red.c: In function 'bar':
red.c:10: warning: redundant redeclaration of 'x'
red.c:3: warning: previous declaration of 'x' was here

The two extern int x; declarations are *not* redundant, and removing either
will cause this code to fail to compile.

Also happens with GCC 4.1.2.


-- 
   Summary: -Wredundant-decls does not take scope into account
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: paulf at free dot fr


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



[Bug tree-optimization/37955] [4.4 Regression] internal compiler error: in vectorizable_store, at tree-vect-transform.c:5447

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2008-11-07 10:47 ---
I am testing option 2.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code, wrong-
   ||code


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



[Bug fortran/38033] Bounds of a pointer/allocatable array not stabilized

2008-11-07 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2008-11-07 13:59 ---
(In reply to comment #1)
 (In reply to comment #0)

 Removes the _gfortran_size0 calls from the loop but I have not yet located the
 doubling up of calls here:
 
 D.1551 = temp.offset;
 D.1552 = a;
 D.1553 = (integer(kind=8)) (integer(kind=4)) _gfortran_size0 (D.1552);
 D.1554 = a;
 D.1555 = (integer(kind=8)) (integer(kind=4)) _gfortran_size0 (D.1554) + -1

The second call and stabilization of a comes from the patch in #1.  The first
is from gfc_conv_section_startstride, after:

  /* Similarly calculate the end.  Although this is not used in the
 scalarizer, it is needed when checking bounds and where the end
 is an expression with side-effects.  */

Thus, rather than using loop-to[n], we will probably have to detect
GFC_SS_SECTION  ss-data.info.end[n] and the use ss-data.info.start[n] and
ss-data.info.end[n].

I'm working on it!

Paul


-- 


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



[Bug tree-optimization/38049] New: points-to results imprecise

2008-11-07 Thread rguenth at gcc dot gnu dot org
static double inv_J(double a[][2])
{
  int i, j;
  double det = 0.0;
   for (j=0; j2; ++j)
 det += a[j][0] + a[j][1];
  return det;
}

double foo()
{
  double mat[2][2];
  mat[0][0] = 0.0;
  mat[0][1] = 1.0;
  mat[1][0] = 2.0;
  mat[1][1] = 3.0;
  return inv_J(mat);
}

points-to computes D.1620_6 as points-to anything:

bb 3:
  D.1618_4 = (long unsigned int) j_3;
  D.1619_5 = D.1618_4 * 16;
  D.1620_6 = mat + D.1619_5;
  # VUSE mat_21, SMT.9_22(D)
  D.1621_7 = (*D.1620_6)[0];
  D.1618_8 = (long unsigned int) j_3;
  D.1619_9 = D.1618_8 * 16;
  D.1620_10 = mat + D.1619_9;
  # VUSE mat_21, SMT.9_22(D)
  D.1622_11 = (*D.1620_10)[1];
  D.1623_12 = D.1621_7 + D.1622_11;
  det_14 = D.1623_12 + det_13;
  j_15 = j_3 + 1;

because the constraints already say so:

D.1620_6 = ANYTHING


-- 
   Summary: points-to results imprecise
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: missed-optimization, alias
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug middle-end/38039] [graphite] -02/O3 -fgraphite-identity causes ICE when compiling aermod.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-11-07 
13:38 ---
Confirmed in current graphite branch as well.


-- 


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



[Bug tree-optimization/37868] [4.3 Regression] code that breaks TBAA is misoptimized even with -fno-strict-aliasing

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-11-07 12:50 ---
*** Bug 38048 has been marked as a duplicate of this bug. ***


-- 


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



[Bug tree-optimization/38042] -O1/-O2/-O3 -fgraphite-identity causes ICE when compiling fatigue.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-11-07 
13:36 ---
Confirmed in current graphite branch as well.


-- 


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



[Bug c++/38045] floating point exception triggered when it shouldn't be

2008-11-07 Thread hjl dot tools at gmail dot com


--- Comment #9 from hjl dot tools at gmail dot com  2008-11-07 14:28 ---
(In reply to comment #8)
 Any recommendation on how to work around it with GCC 4.3.2?  Seemingly
 unrelated code changes make it go away.  Thanks - Chris.
 

Add -fno-if-conversion should work.


-- 


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



[Bug c/38046] New: 'warning: comparison between signed and unsigned' shouldn't be given for equality comparisons

2008-11-07 Thread edwintorok at gmail dot com
Consider this code:

int foo(int a, unsigned b)
{
return a != b;
}

int bar(int a, unsigned b)
{
return (unsigned)a != b;
}

int foobar(int a, unsigned b)
{
return a != (int)b;
}

$ gcc -O2 -Wall -W foo.c -c
foo.c: In function ‘foo’:
foo.c:3: warning: comparison between signed and unsigned integer expressions

The generated code is identical for all 3 functions, so there is no reason
to fix the warning in the code. Rather I think gcc shouldn't warn in this
case at all.

A more realistic example:
#include unistd.h
int foo(int fd, char *buf, size_t n)
{
   return (read(fd, buf, n) != n);
}


FWIW, if I change int to 'short int' or 'signed char' (and unsigned
appropriately) I get no warning.


-- 
   Summary: 'warning: comparison between signed and unsigned'
shouldn't be given for equality comparisons
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: edwintorok at gmail dot com
 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=38046



[Bug c/38050] New: -Wredundant-decls does not take scope into account

2008-11-07 Thread paulf at free dot fr
/* red.c */
void foo(void)
{
extern int x;
/* use x */
x = 1;
}

void bar(void)
{
extern int x;
/* use x */
x = 2;
}

gcc -Wredundant-decls -c red.c
red.c: In function 'bar':
red.c:10: warning: redundant redeclaration of 'x'
red.c:3: warning: previous declaration of 'x' was here

The two extern int x; declarations are *not* redundant, and removing either
will cause this code to fail to compile.

Also happens with GCC 4.1.2.


-- 
   Summary: -Wredundant-decls does not take scope into account
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: paulf at free dot fr


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



[Bug tree-optimization/38051] New: [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread jakub at gcc dot gnu dot org
typedef __SIZE_TYPE__ size_t;
static int mymemcmp1 (unsigned long int, unsigned long int)
  __attribute__ ((__nothrow__));

__inline static int
mymemcmp1 (unsigned long int a, unsigned long int b)
{
  long int srcp1 = (long int) a;
  long int srcp2 = (long int) b;
  unsigned long int a0, b0;
  do
{
  a0 = ((unsigned char *) srcp1)[0];
  b0 = ((unsigned char *) srcp2)[0];
  srcp1 += 1;
  srcp2 += 1;
}
  while (a0 == b0);
  return a0 - b0;
}

static int mymemcmp2 (long, long, size_t) __attribute__ ((__nothrow__));

static int
mymemcmp2 (long int srcp1, long int srcp2, size_t len)
{
  unsigned long int a0, a1;
  unsigned long int b0, b1;
  switch (len % 4)
{
default:
case 2:
  a0 = ((unsigned long int *) srcp1)[0];
  b0 = ((unsigned long int *) srcp2)[0];
  srcp1 -= 2 * (sizeof (unsigned long int));
  srcp2 -= 2 * (sizeof (unsigned long int));
  len += 2;
  goto do1;
case 3:
  a1 = ((unsigned long int *) srcp1)[0];
  b1 = ((unsigned long int *) srcp2)[0];
  srcp1 -= (sizeof (unsigned long int));
  srcp2 -= (sizeof (unsigned long int));
  len += 1;
  goto do2;
case 0:
  if (16 = 3 * (sizeof (unsigned long int))  len == 0)
return 0;
  a0 = ((unsigned long int *) srcp1)[0];
  b0 = ((unsigned long int *) srcp2)[0];
  goto do3;
case 1:
  a1 = ((unsigned long int *) srcp1)[0];
  b1 = ((unsigned long int *) srcp2)[0];
  srcp1 += (sizeof (unsigned long int));
  srcp2 += (sizeof (unsigned long int));
  len -= 1;
  if (16 = 3 * (sizeof (unsigned long int))  len == 0)
goto do0;
}
  do
{
  a0 = ((unsigned long int *) srcp1)[0];
  b0 = ((unsigned long int *) srcp2)[0];
  if (a1 != b1)
return mymemcmp1 ((a1), (b1));
do3:
  a1 = ((unsigned long int *) srcp1)[1];
  b1 = ((unsigned long int *) srcp2)[1];
  if (a0 != b0)
return mymemcmp1 ((a0), (b0));
do2:
  a0 = ((unsigned long int *) srcp1)[2];
  b0 = ((unsigned long int *) srcp2)[2];
  if (a1 != b1)
return mymemcmp1 ((a1), (b1));
do1:
  a1 = ((unsigned long int *) srcp1)[3];
  b1 = ((unsigned long int *) srcp2)[3];
  if (a0 != b0)
return mymemcmp1 ((a0), (b0));
  srcp1 += 4 * (sizeof (unsigned long int));
  srcp2 += 4 * (sizeof (unsigned long int));
  len -= 4;
}
  while (len != 0);
do0:
  if (a1 != b1)
return mymemcmp1 ((a1), (b1));
  return 0;
}

static int mymemcmp3 (long, long, size_t) __attribute__ ((__nothrow__));

static int
mymemcmp3 (long int srcp1, long int srcp2, size_t len)
{
  unsigned long int a0, a1, a2, a3;
  unsigned long int b0, b1, b2, b3;
  unsigned long int x;
  int shl, shr;
  shl = 8 * (srcp1 % (sizeof (unsigned long int)));
  shr = 8 * (sizeof (unsigned long int)) - shl;
  srcp1 = -(sizeof (unsigned long int));
  switch (len % 4)
{
default:
case 2:
  a1 = ((unsigned long int *) srcp1)[0];
  a2 = ((unsigned long int *) srcp1)[1];
  b2 = ((unsigned long int *) srcp2)[0];
  srcp1 -= 1 * (sizeof (unsigned long int));
  srcp2 -= 2 * (sizeof (unsigned long int));
  len += 2;
  goto do1;
case 3:
  a0 = ((unsigned long int *) srcp1)[0];
  a1 = ((unsigned long int *) srcp1)[1];
  b1 = ((unsigned long int *) srcp2)[0];
  srcp2 -= 1 * (sizeof (unsigned long int));
  len += 1;
  goto do2;
case 0:
  if (16 = 3 * (sizeof (unsigned long int))  len == 0)
return 0;
  a3 = ((unsigned long int *) srcp1)[0];
  a0 = ((unsigned long int *) srcp1)[1];
  b0 = ((unsigned long int *) srcp2)[0];
  srcp1 += 1 * (sizeof (unsigned long int));
  goto do3;
case 1:
  a2 = ((unsigned long int *) srcp1)[0];
  a3 = ((unsigned long int *) srcp1)[1];
  b3 = ((unsigned long int *) srcp2)[0];
  srcp1 += 2 * (sizeof (unsigned long int));
  srcp2 += 1 * (sizeof (unsigned long int));
  len -= 1;
  if (16 = 3 * (sizeof (unsigned long int))  len == 0)
goto do0;
}
  do
{
  a0 = ((unsigned long int *) srcp1)[0];
  b0 = ((unsigned long int *) srcp2)[0];
  x = (((a2)  (shl)) | ((a3)  (shr)));
  if (x != b3)
return mymemcmp1 ((x), (b3));
do3:
  a1 = ((unsigned long int *) srcp1)[1];
  b1 = ((unsigned long int *) srcp2)[1];
  x = (((a3)  (shl)) | ((a0)  (shr)));
  if (x != b0)
return mymemcmp1 ((x), (b0));
do2:
  a2 = ((unsigned long int *) srcp1)[2];
  b2 = ((unsigned long int *) srcp2)[2];
  x = (((a0)  (shl)) | ((a1)  (shr)));
  if (x != b1)
return mymemcmp1 ((x), (b1));
do1:
  a3 = ((unsigned long int *) srcp1)[3];
  b3 = ((unsigned long int *) srcp2)[3];
  x = (((a1)  (shl)) | ((a2)  (shr)));
  if (x != b2)
return mymemcmp1 ((x), (b2));
  srcp1 += 4 * (sizeof (unsigned long int));
  srcp2 += 4 * (sizeof (unsigned long int));
  len -= 4;
}
  while (len != 

[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2008-11-07 14:57 ---
-fno-tree-pre fixes this.


-- 


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



[Bug c/38050] -Wredundant-decls does not take scope into account

2008-11-07 Thread schwab at suse dot de


--- Comment #1 from schwab at suse dot de  2008-11-07 14:58 ---


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


-- 

schwab at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c/38047] -Wredundant-decls does not take scope into account

2008-11-07 Thread schwab at suse dot de


--- Comment #2 from schwab at suse dot de  2008-11-07 14:58 ---
*** Bug 38050 has been marked as a duplicate of this bug. ***


-- 


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



[Bug middle-end/37851] [graphite] ICE in expand_scalar_variables_expr, at graphite.c:3617

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #5 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:18 ---
*** Bug 38043 has been marked as a duplicate of this bug. ***


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 CC||howarth at nitro dot med dot
   ||uc dot edu


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



[Bug tree-optimization/38043] -O1/-O2/-O3 -fgraphite-identity causes ICE when compiling gas_dyn.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:18 ---
Looks like a duplicate of PR37851

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


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/38042] -O1/-O2/-O3 -fgraphite-identity causes ICE when compiling fatigue.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:21 ---
Looks like a duplicate of PR37980.

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


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/37980] [graphite] ICE : verify_ssa failed

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:21 ---
*** Bug 38042 has been marked as a duplicate of this bug. ***


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 CC||howarth at nitro dot med dot
   ||uc dot edu


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



[Bug middle-end/38041] -O2 -fgraphite-identity causes ICE compiling channel.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #3 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:24 ---
Looks like a duplicate of PR37851.

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


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-11-07 15:29 ---
Confirmed.  PRE doesn't do anything interesting though, neither are the
differences in the optimized dump interesting from a first look.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-07 15:29:03
   date||


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



[Bug c/38052] New: genautomata segfaults when -O2 is enabled

2008-11-07 Thread r0bertz at gentoo dot org
I have done some detailed research on this problem. It is after the needed
information. Please do have a look.

The source is checked out on 2008-11-07

The system is using O32 abi.

The configure option is
var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/configure
--cache-file=./config.cache --with-stabs --prefix=/usr
--bindir=/usr/mipsel-unknown-linux-gnu/gcc-bin/4.4.0-pre
--includedir=/usr/lib/gcc/mipsel-unknown-linux-gnu/4.4.0-pre/include
--datadir=/usr/share/gcc-data/mipsel-unknown-linux-gnu/4.4.0-pre
--mandir=/usr/share/gcc-data/mipsel-unknown-linux-gnu/4.4.0-pre/man
--infodir=/usr/share/gcc-data/mipsel-unknown-linux-gnu/4.4.0-pre/info
--with-gxx-include-dir=/usr/lib/gcc/mipsel-unknown-linux-gnu/4.4.0-pre/include/g++-v4
--disable-altivec --disable-fixed-point --enable-nls --without-included-gettext
--with-system-zlib --disable-checking --disable-werror --enable-secureplt
--disable-multilib --enable-libmudflap --disable-libssp --disable-libgomp
--enable-cld --disable-libgcj --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion= --enable-linux-futex
--enable-languages=c,c++ --program-transform-name=s,y,y,
--build=mipsel-unknown-linux-gnu --host=mipsel-unknown-linux-gnu
--target=mipsel-unknown-linux-gnu
--srcdir=/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc
--with-build-libsubdir=.

The command to build genautomata is:
/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/build/./prev-gcc/xgcc
-B/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/build/./prev-gcc/
-B/usr/mipsel-unknown-linux-gnu/bin/ -c  -O2 -g -pipe -DIN_GCC   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
-DGENERATOR_FILE -I. -Ibuild
-I/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc
-I/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/build
-I/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/../include
-I/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/../libcpp/include

-I/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/../libdecnumber
-I/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/../libdecnumber/dpd
-I../libdecnumber  -DCLOOG_PPL_BACKEND   -o build/genautomata.o
/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/genautomata.c
/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/build/./prev-gcc/xgcc
-B/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/build/./prev-gcc/
-B/usr/mipsel-unknown-linux-gnu/bin/  -O2 -g -pipe -DIN_GCC   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
-DGENERATOR_FILE  -o build/genautomata \
build/genautomata.o build/rtl.o build/read-rtl.o build/ggc-none.o
build/vec.o build/min-insn-modes.o build/gensupport.o build/print-rtl.o
build/errors.o .././libiberty/libiberty.a -lm

The command segfaulted:
build/genautomata
/var/tmp/portage/sys-devel/gcc-4.4.0_pre/work/gcc-4.4.0-/gcc/config/mips/mips.md
insn-conditions.md


I have debugged this executable with gdb. And I found the exact instruction
which caused the segfaults. It has something to do with the manipulation of $gp
register.

From readelf -a genautomata, the Canonical gp value of Primary GOT: 00440090

Normally before calling an function, the gp register must be loaded with this
value. This can be observed it compiled with no optimization option.

However if -O2 is enabled, the following code in genautomata.c:
6975   fprintf (output_file, static const );
6976   output_range_type (output_file, 0, automaton-insn_equiv_classes_num);
6977   fprintf (output_file,  );
6978   output_translate_vect_name (output_file, automaton);
becomes(this is generated with -S option):
lw  $28,16($sp)
lw  $7,%lo(output_file)($17)
lw  $25,%call16(fwrite)($28)
lui $4,%hi($LC171)
addiu   $4,$4,%lo($LC171)
li  $5,1# 0x1
jalr$25
li  $6,13   # 0xd

lw  $6,16($18)
lw  $4,%lo(output_file)($17)
.option pic0
jal output_range_type
.option pic2
move$5,$0

lw  $28,16($sp)
lw  $5,%lo(output_file)($17)
lw  $25,%call16(fputc)($28)
nop
jalr$25
li  $4,32   # 0x20

lw  $4,%lo(output_file)($17)
.option pic0
jal output_translate_vect_name
.option pic2
move$5,$18
We can see there is no lw  $28,16($sp) before jal 

[Bug middle-end/37851] [graphite] ICE in expand_scalar_variables_expr, at graphite.c:3617

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #6 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:24 ---
*** Bug 38041 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c/38052] genautomata segfaults when -O2 is enabled

2008-11-07 Thread r0bertz at gentoo dot org


--- Comment #1 from r0bertz at gentoo dot org  2008-11-07 15:41 ---
(In reply to comment #0)
 The problem with output_translate_vect_name is this function has two calls to
 fprintf, and they are called for the first time in this program. 

Another thing I don't understand is why fprintf elsewhere is replaced with
fwrite including in the output_range_type function, but it is still itself in
output_translate_vect_name.

I have done an experiment. Please take a look at the beginning of
output_translate_vect_name function:
0x0040647c output_translate_vect_name+0:  addiu  sp,sp,-8
0x00406480 output_translate_vect_name+4:  lw v0,4(a1)
0x00406484 output_translate_vect_name+8:  sw gp,4(sp)
0x00406488 output_translate_vect_name+12: luigp,0x44
0x0040648c output_translate_vect_name+16: beqz   v0,0x4064b0
output_translate_vect_name+52
0x00406490 output_translate_vect_name+20: addiu  gp,gp,4240
0x00406494 output_translate_vect_name+24: lw t9,-32532(gp)
0x00406498 output_translate_vect_name+28: luia1,0x42
0x0040649c output_translate_vect_name+32: lw gp,4(sp)
0x004064a0 output_translate_vect_name+36: lw a2,0(v0)
0x004064a4 output_translate_vect_name+40: addiu  a1,a1,-8008
0x004064a8 output_translate_vect_name+44: jr t9

If I replace the following instruction with nop, then the genautomata will
succeed.
0x0040649c output_translate_vect_name+32: lw gp,4(sp)


-- 


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



[Bug middle-end/37980] [graphite] ICE : verify_ssa failed

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #3 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:26 ---
*** Bug 38044 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c++/38020] Undiagnosed const violation in pointer conversion in CRTP context.

2008-11-07 Thread gccbugs at marcusbannerman dot co dot uk


--- Comment #1 from gccbugs at marcusbannerman dot co dot uk  2008-11-07 
11:05 ---
I have the same problem, it is a static_cast problem not respecting const
correctness of pointers E.g.

class BaseClass {};

class someClass:public BaseClass 
{
public:
  void someFunction() {}
};

int main()
{
  //g++ (GCC) 4.1.2 (Gentoo 4.1.2 p1.1)
  //Run as g++ test.cpp
  someClass A;
  const BaseClass* ptrA(A);

  //Should fail on compile with not const function, does not
  static_castconst someClass*(ptrA)-someFunction();

  //This DOES fail
  static_castconst someClass(*ptrA).someFunction();

  /*Output is 
test.cpp: In function 'int main()':
test.cpp:16: error: passing 'const someClass' as 'this' argument of 
'void someClass::someFunction()' discards qualifiers
  */
}


-- 

gccbugs at marcusbannerman dot co dot uk changed:

   What|Removed |Added

 CC||gccbugs at marcusbannerman
   ||dot co dot uk


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



[Bug middle-end/38044] -O1/-O2/-O3 -fgraphite-identity causes ICE when compiling induct.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #7 from howarth at nitro dot med dot uc dot edu  2008-11-07 
15:26 ---
Looks like a duplicate of PR37980.

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


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/37955] [4.4 Regression] internal compiler error: in vectorizable_store, at tree-vect-transform.c:5447

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2008-11-07 10:43 ---
This is because the enum gets a different alias set than unsigned int.  We can
do two things:

 - reject the vectype.  This is difficult because we see different vectypes
   for both stores.
 - massage the access pointer to be a ref-all pointer.  This requires
   re-computing aliasing after the vectorizer.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-11-06 21:38:00 |2008-11-07 10:43:29
   date||


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



[Bug tree-optimization/38043] -O1/-O2/-O3 -fgraphite-identity causes ICE when compiling gas_dyn.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-11-07 
13:36 ---
Confirmed in current graphite branch as well.


-- 


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



[Bug ada/37681] [4.4 regression] Building 64-bit libada fails on Solaris/x86: alignment error

2008-11-07 Thread ro at gcc dot gnu dot org


--- Comment #10 from ro at gcc dot gnu dot org  2008-11-07 16:26 ---
Subject: Bug 37681

Author: ro
Date: Fri Nov  7 16:25:03 2008
New Revision: 141681

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141681
Log:
* system-irix-n64.ads: New file.
* gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
multilibs.

PR ada/37681
* system-solaris-x86_64.ads: New file.
* gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.

Added:
trunk/gcc/ada/system-irix-n64.ads
trunk/gcc/ada/system-solaris-x86_64.ads
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/Makefile.in


-- 


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-11-07 16:32 ---
*.copyprop4 still contains the needed stores:
  [gg5.c : 151] D.2147_293 = a3D.2068_292  shlD.2074_195;
  [gg5.c : 151] D.2148_295 = a0D.2065_294  shrD.2075_198;
  [gg5.c : 151] xD.2073_296 = D.2148_295 | D.2147_293;
  [gg5.c : 152] if (xD.2073_296 != b0D.2069_297)
goto bb 51;
  else
goto bb 55 (do2);
  # SUCC: 51 [72.0%]  (true,exec) 55 [28.0%]  (irreducible,false,exec)

  # BLOCK 51 freq:370, starting at line 0
  # PRED: 50 [72.0%]  (true,exec)
  # aD.2099_621 = VDEF aD.2099_620(D) { aD.2099 }
  aD.2099 = xD.2073_296;
  # bD.2098_623 = VDEF bD.2098_622(D) { bD.2098 }
  bD.2098 = b0D.2069_297;
  [gg5.c : 8] srcp1D.2100_298 = (long intD.2) [gg5.c : 8] aD.2099;
  [gg5.c : 9] srcp2D.2101_299 = (long intD.2) [gg5.c : 9] bD.2098;

  # BLOCK 52 freq:2640
  # PRED: 51 [100.0%]  (fallthru,exec) 53 [100.0%]  (fallthru,exec)
  # srcp1D.2100_300 = PHI srcp1D.2100_298(51), srcp1D.2100_308(53)
  # srcp2D.2101_304 = PHI srcp2D.2101_299(51), srcp2D.2101_309(53)
  [gg5.c : 13] srcp1.0D.2149_301 = (unsigned charD.10 *) srcp1D.2100_300;
  [gg5.c : 13] # VUSE aD.1965_413(D), bD.1970_414(D), aD.1971_415(D),
bD.1976_416(D), aD.1977_417(D), bD.1982_418(D), aD.1983_41
9(D), SMT.25D.2200_420(D) { aD.1965 bD.1970 aD.1971 bD.1976 aD.1977 bD.1982
aD.1983 SMT.25D.2200 }
  D.2150_302 = *srcp1.0D.2149_301;
  [gg5.c : 13] a0D.2102_303 = (long unsigned intD.4) D.2150_302;
  [gg5.c : 14] srcp2.1D.2151_305 = (unsigned charD.10 *) srcp2D.2101_304;
  [gg5.c : 14] # VUSE aD.1965_413(D), bD.1970_414(D), aD.1971_415(D),
bD.1976_416(D), aD.1977_417(D), bD.1982_418(D), aD.1983_41
9(D), SMT.25D.2200_420(D) { aD.1965 bD.1970 aD.1971 bD.1976 aD.1977 bD.1982
aD.1983 SMT.25D.2200 }
  D.2152_306 = *srcp2.1D.2151_305;

(a = x and b = b0) before taking their addresses, but *.dceloop1 nukes them,
supposedly because VUSE on the *srcp1 and *srcp2 reads is wrong.  This is with
-O2 -fno-strict-aliasing, but even with strict aliasing taking an address of an
unsigned long variable, casting it to unsigned char * and reading it a single
byte at a time through unsigned char * pointer is valid.


-- 


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



[Bug middle-end/38044] -O1/-O2/-O3 -fgraphite-identity causes ICE when compiling induct.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #6 from howarth at nitro dot med dot uc dot edu  2008-11-07 
13:37 ---
Confirmed in current graphite branch as well.


-- 


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



[Bug ada/34289] gnatmake -s doesn't work

2008-11-07 Thread ebotcazou at gcc dot gnu dot org


--- Comment #17 from ebotcazou at gcc dot gnu dot org  2008-11-07 10:47 
---
Subject: Bug 34289

Author: ebotcazou
Date: Fri Nov  7 10:46:18 2008
New Revision: 141673

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141673
Log:
PR ada/34289
* lib.ads: (Enable_Switch_Storing): Declare.
* lib.adb: (Enable_Switch_Storing): New procedure.
* switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
* make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
(Display): Never display -gnatea
* gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.

Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/lang-specs.h
trunk/gcc/ada/lib.adb
trunk/gcc/ada/lib.ads
trunk/gcc/ada/make.adb
trunk/gcc/ada/switch-c.adb


-- 


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-11-07 16:19 ---
In assembly, it seems the a and b arguments to mymemcmp1 aren't stored into
memory at all:
.loc 1 128 0
movq(%rax), %r12#* srcp2.272, b0
.LVL54:
.loc 1 126 0
movq(%rdi), %rsi#* srcp1, a3
.LVL55:
.loc 1 127 0
movq8(%rdi), %rbx   #, a0
.LVL56:
.loc 1 129 0
addq$8, %rdi#, srcp1.270
.LVL57:
.L28:
.loc 1 152 0
movl%r9d, %ecx  #,
.LVL58:
movq%rbx, %r10  # a0, tmp154
.loc 1 149 0
movq8(%rdi), %r11   #, a1
.LVL59:
.loc 1 152 0
salq%cl, %r10   #, tmp154
movl%r8d, %ecx  #,
.loc 1 150 0
movq8(%rax), %rbp   #, b1
.LVL60:
.loc 1 152 0
shrq%cl, %rsi   #, tmp155
.LVL61:
orq %rsi, %r10  # tmp155, tmp156
cmpq%r12, %r10  # b0, tmp156
je  .L26#,
.LBB112:
.LBB113:
.loc 1 8 0
leaq-8(%rsp), %rcx  #, srcp1
.LVL62:
.loc 1 9 0
leaq-16(%rsp), %rdx #, srcp2
.LVL63:
.p2align 4,,10
.p2align 3
.L31:
.loc 1 13 0
movzbl  (%rcx), %eax#* srcp1, a0
.LVL64:
.loc 1 14 0
movzbl  (%rdx), %edi#* srcp2, b0
...

At je .L26 insn %r12 register contains correct value of b0 variable and %r10 of
x (shifted + ored together value).  But then suddenly the code assumes it is in
memory without actually storing it there.


-- 


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



[Bug c/32455] [4.2/4.3/4.4 regression] ICE with modified va_list, allows declaration of __builtin_*

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2008-11-07 17:12 ---
Apparently glibc used it only for 2 builtins in include/stdio.h and it seemed
to be probably a workaround from back in 2003,  I've verified it is unnecessary
with gcc 4.1/4.3/4.4 and removed it.  Current glibc trunk compiles with rth's
patch just fine.  Therefore I'm removing my objection.  Can we proceed with
this for 4.4 then?


-- 


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



[Bug c/38046] 'warning: comparison between signed and unsigned' shouldn't be given for equality comparisons

2008-11-07 Thread edwintorok at gmail dot com


--- Comment #3 from edwintorok at gmail dot com  2008-11-07 17:14 ---
(In reply to comment #2)
 Subject: Re:   New: 'warning: comparison between signed and
  unsigned' shouldn't be given for equality comparisons
 
 On Fri, 7 Nov 2008, edwintorok at gmail dot com wrote:
 
  Consider this code:
  
  int foo(int a, unsigned b)
  {
  return a != b;
  }
 
  $ gcc -O2 -Wall -W foo.c -c
  foo.c: In function ‘foo’:
  foo.c:3: warning: comparison between signed and unsigned integer expressions
 
 Seems correct to me.  You could have a == -1 and b == UINT_MAX and they 
 would compare equal, but it's not at all obvious from the code that this 
 is the user's intent; and if it is their intent, they can use an explicit 
 cast.

It would be nice to have a separate warning option for ==, != comparisons, and
another for ,,=,= comparisons.

The problem is that with code that uses read(2) and write(2) you get lots of
warnings, and adding casts is time-consuming and of little benefit.
I'd like to turn -Wsign-compare into -Werror for 'make distcheck' in my
project, but can't do that due to the != comparisons. If I would have a
distinct -W flag for it, I could -Wno-error that.

 
  FWIW, if I change int to 'short int' or 'signed char' (and unsigned
  appropriately) I get no warning.
 
 Both short and unsigned short will be promoted to int before the 
 comparison, so you won't get -1 and USHRT_MAX comparing equal.
 

Ok


-- 


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



[Bug tree-optimization/38048] [4.3 Regression] Wrong alias info for array access

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-11-07 12:50 ---
Actually this is a dup of PR37868.  The points-to results for the access are
wrong:

  D.1577_7 = mat + D.1576_6;
  # VUSE SFT.18_14
  D.1578_8 = (*D.1577_7)[0];

from the constraints

D.1577_7 = mat
D.1577_7 = D.1576_6

(which are wrong)

we compute

D.1577_7 = { mat }

but correct would be { mat mat.32 }

with the fix for PR37868 we immediately say

D.1577_7 = { ANYTHING }

and this becomes a pessimization for field-sensitive points-to analysis.  See
PR38049 for this.

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
   Target Milestone|--- |4.3.3


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



[Bug c/32455] [4.2/4.3/4.4 regression] ICE with modified va_list, allows declaration of __builtin_*

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2008-11-07 17:24 ---
The patch as is already rejects typedef double *__builtin_va_list;, so it is
just
{struct,union,enum} __builtin_foo that isn't rejected on the C side, which we
could reject (disallow that in pushtag?), but isn't fatal, given that GCC
internally never uses struct __builtin_*, always just uses __builtin_*
typedefs.
On the C++ side, it is more work probably.


-- 


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



[Bug c++/38053] New: add a warning for b/c*d

2008-11-07 Thread mlg7 at yandex dot ru
If the compiler generates a warning for xy||z, it should also generate a
warning for a*b/c*d. The problem is that the programmer probably meant
a*b/(c*d), that is, a*b/c/d.

This relates to both C and C++.


-- 
   Summary: add a warning for b/c*d
   Product: gcc
   Version: 4.3.3
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mlg7 at yandex dot ru


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-11-07 17:35 ---
I will have a look.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Keywords||alias
   Last reconfirmed|2008-11-07 15:29:03 |2008-11-07 17:35:59
   date||


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug ada/34289] gnatmake -s doesn't work

2008-11-07 Thread ebotcazou at gcc dot gnu dot org


--- Comment #18 from ebotcazou at gcc dot gnu dot org  2008-11-07 10:49 
---
Sorry for the delay.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||11/msg00283.html
 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug c++/38053] add a warning for b/c*d

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-11-07 17:45 ---
Confirmed.


-- 

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 |2008-11-07 17:45:20
   date||


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



[Bug middle-end/38038] [graphite] -03 -fgraphite-identity causes ICE when compiling ac.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-11-07 
13:38 ---
Confirmed in current graphite branch as well.


-- 


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



[Bug c/38046] 'warning: comparison between signed and unsigned' shouldn't be given for equality comparisons

2008-11-07 Thread joseph at codesourcery dot com


--- Comment #2 from joseph at codesourcery dot com  2008-11-07 12:46 ---
Subject: Re:   New: 'warning: comparison between signed and
 unsigned' shouldn't be given for equality comparisons

On Fri, 7 Nov 2008, edwintorok at gmail dot com wrote:

 Consider this code:
 
 int foo(int a, unsigned b)
 {
 return a != b;
 }

 $ gcc -O2 -Wall -W foo.c -c
 foo.c: In function ‘foo’:
 foo.c:3: warning: comparison between signed and unsigned integer expressions

Seems correct to me.  You could have a == -1 and b == UINT_MAX and they 
would compare equal, but it's not at all obvious from the code that this 
is the user's intent; and if it is their intent, they can use an explicit 
cast.

 FWIW, if I change int to 'short int' or 'signed char' (and unsigned
 appropriately) I get no warning.

Both short and unsigned short will be promoted to int before the 
comparison, so you won't get -1 and USHRT_MAX comparing equal.


-- 


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



[Bug c/38047] -Wredundant-decls does not take scope into account

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-11-07 11:26 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2008-11-07 11:26:14
   date||


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



Re: [Bug c++/38035] New: GCC 4.3.2 Make fails on ubuntu - configure: error: cannot compute suffix of object files

2008-11-07 Thread satrajit



Bugzilla from [EMAIL PROTECTED] wrote:
 
 doing a configure and make fails with 4.3.2. gcc 4.2.4 works fine.
 
 Machine is running Ubuntu 8.04.1
 
 Here is the the tail of the make process:
 
 Cleaning up unneeded directories:
 fixincludes is done
 echo timestamp  stmp-fixinc
 rm -f mm_malloc.h
 cat ../../gcc-4.3.2/gcc/config/i386/pmm_malloc.h  mm_malloc.h
 if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
 if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx
 include-fixed; fi
 for file in .. ../../gcc-4.3.2/gcc/ginclude/float.h
 ../../gcc-4.3.2/gcc/ginclude/iso646.h
 ../../gcc-4.3.2/gcc/ginclude/stdarg.h
 ../../gcc-4.3.2/gcc/ginclude/stdbool.h
 ../../gcc-4.3.2/gcc/ginclude/stddef.h
 ../../gcc-4.3.2/gcc/ginclude/varargs.h
 ../../gcc-4.3.2/gcc/ginclude/stdfix.h
 ../../gcc-4.3.2/gcc/config/i386/cpuid.h
 ../../gcc-4.3.2/gcc/config/i386/mmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/mm3dnow.h
 ../../gcc-4.3.2/gcc/config/i386/xmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/emmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/pmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/tmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/ammintrin.h
 ../../gcc-4.3.2/gcc/config/i386/smmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/nmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/bmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/mmintrin-common.h mm_malloc.h; do \
   if [ X$file != X.. ]; then \
 realfile=`echo $file | sed -e 's|.*/\([^/]*\)$|\1|'`; \
 echo timestamp  include/$realfile; \
 rm -f include/$realfile; \
 cp $file include; \
 chmod a+r include/$realfile; \
   fi; \
 done
 rm -f include/unwind.h
 cp ../../gcc-4.3.2/gcc/unwind-generic.h include/unwind.h
 set -e; for ml in `cat fixinc_list`; do \
   sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \
   multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
   fix_dir=include-fixed${multi_dir}; \
   if [ -f `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e
 ta`/limits.h ] ; then \
 cat ../../gcc-4.3.2/gcc/limitx.h ../../gcc-4.3.2/gcc/glimits.h
 ../../gcc-4.3.2/gcc/limity.h  tmp-xlimits.h; \
   else \
 cat ../../gcc-4.3.2/gcc/glimits.h  tmp-xlimits.h; \
   fi; \
   /bin/bash ../../gcc-4.3.2/gcc/../mkinstalldirs ${fix_dir}; \
   chmod a+rx ${fix_dir} || true; \
   rm -f ${fix_dir}/limits.h; \
   mv tmp-xlimits.h ${fix_dir}/limits.h; \
   chmod a+r ${fix_dir}/limits.h; \
 done
 rm -f include-fixed/README
 cp ../../gcc-4.3.2/gcc/../fixincludes/README-fixinc include-fixed/README
 chmod a+r include-fixed/README
 echo timestamp  stmp-int-hdrs
 TARGET_CPU_DEFAULT= \
 HEADERS=auto-host.h ansidecl.h DEFINES=USED_FOR_TARGET  \
 /bin/bash ../../gcc-4.3.2/gcc/mkconfig.sh tconfig.h
 echo timestamp  gpl.pod
 perl ../../gcc-4.3.2/gcc/../contrib/texi2pod.pl
 ../../gcc-4.3.2/gcc/doc/include/gpl_v3.texi  gpl.pod
 echo timestamp  doc/gpl.7
 (pod2man --center=GNU --release=gcc-4.3.2 --section=7 gpl.pod 
 doc/gpl.7.T$$  \
 mv -f doc/gpl.7.T$$ doc/gpl.7) || \
 (rm -f doc/gpl.7.T$$  exit 1)
 make[3]: Leaving directory `/home/us291221/Desktop/build/gcc'
 mkdir -p -- i686-pc-linux-gnu/libgcc
 Checking multilib configuration for libgcc...
 Configuring stage 1 in i686-pc-linux-gnu/libgcc
 configure: creating cache ./config.cache
 checking for --enable-version-specific-runtime-libs... no
 checking for a BSD-compatible install... /usr/bin/install -c
 checking for gawk... no
 checking for mawk... mawk
 checking build system type... i686-pc-linux-gnu
 checking host system type... i686-pc-linux-gnu
 checking for i686-pc-linux-gnu-ar... ar
 checking for i686-pc-linux-gnu-lipo... lipo
 checking for i686-pc-linux-gnu-nm... /home/us291221/Desktop/build/./gcc/nm
 checking for i686-pc-linux-gnu-ranlib... ranlib
 checking for i686-pc-linux-gnu-strip... strip
 checking whether ln -s works... yes
 checking for i686-pc-linux-gnu-gcc...
 /home/us291221/Desktop/build/./gcc/xgcc
 -B/home/us291221/Desktop/build/./gcc/ -B/usr/local/i686-pc-linux-gnu/bin/
 -B/usr/local/i686-pc-linux-gnu/lib/ -isystem
 /usr/local/i686-pc-linux-gnu/include -isystem
 /usr/local/i686-pc-linux-gnu/sys-include
 checking for suffix of object files... configure: error: cannot compute
 suffix
 of object files: cannot compile
 See `config.log' for more details.
 make[2]: *** [configure-stage1-target-libgcc] Error 1
 make[2]: Leaving directory `/home/us291221/Desktop/build'
 make[1]: *** [stage1-bubble] Error 2
 make[1]: Leaving directory `/home/us291221/Desktop/build'
 make: *** [all] Error 2
 
 
 -- 
Summary: GCC 4.3.2 Make fails on ubuntu - configure: error:
 cannot compute suffix of object files
Product: gcc
Version: 4.3.2
 Status: UNCONFIRMED
   Severity: normal
   Priority: P3
  

[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-11-07 16:46 ---
At *.crited there is still a virtual dependency between a = x; (and b = b0;)
and
*srcp1 + *srcp2 reads:
  # MPT.26D.2201_438 = VDEF MPT.26D.2201_421(D) { MPT.26D.2201 }
  aD.2099 = xD.2073_296;
  # MPT.26D.2201_439 = VDEF MPT.26D.2201_438 { MPT.26D.2201 }
  bD.2098 = b0D.2069_297;
...
  [gg5.c : 13] # VUSE aD.1965_413(D), bD.1970_414(D), aD.1971_415(D),
bD.1976_416(D), aD.1977_417(D), bD.1982_418(D), aD.1983_41
9(D), SMT.25D.2200_420(D), MPT.26D.2201_439 { aD.1965 bD.1970 aD.1971 bD.1976
aD.1977 bD.1982 aD.1983 SMT.25D.2200 MPT.26D.2201
}
  D.2150_302 = *srcp1.0D.2149_301;
...
  [gg5.c : 14] # VUSE aD.1965_413(D), bD.1970_414(D), aD.1971_415(D),
bD.1976_416(D), aD.1977_417(D), bD.1982_418(D), aD.1983_41
9(D), SMT.25D.2200_420(D), MPT.26D.2201_439 { aD.1965 bD.1970 aD.1971 bD.1976
aD.1977 bD.1982 aD.1983 SMT.25D.2200 MPT.26D.2201
}
  D.2152_306 = *srcp2.1D.2151_305;

through MPT.26.  But in *.pre that's gone and there is no virtual dependency
between them anymore.


-- 


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



Re: [Bug c++/38035] New: GCC 4.3.2 Make fails on ubuntu - configure: error: cannot compute suffix of object files

2008-11-07 Thread satrajit

I have a similar problem on RHEL4 trying to build gcc-4.3.2.

I have 'gmp'  'mpfr' installed at /usr/local and it is in the
LD_LIBRARY_PATH and 'make check's for both gmp and mpfr have passed with
--with-mpfr and --with-gmp respectively.

gcc-4.3.2/configure has also identified and satisfied with the 'gmp' and
\mpfr' installations, as far as I could tell.

the 'config.log' looks exactly as it looks in the original posted message.



Bugzilla from [EMAIL PROTECTED] wrote:
 
 doing a configure and make fails with 4.3.2. gcc 4.2.4 works fine.
 
 Machine is running Ubuntu 8.04.1
 
 Here is the the tail of the make process:
 
 Cleaning up unneeded directories:
 fixincludes is done
 echo timestamp  stmp-fixinc
 rm -f mm_malloc.h
 cat ../../gcc-4.3.2/gcc/config/i386/pmm_malloc.h  mm_malloc.h
 if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
 if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx
 include-fixed; fi
 for file in .. ../../gcc-4.3.2/gcc/ginclude/float.h
 ../../gcc-4.3.2/gcc/ginclude/iso646.h
 ../../gcc-4.3.2/gcc/ginclude/stdarg.h
 ../../gcc-4.3.2/gcc/ginclude/stdbool.h
 ../../gcc-4.3.2/gcc/ginclude/stddef.h
 ../../gcc-4.3.2/gcc/ginclude/varargs.h
 ../../gcc-4.3.2/gcc/ginclude/stdfix.h
 ../../gcc-4.3.2/gcc/config/i386/cpuid.h
 ../../gcc-4.3.2/gcc/config/i386/mmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/mm3dnow.h
 ../../gcc-4.3.2/gcc/config/i386/xmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/emmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/pmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/tmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/ammintrin.h
 ../../gcc-4.3.2/gcc/config/i386/smmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/nmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/bmmintrin.h
 ../../gcc-4.3.2/gcc/config/i386/mmintrin-common.h mm_malloc.h; do \
   if [ X$file != X.. ]; then \
 realfile=`echo $file | sed -e 's|.*/\([^/]*\)$|\1|'`; \
 echo timestamp  include/$realfile; \
 rm -f include/$realfile; \
 cp $file include; \
 chmod a+r include/$realfile; \
   fi; \
 done
 rm -f include/unwind.h
 cp ../../gcc-4.3.2/gcc/unwind-generic.h include/unwind.h
 set -e; for ml in `cat fixinc_list`; do \
   sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \
   multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
   fix_dir=include-fixed${multi_dir}; \
   if [ -f `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e
 ta`/limits.h ] ; then \
 cat ../../gcc-4.3.2/gcc/limitx.h ../../gcc-4.3.2/gcc/glimits.h
 ../../gcc-4.3.2/gcc/limity.h  tmp-xlimits.h; \
   else \
 cat ../../gcc-4.3.2/gcc/glimits.h  tmp-xlimits.h; \
   fi; \
   /bin/bash ../../gcc-4.3.2/gcc/../mkinstalldirs ${fix_dir}; \
   chmod a+rx ${fix_dir} || true; \
   rm -f ${fix_dir}/limits.h; \
   mv tmp-xlimits.h ${fix_dir}/limits.h; \
   chmod a+r ${fix_dir}/limits.h; \
 done
 rm -f include-fixed/README
 cp ../../gcc-4.3.2/gcc/../fixincludes/README-fixinc include-fixed/README
 chmod a+r include-fixed/README
 echo timestamp  stmp-int-hdrs
 TARGET_CPU_DEFAULT= \
 HEADERS=auto-host.h ansidecl.h DEFINES=USED_FOR_TARGET  \
 /bin/bash ../../gcc-4.3.2/gcc/mkconfig.sh tconfig.h
 echo timestamp  gpl.pod
 perl ../../gcc-4.3.2/gcc/../contrib/texi2pod.pl
 ../../gcc-4.3.2/gcc/doc/include/gpl_v3.texi  gpl.pod
 echo timestamp  doc/gpl.7
 (pod2man --center=GNU --release=gcc-4.3.2 --section=7 gpl.pod 
 doc/gpl.7.T$$  \
 mv -f doc/gpl.7.T$$ doc/gpl.7) || \
 (rm -f doc/gpl.7.T$$  exit 1)
 make[3]: Leaving directory `/home/us291221/Desktop/build/gcc'
 mkdir -p -- i686-pc-linux-gnu/libgcc
 Checking multilib configuration for libgcc...
 Configuring stage 1 in i686-pc-linux-gnu/libgcc
 configure: creating cache ./config.cache
 checking for --enable-version-specific-runtime-libs... no
 checking for a BSD-compatible install... /usr/bin/install -c
 checking for gawk... no
 checking for mawk... mawk
 checking build system type... i686-pc-linux-gnu
 checking host system type... i686-pc-linux-gnu
 checking for i686-pc-linux-gnu-ar... ar
 checking for i686-pc-linux-gnu-lipo... lipo
 checking for i686-pc-linux-gnu-nm... /home/us291221/Desktop/build/./gcc/nm
 checking for i686-pc-linux-gnu-ranlib... ranlib
 checking for i686-pc-linux-gnu-strip... strip
 checking whether ln -s works... yes
 checking for i686-pc-linux-gnu-gcc...
 /home/us291221/Desktop/build/./gcc/xgcc
 -B/home/us291221/Desktop/build/./gcc/ -B/usr/local/i686-pc-linux-gnu/bin/
 -B/usr/local/i686-pc-linux-gnu/lib/ -isystem
 /usr/local/i686-pc-linux-gnu/include -isystem
 /usr/local/i686-pc-linux-gnu/sys-include
 checking for suffix of object files... configure: error: cannot compute
 suffix
 of object files: cannot compile
 See `config.log' for more details.
 make[2]: *** [configure-stage1-target-libgcc] Error 1
 make[2]: Leaving directory 

[Bug middle-end/37379] [graphite] ICE compiling aermod.f90 with -ffast-math -floop-block -O2 -fgraphite

2008-11-07 Thread spop at gcc dot gnu dot org


--- Comment #7 from spop at gcc dot gnu dot org  2008-11-07 18:03 ---
Fixed.


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/37379] [graphite] ICE compiling aermod.f90 with -ffast-math -floop-block -O2 -fgraphite

2008-11-07 Thread spop at gcc dot gnu dot org


--- Comment #8 from spop at gcc dot gnu dot org  2008-11-07 18:04 ---
Subject: Bug 37379

Author: spop
Date: Fri Nov  7 18:03:04 2008
New Revision: 141682

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141682
Log:
2008-11-07  Sebastian Pop  [EMAIL PROTECTED]

PR middle-end/37379
* tree-scalar-evolution.c (instantiate_scev_1): Return
chrec_dont_know for VL_EXP_CLASS_P.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-scalar-evolution.c


-- 


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



[Bug c/38046] 'warning: comparison between signed and unsigned' shouldn't be given for equality comparisons

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-11-07 11:26 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2008-11-07 11:26:49
   date||


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-11-07 18:43 ---
During update_alias_info we collect the variables that are written to, but
because we use gimple_stored_syms to get at them we miss those that are in
memory partitions.  If the new partitioning moves them out of a partition
we then miss conflicts for them.  Oops.

I have a patch.


-- 


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



[Bug middle-end/38054] Assertion failed in change_decl_assembler_name()

2008-11-07 Thread d dot g dot gorbachev at gmail dot com


--- Comment #1 from d dot g dot gorbachev at gmail dot com  2008-11-07 
18:45 ---
Created an attachment (id=16632)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16632action=view)
Preprocessed source


-- 


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



[Bug middle-end/38041] -O2 -fgraphite-identity causes ICE compiling channel.f90 Polyhedron 2005 benchmark

2008-11-07 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2008-11-07 
13:36 ---
Confirmed in current graphite branch as well.


-- 


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



[Bug tree-optimization/38048] New: [4.3 Regression] Wrong alias info for array access

2008-11-07 Thread rguenth at gcc dot gnu dot org
extern void abort(void);

int foo ()
{
  int mat[2][1];
  int (*a)[1] = mat;
  int det = 0;
  int i;
  mat[0][0] = 1;
  mat[1][0] = 2;
  for (i = 0; i  2; ++i)
det += a[i][0];
  return det;
}

int main()
{
  if (foo () != 3)
abort ();
  return 0;
}


-- 
   Summary: [4.3 Regression] Wrong alias info for array access
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Keywords: wrong-code, alias
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug middle-end/38054] New: Assertion failed in change_decl_assembler_name()

2008-11-07 Thread d dot g dot gorbachev at gmail dot com
mingw32-c++ (GCC) 4.4.0 20081031 (experimental)

internal compiler error: in change_decl_assembler_name, at cgraph.c:1252

C++ source is here:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/desktop/desktop.cpp?revision=34284content-type=text%2Fplain


-- 
   Summary: Assertion failed in change_decl_assembler_name()
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: d dot g dot gorbachev at gmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i386-pc-mingw32


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



[Bug c++/38055] New: key for compilation -Wconversion

2008-11-07 Thread lisp2d at lisp2d dot net
The key for compilation -Wconversion is very important.
 Its absence by default hides programming errors on different platforms.
 It is desirable to include this key with the help -Wall.


-- 
   Summary: key for compilation -Wconversion
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lisp2d at lisp2d dot net


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-07 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2008-11-07 19:33 ---
Created an attachment (id=16633)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16633action=view)
prototype patch

Prototype patch.  It needs some work as appearantly we cannot use MPT_SYMBOLS
reliably there - I get random segfaults / referenced_var_lookup ICEs.

As we are only interested in symbols we can just look at the statement
manually.
But at least for asms that will need some work.


-- 


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



[Bug target/35318] [4.3 regression] ICE with inline asm in reload

2008-11-07 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-11-07 19:49 ---
This doesn't ICE on the trunk after IRA merge.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|4.2.2   |4.2.2 4.4.0
Summary|[4.3/4.4 regression] ICE|[4.3 regression] ICE with
   |with inline asm in reload   |inline asm in reload


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



[Bug middle-end/35314] [4.2/4.3/4.4 regression] ICE with __builtin_setjmp and -fmudflap

2008-11-07 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-03-03 16:22:34 |2008-11-07 20:57:56
   date||


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



[Bug c/38056] New: Missed tail calls on ia64

2008-11-07 Thread jsworley at qwest dot net
The source code:

  int bar(int x);

  int
  foo(int x)
  {
return (bar(x + 1));
  }

generates the following assembly code with -O2 and -O3:

foo:
.mmi
alloc r34 = ar.pfs, 1, 3, 1, 0
nop 0
mov r33 = b0
.mmi
mov r35 = r1
nop 0
adds r36 = 1, r32
;;
.mib
nop 0
nop 0
br.call.sptk.many b0 = bar#
;;
.mii
nop 0
mov b0 = r33
mov r1 = r35
.mib
nop 0
mov ar.pfs = r34
br.ret.sptk.many b0

completely missing the tail call. We have confirmed that the x86
compiler handles this properly, as does the 3.2.1 version for ia64


-- 
   Summary: Missed tail calls on ia64
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsworley at qwest dot net
  GCC host triplet: i686-linux-gnu
GCC target triplet: ia64-linux-gnu


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



[Bug c++/38007] [4.2/4.3/4.4 Regression] g++ instantiate same operator twice due to bitfield in -O0 mode, causing symbol already defined assembler error

2008-11-07 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-11-03 20:07:32 |2008-11-07 22:24:09
   date||


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



[Bug c/38057] New: BUG: AVR-GCC ATMega2561 wrong addressing (probably eicall).

2008-11-07 Thread optech_tr at yahoo dot com
I wrote a code for atmega2561. The code's memory usage in prog memory is almost
153000 bytes.

The problem is, code doesn't work properly. the mcu getting reset or something
like this... I think compiled

code calls wrong addresses in somewhere of the memory. When I comment some of
part of text messages in the memory, the total memory usage become 126000 bytes
and the code works good

I had also had a problem with eicall in winavr. I had fixed it like this:

EIND = 1;
asm(ldi r30,0x00);
asm(ldi r31,0xf0);
asm(eicall);

I guess avr-gcc doesn't set EIND = 1; for atmega2561 while compiling.

So i cannot using the other part of mega2561 (nearly 128K) because of this
BUG.

Please somebody fix it, it is very urgent...

Thanks


-- 
   Summary: BUG: AVR-GCC ATMega2561 wrong addressing (probably
eicall).
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: optech_tr at yahoo dot com


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



Documentation error in [5.47 Built-in functions for atomic memory access]

2008-11-07 Thread David Fuchs

In section 5.47 Built-in functions for atomic memory access, both nand 
examples show incorrect code in their second lines.

Incorrect:

  { tmp = *ptr; *ptr op= value; return tmp; }
  { tmp = *ptr; *ptr = ~tmp  value; return tmp; }   // nand


Correct (move the ~ in 2nd line):

  { tmp = *ptr; *ptr op= value; return tmp; }
  { tmp = *ptr; *ptr = tmp  ~value; return tmp; }   // nand

 
Incorrect:

  { *ptr op= value; return *ptr; }
  { *ptr = ~*ptr  value; return *ptr; }   // nand

Correct (move the ~ in 2nd line):

  { *ptr op= value; return *ptr; }
  { *ptr = *ptr  ~value; return *ptr; }   // nand

p.s. I looked all over the place for the proper way to report a documentation 
error, and was unable to find anything helpful.  Perhaps the manual itself 
ought to point out where to report such.



[Bug debug/38058] New: gcc does not emit DW_TAG_template_type_parameter

2008-11-07 Thread tromey at gcc dot gnu dot org
GCC does not emit DW_TAG_template_type_parameter in the generated dwarf.
I think it should.


-- 
   Summary: gcc does not emit DW_TAG_template_type_parameter
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tromey at gcc dot gnu dot org


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



[Bug c/448] stdint.h-related issues (C99 issues)

2008-11-07 Thread jsm28 at gcc dot gnu dot org


--- Comment #12 from jsm28 at gcc dot gnu dot org  2008-11-08 00:15 ---
Subject: Bug 448

Author: jsm28
Date: Sat Nov  8 00:14:26 2008
New Revision: 141697

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141697
Log:
PR c/448
fixincludes:
* inclhack.def (newlib_stdint_1, newlib_stdint_2): New fixes.
* fixincl.x: Regenerate.
* tests/base/stdint.h: Update.

gcc:
* Makefile.in (USE_GCC_STDINT): Define.
(stmp-int-hdrs): Install stdint.h if applicable.
* c-common.c (CHAR16_TYPE): Define in terms of UINT_LEAST16_TYPE
if known.
(CHAR32_TYPE): Define in terms of UINT_LEAST32_TYPE if known.
(SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE,
UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
(c_common_nodes_and_builtins): Initialize
underlying_wchar_type_node.  Do not initialize
signed_wchar_type_node or unsigned_wchar_type_node.  Initialize
nodes for new types.
(c_stddef_cpp_builtins): Define macros for new types.
* c-common.h (CTI_SIGNED_WCHAR_TYPE, CTI_UNSIGNED_WCHAR_TYPE):
Remove.
(CTI_UNDERLYING_WCHAR_TYPE, CTI_SIG_ATOMIC_TYPE, CTI_INT8_TYPE,
CTI_INT16_TYPE, CTI_INT32_TYPE, CTI_INT64_TYPE, CTI_UINT8_TYPE,
CTI_UINT16_TYPE, CTI_UINT32_TYPE, CTI_UINT64_TYPE,
CTI_INT_LEAST8_TYPE, CTI_INT_LEAST16_TYPE, CTI_INT_LEAST32_TYPE,
CTI_INT_LEAST64_TYPE, CTI_UINT_LEAST8_TYPE, CTI_UINT_LEAST16_TYPE,
CTI_UINT_LEAST32_TYPE, CTI_UINT_LEAST64_TYPE, CTI_INT_FAST8_TYPE,
CTI_INT_FAST16_TYPE, CTI_INT_FAST32_TYPE, CTI_INT_FAST64_TYPE,
CTI_UINT_FAST8_TYPE, CTI_UINT_FAST16_TYPE, CTI_UINT_FAST32_TYPE,
CTI_UINT_FAST64_TYPE, CTI_INTPTR_TYPE, CTI_UINTPTR_TYPE): Define.
(signed_wchar_type_node, unsigned_wchar_type_node): Remove.
(underlying_wchar_type_node, sig_atomic_type_node, int8_type_node,
int16_type_node, int32_type_node, int64_type_node,
uint8_type_node, uint16_type_node, c_uint32_type_node,
c_uint64_type_node, int_least8_type_node, int_least16_type_node,
int_least32_type_node, int_least64_type_node,
uint_least8_type_node, uint_least16_type_node,
uint_least32_type_node, uint_least64_type_node,
int_fast8_type_node, int_fast16_type_node, int_fast32_type_node,
int_fast64_type_node, uint_fast8_type_node, uint_fast16_type_node,
uint_fast32_type_node, uint_fast64_type_node, intptr_type_node,
uintptr_type_node): Define.
* c-cppbuiltin.c (builtin_define_constants,
builtin_define_type_minmax): New.
(builtin_define_stdint_macros): Define more macros.
(c_cpp_builtins): Define more limit macros.
(type_suffix): New.
(builtin_define_type_max): Define in terms of
builtin_define_type_minmax.  Remove is_long parameter.  All
callers changed.
* config.gcc (use_gcc_stdint): Define.
(tm_file): Add glibc-stdint.h for targets using glibc or uClibc.
Add newlib-stdint.h for generic targets.
* config/glibc-stdint.h, config/newlib-stdint.h,
ginclude/stdint-gcc.h, ginclude/stdint-wrap.h: New.
* config/m32c/m32c.h (UINTPTR_TYPE): Define.
* config/score/score.h (UINTPTR_TYPE): Define.
* config/sol2.h (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE,
INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE,
UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
* config/spu/spu.h (STDINT_LONG32): Define.
* configure.ac (use_gcc_stdint): Substitute.
* configure: Regenerate.
* doc/cpp.texi (__SIG_ATOMIC_TYPE__, __INT8_TYPE__,
__INT16_TYPE__, __INT32_TYPE__, __INT64_TYPE__, __UINT8_TYPE__,
__UINT16_TYPE__, __UINT32_TYPE__, __UINT64_TYPE__,
__INT_LEAST8_TYPE__, __INT_LEAST16_TYPE__, __INT_LEAST32_TYPE__,
__INT_LEAST64_TYPE__, __UINT_LEAST8_TYPE__, __UINT_LEAST16_TYPE__,
__UINT_LEAST32_TYPE_, __UINT_LEAST64_TYPE__, __INT_FAST8_TYPE__,
__INT_FAST16_TYPE__, __INT_FAST32_TYPE__, __INT_FAST64_TYPE__,
__UINT_FAST8_TYPE__, __UINT_FAST16_TYPE__, __UINT_FAST32_TYPE__,
__UINT_FAST64_TYPE__, __INTPTR_TYPE__, __UINTPTR_TYPE__,

[Bug debug/38058] gcc does not emit DW_TAG_template_type_parameter

2008-11-07 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-11-08 00:40 ---
I want to say this is really PR 30161.


-- 


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



[Bug middle-end/37790] limits-fnargs.c takes very long time to compile at -O2

2008-11-07 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2008-11-08 00:55 ---
The same problem is present on hppa64.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu dot
   ||org


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



[Bug debug/38058] gcc does not emit DW_TAG_template_type_parameter

2008-11-07 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2008-11-08 00:57 ---
I agree.  I didn't see that one since I searched for the full tag name.


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


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/30161] GCC should generate dwarf info about template parameters

2008-11-07 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2008-11-08 00:57 ---
*** Bug 38058 has been marked as a duplicate of this bug. ***


-- 


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



[Bug middle-end/38059] New: Compile time regression for gcc.dg/20020425-1.c

2008-11-07 Thread danglin at gcc dot gnu dot org
The test now fails.  It doesn't fail on previous GCC versions.
Timing the compilation, I see:

real6m49.686s
user6m49.490s
sys 0m0.210s


-- 
   Summary: Compile time regression for gcc.dg/20020425-1.c
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa64-hp-hpux11.11
  GCC host triplet: hppa64-hp-hpux11.11
GCC target triplet: hppa64-hp-hpux11.11


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



[Bug rtl-optimization/35729] const volatile variable access incorrectly hoisted out of loop

2008-11-07 Thread danglin at gcc dot gnu dot org


--- Comment #8 from danglin at gcc dot gnu dot org  2008-11-08 01:34 ---
The test pr35729.c also fails on hppa64-hp-hpux11.11.


-- 


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



[Bug middle-end/37323] [4.4 Regression] __builtin_apply failures

2008-11-07 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2008-11-08 02:02 ---
As of 2008-11-07, the only remaining failure is builtin-apply4.c.


-- 


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



[Bug tree-optimization/37433] [4.4 Regression] tree check: expected function_decl, have string_cst in ccp_fold, at tree-ssa-ccp.c:1050

2008-11-07 Thread raj dot khem at gmail dot com


--- Comment #10 from raj dot khem at gmail dot com  2008-11-08 04:56 ---
on arm I get 

/home/kraj/work/cross/arm-none-linux-gnueabi/obj/gcc3/gcc/xgcc
-B/home/kraj/work/cross/arm-none-linux-gnueabi/obj/gcc3/gcc/   -O1  -w -c -o
pr37433.o
/home/kraj/work/gcc-trunk/gcc/testsuite/gcc.c-torture/compile/pr37433.c   
(timeout = 300)
pid is 7689 -7689
/home/kraj/work/gcc-trunk/gcc/testsuite/gcc.c-torture/compile/pr37433.c: In
function 'regex_subst':
/home/kraj/work/gcc-trunk/gcc/testsuite/gcc.c-torture/compile/pr37433.c:4:
internal compiler error: tree check: expected tree that contains 'decl with
visibility' structure, have 'string_cst' in arm_function_in_section_p, at
config/arm/arm.c:3312
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

my gcc is 

Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with:
/home/kraj/work/cross/arm-none-linux-gnueabi/../../gcc-trunk/configure
--target=arm-none-linux-gnueabi
--prefix=/home/kraj/work/cross/arm-none-linux-gnueabi/tools
--with-sysroot=/home/kraj/work/cross/arm-none-linux-gnueabi/sysroot
--enable-__cxa_atexit --disable-libssp --disable-libgomp --disable-libmudflap
--enable-languages=c,c++
Thread model: posix
gcc version 4.4.0 20081106 (experimental) (GCC)


-- 


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



[Bug fortran/37445] Host-associated proc not found if same-name generic is use-associated

2008-11-07 Thread pault at gcc dot gnu dot org


--- Comment #17 from pault at gcc dot gnu dot org  2008-11-08 06:20 ---
Subject: Bug 37445

Author: pault
Date: Sat Nov  8 06:19:12 2008
New Revision: 141706

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141706
Log:
2008-11-08  Paul Thomas  [EMAIL PROTECTED]

PR fortran/37445
* resolve.c (resolve_call): Check host association is correct.
(resolve_actual_arglist ): Remove return is old_sym is use
associated.  Only reparse expression if old and new symbols
have different types.

PR fortran/PR35769
* resolve.c (gfc_resolve_assign_in_forall): Change error to a
warning.

2008-11-08  Paul Thomas  [EMAIL PROTECTED]

PR fortran/37445
* gfortran.dg/host_assoc_call_3.f90: New test.
* gfortran.dg/host_assoc_call_4.f90: New test.
* gfortran.dg/host_assoc_function_4.f90: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/host_assoc_call_3.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/host_assoc_call_4.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/host_assoc_function_4.f90
Modified:
branches/gcc-4_3-branch/gcc/fortran/ChangeLog
branches/gcc-4_3-branch/gcc/fortran/resolve.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/37445] Host-associated proc not found if same-name generic is use-associated

2008-11-07 Thread pault at gcc dot gnu dot org


--- Comment #18 from pault at gcc dot gnu dot org  2008-11-08 06:49 ---
Fixed on thrunk and 4.3.

Thanks for the report.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/35769] inappropriate FORALL error

2008-11-07 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2008-11-08 06:50 ---
Fixed on trunk and 4.3.

Thanks for the report.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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