[Bug target/26398] Wrong code generated with SPE-Extensions on PowerPC

2006-02-22 Thread christian dot metzler at bmw-carit dot de


--- Comment #2 from christian dot metzler at bmw-carit dot de  2006-02-22 
08:11 ---
Simple test case:

int main(int argc, char **argv) {
float t;
char u;

t = 1.0;
u = ( ( t0.0)?-1:((t0.0)?1:0));

return (int)u;
}

Compiles e.g. on i386 and returns 1. Compiled with given C-Flags and executed
on a MPC5553 it stores 0 in u. Debugged with a Lauterbach Debugger over JTAG.


-- 


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-22 Thread jakub at gcc dot gnu dot org


--- Comment #17 from jakub at gcc dot gnu dot org  2006-02-22 08:11 ---
The nop before the signal trampoline is needed for similar reason, but one
signal frame lower.  A normal signal frame lower in the stack will contain
the exact address of the start of the trampoline (or in unusual cases another
signal frame will contain some address within the trampoline's range if a
thread
has been signalled while executing the few trampoline instructions).  That's
not what is being addressed in this PR, FDE for the trampoline simply
can start 1 (or more) bytes before the trampoline and there is a limited
number of trampolines (the dynamically created ones are always handled by
MD_FALLBACK_FRAME_STATE_FOR).  This PR is about PC stored in the signal frame
and used when handling the bottommost frame above the signal frame.

As for PPC vDSO, if you have a spare register slot in the 0 ..
DWARF_FRAME_REGISTERS range, you can certainly try to do the same as the S
flag is doing.  In MD_FALLBACK_FRAME_STATE_FOR it is doable (e.g.
s390/linux-unwind.h was doing that, although just for 2 selected signals, which
wasn't good enough, as e.g. all async signals need to be handled the same).
Doing it in vDSO's .eh_frame might be far more difficult, remember that
DW_CFA_expression returns address where a register is stored and there is
no DW_CFA_expression_value that would be able to compute arbitrary register
values and leave it on unwinder implementation to find a memory slot into
which to store the value during unwinding.  I don't think there are any means
to store some value into certain address in .eh_frame either, so you'd need to
modify kernel to store both PC and PC+1 into the sigcontext at handle_signal
time and the .eh_frame to use it.  Doable, but it doesn't buy you anything
over just adding S flags.  In both cases were are trouble with libjava
when using kernels since vDSO was added till either S flag is added to the
vDSO .eh_frame, or the above described ugliness is implemented in the kernel.

In libjava/include/*-signal.h we need to know how will signal frame unwinding
work.  On most architectures we know that - MD_FALLBACK_FRAME_STATE_FOR is
used and we control both M_F_F_S_F and *-signal.h in the same tree.  On some
architectures it is under glibc or kernel control (i386, alpha), but *-signal.h
can override it, force use of M_F_F_S_F or provide its own unwind info.
But on ppc it used to be M_F_F_S_F, but since November it is in kernel's hands
and libjava cannot override.  As the S flag doesn't affect older libgcc's,
the only thing that will not work is GCC (libgcc+libgcj particularly) after
(if) these patches make it in with kernel between November and now.


-- 


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



[Bug tree-optimization/26400] Missed jump threading on the tree level

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-02-22 09:55 ---
Confirmed.


-- 

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 |2006-02-22 09:55:47
   date||


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-22 Thread uweigand at gcc dot gnu dot org


--- Comment #18 from uweigand at gcc dot gnu dot org  2006-02-22 09:57 
---
(In reply to comment #17)

 (e.g. s390/linux-unwind.h was doing that, although just for 2 selected
 signals, which  wasn't good enough, as e.g. all async signals need to be
 handled the same).

We've actually taken quite a bit of care to ensure that the position of
the PC on s390 can be understood deterministically in all cases.  The
synchronous signals come in two flavours:
- SIGSEGV and SIGBUS: here the PC points back to the instruction 
that we attempted and failed to execute -- returning from the signal
handler would by default re-execute the failed instruction
- SIGILL, SIGFPE, and SIGTRAP: here the PC points after the instruction
that caused the signal condition to be raised -- returning from the
signal handler would by default simply continue after that instruction

For all asynchronous signals, the PC points to the first instruction we
have not executed yet -- returning from the signal handler thus continues
execution with that instruction.

So you *need* to handle signals differently depending on what signal
it is -- I'm not sure I understand why you want to remove that.  What
we currently have definitely works correctly for all synchronous signals
on s390.

As for asynchronous signals, I guess it depends on what you want to see
happen here -- I'm not sure what it means to throw an exception from 
within an asynchronous signal handler.   For unwinding purposes, I guess
I can see why you would want the next instruction to show up in the
backtrace, so I wouldn't mind changing the 
  if (signal == SIGBUS || signal == SIGSEGV)
to
  if (signal != SIGILL  signal != SIGFPE  signal != SIGTRAP)


-- 


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-22 10:05 ---
Interesting.  a_3 is not single use, so we shouldn't do this.  Investigating.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)

2006-02-22 Thread uros at kss-loka dot si


--- Comment #17 from uros at kss-loka dot si  2006-02-22 10:15 ---
Works OK with gcc-4.2 and -Os -msse -fomit-frame-pointer.


-- 

uros at kss-loka dot si changed:

   What|Removed |Added

 CC||uros at kss-loka dot si


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-02-22 Thread jakub at gcc dot gnu dot org


--- Comment #19 from jakub at gcc dot gnu dot org  2006-02-22 10:25 ---
Sure, if you want to do that for s390, s390/linux-unwind.h can still do
if (!signo || (*signo != 4  *signo != 5  *signo != 8))
  fs-signal_frame = 1;
(I think !signo - fs-signal_frame = 1; is better default, there are far more
signals that have PC before insn and assuming PC before insn even when PC is
after insn is less severe problem).
The important thing now is only if this needs to be expressible in .eh_frame
or not.  Richard thinks it does not.


-- 


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



[Bug c/26412] New: Problem with OpenMP / C

2006-02-22 Thread eloranta at jyu dot fi
The following code causes gcc to crash when openmp is enabled:

bug2.c:

/*
 * This program triggers an openmp bug in gcc 4.2:
Using built-in specs.
Target: powerpc-apple-darwin8.4.0
Configured with: /opt/local/var/db/dports/build/_opt_local_var_db_dports_sour
ces_rsync.rsync.darwinports.org_dpupdate_dports_lang_gcc42/work/gcc-4.2-20060
204/configure --prefix=/opt/local --enable-languages=c,c++,java,objc,fortran 
--libdir=/opt/local/lib/gcc42 --includedir=/opt/local/include/gcc42 --infodir
=/opt/local/share/info --mandir=/opt/local/share/man --with-local-prefix=/opt
/local --with-system-zlib --disable-nls --program-suffix=-dp-4.2 --with-gxx-i
nclude-dir=/opt/local/include/gcc42/c++/ --with-gmp=/opt/local --with-mpfr=/o
pt/local --disable-multilib
Thread model: posix
gcc version 4.2.0 20060204 (experimental)
*
*
* To compile:
*
* gcc -fopenmp -c bug2.c
*
* The resulting error message is:
*
bug2.c: In function 'test':
bug2.c:34: internal compiler error: Bus error
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
*
* The program compiles without the -fopenmp flag.
*
* The system is MacOS X 10.4.5.
*
* Note: the program does nothing useful (it just for demonstrating the problem)
*
*/

extern double table_h[];
extern int dft_model;

void test() {

  int ri;
  double ph;

#pragma omp parallel for private(ri)
  for (ri = 0; ri  100; ri++) {
ph = table_h[dft_model];
  }
}

bug2.i:

# 1 bug2.c
# 1 built-in
# 1 command line
# 1 bug2.c
# 26 bug2.c
extern double table_h[];
extern int dft_model;

void test() {

  int ri;
  double ph;

#pragma omp parallel for private(ri)
  for (ri = 0; ri  100; ri++) {
ph = table_h[dft_model];
  }
}


-- 
   Summary: Problem with OpenMP / C
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: eloranta at jyu dot fi


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-02-22 10:32 ---
find_equivalent_equality_comparison through simplify_cond,
forward_propagate_into_cond does this.  I have a patch which restricts forwprop
to using single-use names.  Though I wonder if this is appropriate and we
rather should teach VRP to infer range information for D.2354_2 from a_3.


-- 


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



[Bug target/26408] incorrect handling of x86 H registers in inline asm

2006-02-22 Thread schwab at suse dot de


--- Comment #2 from schwab at suse dot de  2006-02-22 10:40 ---
You need to use %h2.


-- 

schwab at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to fail|2.95 3.2 3.3.3 3.4.0 4.0.0  |
   |4.1.0 4.2.0 |
 Resolution||INVALID


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



[Bug gcov/profile/26399] -fprofile-use fails with unnamed namespaces in 4.1.0 prerelease

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-22 11:30 ---
Providing -frandom-seed=0 is a workaround.


-- 


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



[Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)

2006-02-22 Thread roger dot larsson at norran dot net


--- Comment #18 from roger dot larsson at norran dot net  2006-02-22 11:31 
---
(In reply to comment #16)
 raising severity because this bug makes -Os almost useless on modern x86.
 
With gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
my testcase works but not Serge Belyshevs 


-- 


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



[Bug target/26415] New: [4.2 regression] m68k-linux bootstrap error during stage2

2006-02-22 Thread debian-gcc at lists dot debian dot org
trunk 20060218, on m68k-linux:

  Matthias

/build/buildd/gcc-snapshot-20060218/build/./prev-gcc/xgcc
-B/build/buildd/gcc-snapshot-20060218/build/./prev-gcc/
-B/usr/lib/gcc-snapshot/m68k-linux-gnu/bin/ -c   -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wmissing-format-attribute -fno-common   -DHAVE_CONFIG_H
-I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include
-I../../src/gcc/../libcpp/include  -I../../src/gcc/../libdecnumber
-I../libdecnumber../../src/gcc/tree-ssa-reassoc.c -o tree-ssa-reassoc.o
/tmp/ccQSa8G6.s: Assembler messages:
/tmp/ccQSa8G6.s:3389: Error: value out of range
/tmp/ccQSa8G6.s:3389: Error: value of 1488 too large for field of 1 bytes at
10891
make[5]: *** [tree-ssa-reassoc.o] Error 1
make[5]: Leaving directory `/build/buildd/gcc-snapshot-20060218/build/gcc'
make[4]: *** [all-stage2-gcc] Error 2
make[4]: Leaving directory `/build/buildd/gcc-snapshot-20060218/build'
make[3]: *** [stage2-bubble] Error 2
make[3]: Leaving directory `/build/buildd/gcc-snapshot-20060218/build'
make[2]: *** [bootstrap] Error 2


-- 
   Summary: [4.2 regression] m68k-linux bootstrap error during
stage2
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: debian-gcc at lists dot debian dot org
GCC target triplet: m68k-linux


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-02-22 12:47 ---
Of course we have the other case where we _have_ to propagate to optimize away
the test (gcc.dg/tree-ssa/20030807-2.c):

foo(int n)
{
  int *space = (int *)__builtin_alloca (n);

  if (space == 0)
abort ();
  else
bar (space);
}

where there is a 2nd use of space:

foo (n)
{
  int * space;
  void * D.1899;
  long unsigned int D.1898;

bb 2:
  D.1898_2 = (long unsigned int) n_1;
  D.1899_3 = __builtin_alloca (D.1898_2);
  space_4 = (int *) D.1899_3;
  if (space_4 == 0B) goto L0; else goto L1;

L0:;
  abort ();

L1:;
  bar (space_4);
  return;

}

So I think extending VRP is the only way to get both testcases optimized.


-- 


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2006-02-22 12:49 ---
Created an attachment (id=10891)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10891action=view)
patch restricting forwprop

Patch that apart from regressing gcc.dg/tree-ssa/20030807-2.c bootstrapped and
tested ok.


-- 


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



[Bug target/26415] [4.2 regression] m68k-linux bootstrap error during stage2

2006-02-22 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||assemble-failure, build
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-02-22 12:58 ---
(In reply to comment #6)
 Patch that apart from regressing gcc.dg/tree-ssa/20030807-2.c bootstrapped and
 tested ok.
There is no regressions here as this test is already failing before your patch,
see PR 26344.


-- 


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



[Bug middle-end/26412] Problem with OpenMP / C

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 13:01 ---
Confirmed, backtrace:
#0  0x00105ff4 in omp_add_variable (ctx=0x429008e0, decl=0x41edae70, flags=5)
at /Users/pinskia/src/gcc/local/gcc/gcc/gimplify.c:4271
#1  0x00105fc0 in omp_add_variable (ctx=0x429008e0, decl=0x41edae70, flags=5)
at /Users/pinskia/src/gcc/local/gcc/gcc/gimplify.c:4253
#2  0x001065fc in omp_notice_variable (ctx=0x578630, decl=0x429008e0,
in_code=108 'l') at /Users/pinskia/src/gcc/local/gcc/gcc/gimplify.c:4390
#3  0x001064dc in omp_notice_variable (ctx=0x578630, decl=0x429008e0,
in_code=108 'l') at /Users/pinskia/src/gcc/local/gcc/gcc/gimplify.c:4411
#4  0x00106704 in gimplify_var_or_parm_decl (expr_p=0x5) at
/Users/pinskia/src/gcc/local/gcc/gcc/gimplify.c:1599
#5  0x001148d4 in gimplify_compound_lval (expr_p=0x41ee0440, pre_p=0xb0cc,
post_p=0xb0d0, fallback=fb_rvalue) at
/Users/pinskia/src/gcc/local/gcc/gcc/gimplify.c:1660


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal
 Status|UNCONFIRMED |NEW
  Component|c   |middle-end
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code, openmp
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 13:01:10
   date||


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread patchapp at dberlin dot org


--- Comment #8 from patchapp at dberlin dot org  2006-02-22 13:10 ---
Subject: Bug number PR26406

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01754.html


-- 


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



[Bug c++/26417] New: typeid(typeid(*object)) ICE on g++ 3.x / i686

2006-02-22 Thread gcc-bugzilla at gcc dot gnu dot org


The code below generates a compiler ICE with g++ 3.3 (debian stable),
g++ 3.4 (debian testing):

[pollindd] ~ g++-3.3 -c ice-typeid.cc

   1036
ice-typeid.cc: In function `int bug5(BaseB*)':
ice-typeid.cc:43: internal compiler error: in expand_expr, at expr.c:8833
Please submit a full bug ...

[pollindd] ~ g++-3.4 -c ice-typeid.cc

   1037
ice-typeid.cc: In function `int bug5(BaseB*)':
ice-typeid.cc:43: internal compiler error: in expand_expr_real, at
expr.c:8469
Please submit a full bug report...

It works well with g++ 2.95.4 (debian). Maybe related to bug #25357.

Environment:
System: Linux pollindd 2.6.15.2-adeos #2 PREEMPT Wed Feb 15 12:00:00 CET
2006 i686 GNU/Linux
Architecture: i686

host: i486-pc-linux-gnu
build: i486-pc-linux-gnu
target: i486-pc-linux-gnu
configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4
--enable-shared --with-system-zlib --enable-nls
--without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit
--enable-libstdcxx-allocator=mt --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk
--disable-werror i486-linux

How-To-Repeat:

Initial source code (5 bugs included: play with -DBUG=x option to
activate them):


#include typeinfo

class BaseB
{
public:
  virtual ~BaseB() {}
};

#if BUG == 1

const char* bug1(BaseB const* o)
{
  return typeid(typeid(*o)).name();
}

#elif BUG == 2

const std::type_info  bug2(BaseB const* o)
{
  return typeid(typeid(*o));
}

#elif BUG == 3

const char* bug3(BaseB * o)
{
  return typeid(typeid(*o)).name();
}

#elif BUG == 4

const std::type_info  bug4(BaseB * o)
{
  return typeid(typeid(*o));
}

#else

int bug5(BaseB * o)
{
  int i;
  return (typeid(typeid(*o)) == typeid(i));
}

#endif



Output from g++ 3.3 -E :

# 1 ice-typeid.cc
# 1 built-in
# 1 command line
# 1 ice-typeid.cc

# 1 /usr/include/c++/3.3/typeinfo 1 3
# 38 /usr/include/c++/3.3/typeinfo 3
# 1 /usr/include/c++/3.3/exception 1 3
# 40 /usr/include/c++/3.3/exception 3
extern C++ {

namespace std
{
# 52 /usr/include/c++/3.3/exception 3
  class exception
  {
  public:
exception() throw() { }
virtual ~exception() throw();


virtual const char* what() const throw();
  };



  class bad_exception : public exception
  {
  public:
bad_exception() throw() { }


virtual ~bad_exception() throw();
  };


  typedef void (*terminate_handler) ();

  typedef void (*unexpected_handler) ();


  terminate_handler set_terminate(terminate_handler) throw();


  void terminate() __attribute__ ((__noreturn__));


  unexpected_handler set_unexpected(unexpected_handler) throw();


  void unexpected() __attribute__ ((__noreturn__));
# 100 /usr/include/c++/3.3/exception 3
  bool uncaught_exception() throw();
}

namespace __gnu_cxx
{
# 113 /usr/include/c++/3.3/exception 3
  void __verbose_terminate_handler ();
}

}
# 39 /usr/include/c++/3.3/typeinfo 2 3

extern C++ {

namespace __cxxabiv1
{
  class __class_type_info;
}
# 55 /usr/include/c++/3.3/typeinfo 3
namespace std
{






  class type_info
  {
  public:




virtual ~type_info();

  private:

type_info operator=(const type_info);
type_info(const type_info);

  protected:
const char *__name;

  protected:
explicit type_info(const char *__n): __name(__n) { }

  public:



const char* name() const
{ return __name; }
# 101 /usr/include/c++/3.3/typeinfo 3
bool before(const type_info __arg) const
{ return __name  __arg.__name; }
bool operator==(const type_info __arg) const
{ return __name == __arg.__name; }

bool operator!=(const type_info __arg) const
{ return !operator==(__arg); }


  public:

virtual bool __is_pointer_p() const;

virtual bool __is_function_p() const;







virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
unsigned __outer) const;


virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
 void **__obj_ptr) const;
  };






  class bad_cast : public exception
  {
  public:
bad_cast() throw() { }


virtual ~bad_cast() throw();
  };


  class bad_typeid : public exception
  {
  public:
bad_typeid () throw() { }


virtual ~bad_typeid() throw();
  };
}

}
# 3 ice-typeid.cc 2

class BaseB
{
public:
  virtual ~BaseB() {}
};
# 40 ice-typeid.cc
int bug5(BaseB * o)
{
  int i;
  return (typeid(typeid(*o)) == typeid(i));
}




Output from g++ 3.4 -E :


# 1 ice-typeid.cc
# 1 built-in
# 1 command line
# 1 ice-typeid.cc

# 1 /usr/include/c++/3.4/typeinfo 1 3
# 38 /usr/include/c++/3.4/typeinfo 3
# 1 /usr/include/c++/3.4/exception 1 3
# 40 /usr/include/c++/3.4/exception 3
extern C++ {

namespace std
{
# 52 /usr/include/c++/3.4/exception 3
  

[Bug c++/26418] New: App with assignment to *(ptr + member_returning_zero()) segfaults

2006-02-22 Thread fuchsia dot groan at virgin dot net
/*
  This code segfaults when executed on gcc 4.01 on i586/linux (mandriva 2006)

  Works fine on gcc 3.x - couldn't find a newer version to test it on.

  PS I couldn't find anything in your bug writing guidelines what to put in
host triplet etc...

gcc -v:

Using built-in specs.
Target: i586-mandriva-linux-gnu
Configured with: ../configure --prefix=/usr --libexecdir=/usr/lib
--with-slibdir=/lib --mandir=/usr$
Thread model: posix
gcc version 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0) 
*/  

typedef unsigned int uint;

char* dummy;

struct Array {
char** ptr;

void push(char* i)   { *(ptr+alloc()) = i; }

uint alloc() {
   ptr = dummy;
   return 0;
}

};

int main()
{
   Array test;
   char* arg = fred;
   test.push(arg);
   // can you please check check *test.ptr == arg, as that was what led
   // me to finding the bug wasn't
}


-- 
   Summary: App with assignment to  *(ptr + member_returning_zero())
segfaults
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fuchsia dot groan at virgin dot net


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



[Bug c++/26418] App with assignment to *(ptr + member_returning_zero()) segfaults

2006-02-22 Thread fuchsia dot groan at virgin dot net


--- Comment #1 from fuchsia dot groan at virgin dot net  2006-02-22 13:41 
---
No compile options just g++ test.cpp generates faulty code


-- 

fuchsia dot groan at virgin dot net changed:

   What|Removed |Added

 CC||fuchsia dot groan at virgin
   ||dot net


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



[Bug middle-end/26412] Problem with OpenMP / C

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 13:59 ---
Also confirmed on x86_64-linux-gnu with the same backtrace.


-- 


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



[Bug c++/26418] App with assignment to *(ptr + member_returning_zero()) segfaults

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 14:04 ---
ptr+alloc()

The C and the C++ standard does not say which of ptr and alloc() is evaluated
first so GCC is producing code which evaluates ptr before calling alloc which
is ok for C and C++.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c/11751] wrong evaluation order of an expression

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #59 from pinskia at gcc dot gnu dot org  2006-02-22 14:04 
---
*** Bug 26418 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fuchsia dot groan at virgin
   ||dot net


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



[Bug target/25218] [4.0 Regression] ICE : in compensate_edge, at reg-stack.c:2795

2006-02-22 Thread jv244 at cam dot ac dot uk


--- Comment #9 from jv244 at cam dot ac dot uk  2006-02-22 14:08 ---
Added Jan Hubicka, since he seems the original author of the code that fails
(hope I get it right this time) and might have an idea on how to fix this in
time for 4.0.3


-- 

jv244 at cam dot ac dot uk changed:

   What|Removed |Added

 CC|nathan at codesourcery dot  |hubicka at gcc dot gnu dot
   |com |org


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



[Bug c++/26417] typeid(typeid(*object)) ICE on g++ 3.x / i686

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 14:09 ---
Yes this is a dup of bug 25357.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/25357] [3.4/4.0 Regression] ICE in typeid

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-02-22 14:09 ---
*** Bug 26417 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||david dot decotigny at poly
   ||dot in2p3 dot fr


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



[Bug c++/26417] typeid(typeid(*object)) ICE on g++ 3.x / i686

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-22 14:10 ---
The reason why I say it is a dup is because it works in 4.1.0 and the mainline
just fine and 4.0.3 gave the same ICE for both of the bugs.


-- 


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



[Bug other/26419] New: -ftree-vectorizer-verbose=n documentation is terse

2006-02-22 Thread rguenth at gcc dot gnu dot org
The documentation for -ftree-vectorizer-verbose doesn't give the slightest
hints
on useful values for n:

-ftree-vectorizer-verbose=n
This option controls the amount of debugging output the vectorizer prints.
This information is written to standard error, unless -fdump-tree-all or
-fdump-tree-vect is specified, in which case it is output to the usual dump
listing file, .vect.


-- 
   Summary: -ftree-vectorizer-verbose=n documentation is terse
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: documentation
  Severity: normal
  Priority: P3
 Component: other
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=26419



[Bug middle-end/26412] ICE with external arrays using OpenMP

2006-02-22 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-02-22 14:18 
---
Even shorter testcase:

==
extern int table[];

void foo()
{
#pragma omp parallel
  table[0];
}
==


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
Summary|Problem with OpenMP / C |ICE with external arrays
   ||using OpenMP


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



[Bug tree-optimization/26419] -ftree-vectorizer-verbose=n documentation is terse

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 14:19 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 14:19:30
   date||


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



[Bug tree-optimization/26420] New: -ftree-vectorizer-verbose=1 prints unvectorized loops information

2006-02-22 Thread rguenth at gcc dot gnu dot org
tramp3d-v4.cpp:3740: note: vectorized 0 loops in function.

tramp3d-v4.cpp:3740: note: vectorized 0 loops in function.

tramp3d-v4.cpp:50941: note: vectorized 0 loops in function.

tramp3d-v4.cpp:3740: note: vectorized 0 loops in function.

tramp3d-v4.cpp:3740: note: vectorized 0 loops in function.

etc.

  if (vect_print_dump_info (REPORT_VECTORIZED_LOOPS))
fprintf (vect_dump, vectorized %u loops in function.\n,
 num_vectorized_loops);

here we should check if num_vectorized_loops is 0 or verbosity level
includes REPORT_UNVECTORIZED_LOOPS.  Though even in this case the
note does not provide any useful information.


-- 
   Summary: -ftree-vectorizer-verbose=1 prints unvectorized loops
information
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: diagnostic
  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=26420



[Bug c/26407] ICE

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 14:27 ---
This works for me, at both -O2 and -O0.  Please report a new bug if you can
give more information and don't put the preprocessed source in the gccbug. 
Attach it after the fact.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug java/26390] Problem dispatching method call when method does not exist in superclass

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 14:31 ---
I have seen a bug like this before.


-- 


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



[Bug c/26411] -Wstrict-aliasing does not enable analysis

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-22 14:32 ---
(In reply to comment #2)
 Still, it would be lots better if warning options simply enabled the necessary
 analysis.

It is very hard to do so as the warnings are based on the information gathered
from -fstrict-aliasing.

Since this is documented unlike the orginal bug suggested, I am going to close
this as invalid.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/26420] -ftree-vectorizer-verbose=1 prints unvectorized loops information

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 14:34 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |minor
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 14:34:10
   date||


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



[Bug c/26407] ICE

2006-02-22 Thread rootkit85 at yahoo dot it


--- Comment #2 from rootkit85 at yahoo dot it  2006-02-22 14:40 ---
I have broken RAM.
Sorry for complaining gcc


-- 


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



[Bug c/26171] #pragma omp threadprivate requires -funit-at-a-time

2006-02-22 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2006-02-22 15:10 
---
Confirmed.
Even shorter testcase:

==
int i=0;
#pragma omp threadprivate (i)

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


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||monitored
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 15:10:22
   date||


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



[Bug other/25914] strsignal.c:558: warning: comparison between signed and unsigned

2006-02-22 Thread danglin at gcc dot gnu dot org


--- Comment #5 from danglin at gcc dot gnu dot org  2006-02-22 15:22 ---
The libiberty version is documented as unsigned and has been this
way for many years.  The Open Group has a strawman proposal which may
be submitted to the Austin Group for addition to POSIX in its next
release.  It uses a signed int.


-- 


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread law at redhat dot com


--- Comment #9 from law at redhat dot com  2006-02-22 15:24 ---
Subject: Re:  Fowardprop does harm for VRP to
figure out if a point is non zero

On Wed, 2006-02-22 at 10:32 +, rguenth at gcc dot gnu dot org wrote:
 
 --- Comment #4 from rguenth at gcc dot gnu dot org  2006-02-22 10:32 
 ---
 find_equivalent_equality_comparison through simplify_cond,
 forward_propagate_into_cond does this.  I have a patch which restricts 
 forwprop
 to using single-use names.  Though I wonder if this is appropriate and we
 rather should teach VRP to infer range information for D.2354_2 from a_3.
Please don't.  I'm already aware of this issue and looking at a better
solution.

jeff


-- 


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



[Bug tree-optimization/26421] New: tree-ssa-alias.c:find_used_portions considers foo(var) use all elements of var

2006-02-22 Thread rguenth at gcc dot gnu dot org
The function in question should ignore ADDR_EXPRs that appear inside CALL_EXPR
parameter lists so that we, for

typedef struct {
  int i;
  int j;
  int k;
} Foo;

void bar(Foo*);
void foo(void)
{
  Foo a;
  a.i = 1;
  bar(a);
}

do not create SFTs for all elements of a, but only for the first.  This
will reduce clobbers at call sites from

bb 2:
  #   SFT.2_2 = V_MUST_DEF SFT.2_1;
  a.i = 1;
  #   SFT.0_5 = V_MAY_DEF SFT.0_3;
  #   SFT.1_6 = V_MAY_DEF SFT.1_4;
  #   SFT.2_7 = V_MAY_DEF SFT.2_2;
  bar (a);

to

bb 2:
  #   SFT.2_2 = V_MUST_DEF SFT.2_1;
  a.i = 1;
  #   SFT.2_7 = V_MAY_DEF SFT.2_2;
  bar (a);

it especially would reduce the amounts of SFTs we generate for gfortran
struct st_parm, which usually only gets a few fields written to and then
it's address is passed to a function.


-- 
   Summary: tree-ssa-alias.c:find_used_portions considers foo(var)
use all elements of var
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: memory-hog, compile-time-hog, 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=26421



[Bug tree-optimization/26421] tree-ssa-alias.c:find_used_portions considers foo(var) use all elements of var

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 16:02 ---
Really for this example:
For this case V_MAY_DEF's are dead anyways at least for the other SFT's besides
the one for a.i.

Try thinking what about:
typedef struct {
  int i;
  int j;
  int k;
} Foo;

void bar(Foo*);
void bar1(Foo);
void foo(void)
{
  Foo a;
  a.i = 1;
  bar(a);
  bar1(a);
}


-- 


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



[Bug target/26408] incorrect handling of x86 H registers in inline asm

2006-02-22 Thread sabre at nondot dot org


--- Comment #3 from sabre at nondot dot org  2006-02-22 16:11 ---
Fair enough.  Shouldn't this be diagnosed with an error though?

-Chris


-- 

sabre at nondot dot org changed:

   What|Removed |Added

 CC||schwab at suse dot de


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread law at redhat dot com


--- Comment #10 from law at redhat dot com  2006-02-22 16:22 ---
Subject: Re:  Fowardprop does harm for VRP to
figure out if a point is non zero

On Wed, 2006-02-22 at 12:47 +, rguenth at gcc dot gnu dot org wrote:
A little history...

DOM was pretty clever in that it had the ability to backwards
propagate some non-null ranges.  That code was written to make
DOM's non-null tracking relatively immune to things like comparison
simplification.  It was quick, simple and relatively effective.

We *really* don't want to do that in VRP.  First it violates a
fundamental principle designed to ensure VRP terminates.  Namely
that we don't move backward in the lattice.  ie, we don't allow
VR_VARYING - VR_RANGE/VR_ANTI_RANGE state transitions.

I briefly toyed with the idea of doing the backward range
propagation after all the forward propagation was done, but
before substitution/simplifications.  There's a handful of
implementation issues with this approach and it will likely
result in a measurable compile-time hit due to the extra
ASSERT_EXPRs.  It's something I'm still pondering, but it's
not my favored solution ATM.


What I'm seriously looking at and still evaluating is 
delaying the forwprop pass.  For the initial stuff I looked
at it seems like a *much* better solution -- not only does
it allow VRP to catch more of the non-null stuff, but it
seems to help forwprop and the following DOM pass as well.
I'll be returning to this once we've reached closure on the
Ada regressions.

jeff


-- 


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



[Bug tree-optimization/26421] tree-ssa-alias.c:find_used_portions considers foo(var) use all elements of var

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-02-22 16:23 ---
I get

bb 2:
  #   SFT.0D.1534_2 = V_MUST_DEF SFT.0D.1534_1;
  aD.1532.iD.1521 = 1;
  #   SFT.0D.1534_3 = V_MAY_DEF SFT.0D.1534_2;
  bar (aD.1532);
  #   SFT.0D.1534_4 = V_MAY_DEF SFT.0D.1534_3;
  bar2 (aD.1532);

for this case.


-- 


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



[Bug libstdc++/26132] tr1/hashtable: rehash not implemented

2006-02-22 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

   Target Milestone|--- |4.1.1


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



[Bug target/25603] [4.1 Regression]: Miscompiled FORTRAN program

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #18 from rguenth at gcc dot gnu dot org  2006-02-22 16:30 
---
As this is a wrong-code regression for 4.1 (albeit on ia64-linux), Mark should
re-consider the priority and maybe allow this patch in.  And the patch
submitter should have asked for that in the first place (and can now ask for it
please).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mmitchel at gcc dot gnu dot
   ||org


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



[Bug libfortran/26423] New: Error on binary I/O for large array

2006-02-22 Thread dir at lanl dot gov
Absoft fortran shows the correct answer - gfortran has a problems with writing
and reading a large arrays (If I set the array size to 800, it works Ok.) -

[dranta:~/tests/gfortran-D] dir% f90 -o testio7 testio7.f
[dranta:~/tests/gfortran-D] dir% testio7
   1.00 -1.00
   2.00 -2.00
   3.00 -3.00
   4.00 -4.00
   5.00 -5.00
[dranta:~/tests/gfortran-D] dir% gfortran -o testio7 testio7.f
[dranta:~/tests/gfortran-D] dir% testio7
   1.00   -1.00 
   1.00   -1.00 
   1.00   -1.00 
   1.00   -1.00 
   1.00   -1.00 
[dranta:~/tests/gfortran-D] dir% gfortran --v
Using built-in specs.
Target: powerpc-apple-darwin8.5.0
Configured with: ../gcc/configure --prefix=/Users/dir/gfortran
--enable-languages=c,f95
Thread model: posix
gcc version 4.2.0 20060222 (experimental)
[dranta:~/tests/gfortran-D] dir% cat testio7.f
  program test
  implicit real*8 (a-h,o-z)
  dimension a(8476)
  istoh=8476
  do 10 j=1,5
  a(1)=j
  a(istoh)=-j
  write(2)a
   10 continue
  rewind 2
  do 20 i=1,5
  read(2)a
  write(6,*)a(1),a(istoh)
   20 continue
  stop
  end


-- 
   Summary: Error on binary I/O for large array
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dir at lanl dot gov
  GCC host triplet: powerpc-apple-darwin8.5.0


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



[Bug libstdc++/26424] New: tr1/unordered vs 64-bit machines

2006-02-22 Thread pcarlini at suse dot de
The number of buckets is currently limited to ~2^32 (see X::primes). This is
a serious issue: for correctness, rehash(n) for n  2^32 should throw and do
nothing, in order not to violate the post-conditions in Table 21.

We have various options: as suggested by Howard off-line, we could well compute
at run-time prime-numbers. Otherwise, mid-term, if we cannot extend the maximum
number of bucket we have to add throws to the rehashing functions.


-- 
   Summary: tr1/unordered vs 64-bit machines
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pcarlini at suse dot de


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



[Bug target/25603] [4.1 Regression]: Miscompiled FORTRAN program

2006-02-22 Thread hjl at gcc dot gnu dot org


--- Comment #19 from hjl at gcc dot gnu dot org  2006-02-22 16:59 ---
Subject: Bug 25603

Author: hjl
Date: Wed Feb 22 16:59:45 2006
New Revision: 111365

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111365
Log:
2006-02-22  H.J. Lu  [EMAIL PROTECTED]

PR target/25603
* gfortran.dg/pr25603.f: New testcase.

Added:
trunk/gcc/testsuite/gfortran.dg/pr25603.f
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/25603] [4.1 Regression]: Miscompiled FORTRAN program

2006-02-22 Thread hjl at lucon dot org


--- Comment #20 from hjl at lucon dot org  2006-02-22 17:04 ---
I don't want to see this patch hold up 4.1.0 release. I will ask it be
applied to the 4.1 branch when it is open. But it is Mark's call.


-- 


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



[Bug c/26425] New: ice on valid C code with flag -Os

2006-02-22 Thread dcb314 at hotmail dot com
I just tried to compile a recent Linux kernel with a recent
GNU C++ compiler version 4.2 snapshot 20060218. 

The compiler snapshot said

  /home/dcb/gnu/42-20060218/results/bin/gcc -g -O3 -Wall 
-Wp,-MD,security/keys/.keyring.o.d  -nostdinc -isystem
/home/dcb/gnu/42-20060218/results/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/include
-D__KERNEL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-ffreestanding -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -g
-march=k8 -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks   
-Wno-sign-compare -funit-at-a-time -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
-Wdeclaration-after-statement -Wno-pointer-sign-DKBUILD_BASENAME=keyring
-DKBUILD_MODNAME=keyring -c -o security/keys/.tmp_keyring.o
security/keys/keyring.c
In file included from include/asm/smp.h:22,
 from include/linux/smp.h:19,
 from include/linux/sched.h:26,
 from include/linux/module.h:10,
 from security/keys/keyring.c:12:
include/asm/apic.h: In function 'apic_write_atomic':
include/asm/apic.h:47: warning: value computed is not used
security/keys/keyring.c: In function 'keyring_clear_rcu_disposal':
security/keys/keyring.c:970: internal compiler error: in set_value_range, at
tree-vrp.c:150
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.



Preprocessed source code attached.  -Os flag required.


-- 
   Summary: ice on valid C code with flag -Os
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dcb314 at hotmail dot com
  GCC host triplet: x86+64-linux-gnu


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



[Bug libstdc++/26132] tr1/hashtable: rehash not implemented

2006-02-22 Thread paolo at gcc dot gnu dot org


--- Comment #1 from paolo at gcc dot gnu dot org  2006-02-22 17:06 ---
Subject: Bug 26132

Author: paolo
Date: Wed Feb 22 17:05:58 2006
New Revision: 111366

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111366
Log:
2006-02-22  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/26132
* include/tr1/hashtable (hashtable::rehash): Define.
* testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.

* include/tr1/hashtable: Trivial formatting and stylistic fixes.

* testsuite/tr1/headers.cc: remove tr1/hashtable, not a tr1 header,
only an implementation detail.

Added:
trunk/libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/26132.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/tr1/hashtable
trunk/libstdc++-v3/testsuite/tr1/headers.cc


-- 


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



[Bug c/26425] ice on valid C code with flag -Os

2006-02-22 Thread dcb314 at hotmail dot com


--- Comment #1 from dcb314 at hotmail dot com  2006-02-22 17:06 ---
Created an attachment (id=10892)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10892action=view)
C source code


-- 


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



[Bug libstdc++/26424] tr1/unordered vs 64-bit machines

2006-02-22 Thread falk at debian dot org


--- Comment #1 from falk at debian dot org  2006-02-22 17:11 ---
Just curious: is the assumption of prime-size buckets hardwired in the TR?
Otherwise, the obvious alternative would be to use power-of-two sizes, which
are much faster in access.


-- 


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



[Bug libstdc++/26142] global debug namespace clashes everywhere

2006-02-22 Thread bkoz at gcc dot gnu dot org


--- Comment #8 from bkoz at gcc dot gnu dot org  2006-02-22 17:17 ---

This is now fixed to my satisfaction.


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/26291] [3.4/4.0/4.1/4.2 regression] Invalid ellipsis in operator not diagnosed

2006-02-22 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2006-02-22 17:22 
---
Subject: Bug 26291

Author: reichelt
Date: Wed Feb 22 17:22:08 2006
New Revision: 111367

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111367
Log:
PR c++/26291
* decl.c (grok_op_properties): Check for ellipsis in arguments of
operators.

* g++.dg/other/ellipsis1.C: New test.
* g++.dg/parse/operator4.C: Adjust error marker.

Added:
trunk/gcc/testsuite/g++.dg/other/ellipsis1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/parse/operator4.C


-- 


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



[Bug libstdc++/26424] tr1/unordered vs 64-bit machines

2006-02-22 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2006-02-22 17:23 ---
(In reply to comment #1)
 Just curious: is the assumption of prime-size buckets hardwired in the TR?
 Otherwise, the obvious alternative would be to use power-of-two sizes, which
 are much faster in access.

Yes. Really, I have yet to study the issue in detail (Knuth...), I'm going to
do that. For sure TR1 doesn't mandate a specific policy, but we have got a
default policy, prime_rehash_policy, which is definitely well known and used
elsewhere, it would be nice to fix it, to begin with ;)


-- 


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



[Bug libstdc++/25815] [4.1 regression] libstdc++ testsuite: ext/pb_assoc/example/erase_if.cc execution test

2006-02-22 Thread bkoz at gcc dot gnu dot org


--- Comment #9 from bkoz at gcc dot gnu dot org  2006-02-22 17:26 ---

HP, I also don't know what is going on here, but it seems unlikely that the
libstdc++ code is to blame, just because there's been no change to this part of
libstdc++ in quite a while.

One thing you could check, if you have various compilers for cris around, is to
try to compile newer libstdc++ sources with a known good cris compiler. That
would at least let you know where things are problematic, without digging too
far into this.

-benjamin


-- 


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



[Bug tree-optimization/26425] ice on valid C code with flag -Os

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 17:34 ---
Reducing (which means I can reproduce this ICE).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code


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



[Bug c++/26291] [3.4/4.0/4.1 regression] Invalid ellipsis in operator not diagnosed

2006-02-22 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-02-22 17:35 
---
Fixed on mainline.
Waiting for the 4.1 branch to reopen.
Testing on the 4.0 and 3.4 branch.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[3.4/4.0/4.1/4.2 regression]|[3.4/4.0/4.1 regression]
   |Invalid ellipsis in operator|Invalid ellipsis in operator
   |not diagnosed   |not diagnosed


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



[Bug tree-optimization/26425] [4.2 Regression] ice on valid C code with flag -Os

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-22 17:55 ---
It is ICEing in the last VRP. 


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||law at gcc dot gnu dot org
   Severity|normal  |critical
Summary|ice on valid C code with|[4.2 Regression] ice on
   |flag -Os|valid C code with flag -Os
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/26425] [4.2 Regression] ice on valid C code with flag -Os

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-22 17:59 ---
Reduced testcase:
struct keyring_list {
 struct key *keys[0];
};
void keyring_destroy(struct keyring_list *keyring, unsigned short a)
{
 int loop;
  for (loop = a - 1; loop = 0; loop--)
   key_put(keyring-keys[loop]);
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 17:59:43
   date||


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



[Bug libstdc++/26424] tr1/unordered vs 64-bit machines

2006-02-22 Thread pcarlini at suse dot de


--- Comment #3 from pcarlini at suse dot de  2006-02-22 18:01 ---
... something considered obvious in the literature is that the size policy
goes together with the range-hashing function: e.g., an exponential size-policy
would not work well together with our default modulo range-hashing function.


-- 


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



[Bug tree-optimization/26425] [4.2 Regression] ice on valid C code with flag -Os

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-22 18:07 ---
Hmm, for some reason the Type's TYPE_MAX_VALUE is null.


-- 


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



[Bug libfortran/26423] Error on binary I/O for large array

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 18:10 ---
Hmm, this worked in 4.0.3 at least on x86_64-linux-gnu.


-- 


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



[Bug libfortran/26423] Error on binary I/O for large array

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 18:11 ---
But not with 4.2.0 on x86_64-linux so confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 18:11:37
   date||


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



[Bug tree-optimization/26425] [4.2 Regression] ice on valid C code with flag -Os

2006-02-22 Thread law at redhat dot com


--- Comment #6 from law at redhat dot com  2006-02-22 18:18 ---
Subject: Re:  [4.2 Regression] ice on valid C
code with flag -Os

On Wed, 2006-02-22 at 18:07 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-22 18:07 
 ---
 Hmm, for some reason the Type's TYPE_MAX_VALUE is null.
I've never seen that before..Definitely odd.
jeff


-- 


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



[Bug c++/26426] New: Type layout bug

2006-02-22 Thread sabre at nondot dot org
Consider:


struct A { virtual ~A(); }; // 4
struct B { virtual ~B(); }; // 4

struct X : virtual public A,
virtual public B {  // 8
};

struct Y : virtual public B { // 4
  virtual ~Y();
};

struct Z : virtual public X, public Y {   // 8
  Z();
};

Z::Z() {}


In this example, the DECL_SIZE_UNIT of Z is 8 bytes.  Here, the FIELD_DECL
corresponding to it's Y superclass has an offset of 0 bytes and size 4 bytes.

The FIELD_DECL for the X superclass has an offset of 4 bytes and and a size of
8 bytes, which means that the end of the object is 12 bytes, despite the fact
that Z has a DECL_SIZE_UNIT of 8 bytes.

-Chris


-- 
   Summary: Type layout bug
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sabre at nondot dot org


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



[Bug libstdc++/26142] global debug namespace clashes everywhere

2006-02-22 Thread mueller at gcc dot gnu dot org


--- Comment #9 from mueller at gcc dot gnu dot org  2006-02-22 18:53 ---
Yes, thanks. 


-- 

mueller at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED


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



[Bug target/26389] Darwin does not support -fsection-anchors

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 18:57 ---
I am working on this again.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-22 18:57:51
   date||


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



[Bug target/26427] New: Regressions with -fsection-anchors with zero sized structs

2006-02-22 Thread pinskia at gcc dot gnu dot org
Testcase:
struct a {};
static const int d = 1;
static const struct a b = {};
static const int c = 1;
int f(const int *, const struct a *, const int*, const int*);
int g(void)
{
  return f(c, b, d, c);
}
int f(const int *b, const struct a *c, const int *d, const int *e)
{
  return *b == *d;
}
int main(void)
{
  if (!g())
__builtin_abort();
}

-
What is happening is that the size for b is being calcuated wrong in the anchor
code, I don't know how to fix this yet.


-- 
   Summary: Regressions with -fsection-anchors with zero sized
structs
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: powerpc-darwin
 BugsThisDependsOn: 26389


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



[Bug target/26427] Regressions with -fsection-anchors with zero sized structs

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 19:00 ---
This causes a lot of the gfortran testsuite to fail.


-- 


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



[Bug target/26389] Darwin does not support -fsection-anchors

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-22 19:19 ---
Patch posted:
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01774.html


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO|26427   |
  nThis||
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||02/msg01774.html
   Keywords||patch


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



[Bug c++/26428] New: Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com
When using g++ as a compiler and my program is trying to substract to floats
that have the same ending digits, after comma, or even when the digits are not
even or odd at the same time the returned number is buged!

For example:
105.8 - 108.5  === 2.67

583.4 - 1583.4 === 1000.099976

The same problem might exists in gcc.
Check It!



Geoge Delaportas
Dimitris Vlachos


-- 
   Summary: Buged FLoat Numbers in GCC
   Product: gcc
   Version: 3.3.6
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: g dot delaportas at gmail dot com
GCC target triplet: GCC / G++ 3.3.3


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-22 20:24 ---
And why do you think this is a bug?

Floating point is not the same as math as you would do on paper.

Also where is the testcase?


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com


--- Comment #2 from g dot delaportas at gmail dot com  2006-02-22 20:29 
---

It is abdolutely true and well known that 1583.5-583.4=1000.1
Its defenate. Simple mathematics
Its not my problem if u have problems with maths!
Try your calculators and pleas do not reply stupid thing!

CRITICAL BUG

-
George Delaportas


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-22 20:31 ---
(In reply to comment #2)
 It is abdolutely true and well known that 1583.5-583.4=1000.1

Who said that 1000.1 can be repesented exactly in the computer?


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com


--- Comment #4 from g dot delaportas at gmail dot com  2006-02-22 20:34 
---
(In reply to comment #3)
 (In reply to comment #2)
  It is abdolutely true and well known that 1583.5-583.4=1000.1
 
 Who said that 1000.1 can be repesented exactly in the computer?
 

okso explain to me why this can not be wrong and why it should not
happen.
All my other calculators amd PCs are wrong and gcc is OK?

For God shake.please!


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-22 20:44 ---
Well the caculator is using higher precission (maybe even unlimited) floating
point than what your testcase would look like.

Again where is the testcase?

Also you should go read some papers about floating point in computers.
Like:
http://portal.acm.org/citation.cfm?id=103163


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com


--- Comment #6 from g dot delaportas at gmail dot com  2006-02-22 20:46 
---
(In reply to comment #5)
 Well the caculator is using higher precission (maybe even unlimited) floating
 point than what your testcase would look like.
 
 Again where is the testcase?
 
 Also you should go read some papers about floating point in computers.
 Like:
 http://portal.acm.org/citation.cfm?id=103163
 
TEST CASE
Now Please Assign Values To The GPins
(Values:Binary,Integer,Float)
Please Set Min And Max Values
(Example:5.5,20.6)
GPin 1
Choice (Min,Max):105.8,108.8

ELA OOOPA:3.00
GPin 2
Choice (Min,Max):105.8,108.5

ELA OOOPA:2.67
GPin 3
Choice (Min,Max):583.4,1583.4

ELA OOOPA:1000.00
GPin 4
Choice (Min,Max):583.4,1583.5

ELA OOOPA:1000.099976


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-02-22 20:48 ---
(In reply to comment #6)
 TEST CASE
I mean some source code.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug libfortran/26423] Error on binary I/O for large array

2006-02-22 Thread fxcoudert at gcc dot gnu dot org


--- Comment #3 from fxcoudert at gcc dot gnu dot org  2006-02-22 20:50 
---
Confirmed on i686-linux (trunk) too:

$ cat testio.f 
  integer :: a(8476)
  a(1) = 1
  write(2) a
  a(1) = 2
  write(2) a
  rewind 2
  read(2) a
  write(*,*) a(1)
  read(2) a
  write(*,*) a(1)
  end
$ g77 testio.f  ./a.out
 1
 2
$ gfortran testio.f  ./a.out
   1
   1


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2006-02-22 18:11:37 |2006-02-22 20:50:04
   date||


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread steven at gcc dot gnu dot org


--- Comment #8 from steven at gcc dot gnu dot org  2006-02-22 20:50 ---
User doesn't understand number representations in computers.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com


--- Comment #9 from g dot delaportas at gmail dot com  2006-02-22 20:53 
---
(In reply to comment #7)
 (In reply to comment #6)
  TEST CASE
 I mean some source code.
 

Oh the source code is rather simple

float Val1,Val2,Val3;
Val1=1583.5;
Val2=583.4;
Val3=Val2-Val1;

printf(Value:%f\n,Val3);


-- 


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2006-02-22 20:55 
---
So I suppose VRP cannot see backwards for

  i_2 = j_1;
  if (i_2 == 0)
return j_1;

?  (of course copyprop would clean this up, but suppose for a moment this
gets to VRP)

If it can see that i_1 is zero at the point of the return statement then we
can teach VRP to take

  a_1 = (T *)x_1;

simply as copy, canonicalizing all pointer types to (void*) for the sake
of VRP (which would also avoid generating extra permanent integer constants
with various types in the pool).


-- 


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com


--- Comment #10 from g dot delaportas at gmail dot com  2006-02-22 20:56 
---
If u don't understand that this is not right then u have a big problem in
mathematics cause bc,xcalc or whatever and all the other compilers i have
tested in other operating systems returned the actual and right values

am i crazy?


-- 


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



[Bug tree-optimization/26429] New: Call clobbering cannot tell different stack locals with same type apart

2006-02-22 Thread rguenth at gcc dot gnu dot org
For

typedef struct {
  int i;
  int j;
  int k;
} Foo;

void bar(Foo*);
void foo(void)
{
  {
Foo a;
bar(a);
  }
  {
Foo b;
bar(b);
  }
}

we have in the alias1 dump:

foo ()
{
  struct Foo b;
  struct Foo a;

bb 2:
  #   a_3 = V_MAY_DEF a_1;
  #   b_4 = V_MAY_DEF b_2;
  bar (a);
  #   a_5 = V_MAY_DEF a_3;
  #   b_6 = V_MAY_DEF b_4;
  bar (b);
  return;

}

The testcase is actually modeled after what the fortran frontend produces
for I/O operations, it adds one instance of Foo per I/O call, and the clobbers
keep building up.  Now consider having SFTs for the _huge_ fortran st_parm
structure...


-- 
   Summary: Call clobbering cannot tell different stack locals with
same type apart
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: missed-optimization, memory-hog, compile-time-hog, 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=26429



[Bug c++/26430] New: Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com
When using g++ as a compiler and my program is trying to substract to floats
that have the same ending digits, after comma, or even when the digits are not
even or odd at the same time the returned number is buged!

For example:
105.8 - 108.5  === 2.67

1583.5- 583.4  === 1000.099976

The same problem might exists in gcc.
Check It!



Geoge Delaportas
Dimitris Vlachos


-- 
   Summary: Buged FLoat Numbers in GCC
   Product: gcc
   Version: 3.3.6
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: g dot delaportas at gmail dot com


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



[Bug c++/26431] New: Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com
When using g++ as a compiler and my program is trying to substract to floats
that have the same ending digits, after comma, or even when the digits are not
even or odd at the same time the returned number is buged!

For example:
105.8 - 108.5  === 2.67

1583.5- 583.4  === 1000.099976

The same problem might exists in gcc.
Check It!



Geoge Delaportas
Dimitris Vlachos


-- 
   Summary: Buged FLoat Numbers in GCC
   Product: gcc
   Version: 3.3.6
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: g dot delaportas at gmail dot com


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



[Bug c++/26430] Buged FLoat Numbers in GCC

2006-02-22 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2006-02-22 21:15 ---


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


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread pcarlini at suse dot de


--- Comment #11 from pcarlini at suse dot de  2006-02-22 21:15 ---
*** Bug 26430 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c++/26431] Buged FLoat Numbers in GCC

2006-02-22 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2006-02-22 21:16 ---


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


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/26428] Buged FLoat Numbers in GCC

2006-02-22 Thread pcarlini at suse dot de


--- Comment #12 from pcarlini at suse dot de  2006-02-22 21:16 ---
*** Bug 26431 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c++/26431] Buged FLoat Numbers in GCC

2006-02-22 Thread g dot delaportas at gmail dot com


--- Comment #1 from g dot delaportas at gmail dot com  2006-02-22 21:15 
---
There is no EXCUSES for higher or lower bitsthe numbers are WRONG and this
should be fixed


-- 


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



[Bug tree-optimization/26425] [4.2 Regression] ice on valid C code with flag -Os

2006-02-22 Thread law at redhat dot com


--- Comment #7 from law at redhat dot com  2006-02-22 21:30 ---
Subject: Re:  [4.2 Regression] ice on valid C
code with flag -Os

On Wed, 2006-02-22 at 18:07 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-22 18:07 
 ---
 Hmm, for some reason the Type's TYPE_MAX_VALUE is null.
Ah, this can happen for a VLA.   Another latent bug exposed by
the VRP bits

Jeff


-- 


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



[Bug c/26432] New: ppc32 kernel miscompiled

2006-02-22 Thread olh at suse dot de
our current kernel does does boot ok on G4 systems (PowerMac, Pegasos2),
but it locksup early (before the atyfb init) on a G3 ibook, no idea where
exactly.

gcc33 hammer as shipped with SLES9 works ok, gcc-4_0-branch works ok,
gcc-4_1-branch does not boot.
cant test gcc-mainline because make does not like the configure result.

it does appearently also depend on the used kernel .config and/or the used
patches.
kernel compiled with gcc-4_1-branch did boot ok with a plain 2.6.16-rc4.

right now I have a tree that shows the bug.

Details later.


-- 
   Summary: ppc32 kernel miscompiled
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: olh at suse dot de
 GCC build triplet: powerpc-linux
  GCC host triplet: powerpc-linux
GCC target triplet: powerpc-linux


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



[Bug tree-optimization/26421] tree-ssa-alias.c:find_used_portions considers foo(var) use all elements of var

2006-02-22 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-22 21:32 ---
Patch posted, but now stdarg-5.c ICEs.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||02/msg01781.html
   Keywords||patch


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



[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero

2006-02-22 Thread law at redhat dot com


--- Comment #12 from law at redhat dot com  2006-02-22 21:45 ---
Subject: Re:  Fowardprop does harm for VRP to
figure out if a point is non zero

On Wed, 2006-02-22 at 20:55 +, rguenth at gcc dot gnu dot org wrote:
 
 --- Comment #11 from rguenth at gcc dot gnu dot org  2006-02-22 20:55 
 ---
 So I suppose VRP cannot see backwards for
 
   i_2 = j_1;
   if (i_2 == 0)
 return j_1;
 
 ?  (of course copyprop would clean this up, but suppose for a moment this
 gets to VRP)
Nope, it can't.  It's not just the lack of backwards propagation,
but also the fact that i is unused in the subgraphs after the
conditional, so VRP won't record any information for either i or j
in this kind of example.

Fixing VRP to gather data for i in this example would result in
a pretty significant compile-time hit.

I'll note this was one of the reasons why we moved copyprop to
run immediately before VRP -- copies in the IL were hiding a
nontrivial number of detectable and useful ranges.

jeff


-- 


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



  1   2   >