[Bug c++/26454] New: problem about GCC STL

2006-02-24 Thread cnhome at vip dot sina dot com
I write a file, code as that:

#include 
#include 
using namespace std;
using namespace __gnu_cxx;

struct str_hash
{
size_t operator()(const string& str) const
{
return __stl_hash_string(str.c_str());
}
};
class A
{
public:
hash_map map_body;
public:
A();
};

int main()
{
return 0;
}

=

I find that can run in Visual Studio.2003,but my linux gcc 3.4.4 can not.

I know Microsoft with P.J.STL is not same as Gcc with SGI STL.

Report as :

Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.4/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)
 /usr/libexec/gcc/x86_64-redhat-linux/3.4.4/cc1plus -E -quiet -v -D_GNU_SOURCE
tt.cpp -mtune=k8 -o tt.ii
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4

/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/x86_64-redhat-linux
 /usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/backward
 /usr/local/include
 /usr/lib/gcc/x86_64-redhat-linux/3.4.4/include
 /usr/include
End of search list.
 /usr/libexec/gcc/x86_64-redhat-linux/3.4.4/cc1plus -fpreprocessed tt.ii -quiet
-dumpbase tt.cpp -mtune=k8 -auxbase tt -version -o tt.s
GNU C++ version 3.4.4 20050721 (Red Hat 3.4.4-2) (x86_64-redhat-linux)
compiled by GNU C version 3.4.4 20050721 (Red Hat 3.4.4-2).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/bits/stl_pair.h:
In instantiation of `std::pair':
/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/bits/stl_function.h:544:
  instantiated from `std::_Select1st >'
/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/ext/hashtable.h:258:
  instantiated from `__gnu_cxx::hashtable,
std::string, str_hash, std::_Select1st >,
std::equal_to, std::allocator >'
/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/ext/hash_map:96:
  instantiated from `__gnu_cxx::hash_map, std::allocator >'
tt.cpp:16:   instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/bits/stl_pair.h:74:
error: `std::pair<_T1, _T2>::second' has incomplete type
tt.cpp:14: error: forward declaration of `class A'


===

Please help me, thanks a lot!


-- 
   Summary: problem about GCC STL
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cnhome at vip dot sina dot com


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



[Bug c++/26454] problem about GCC STL

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


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-02-24 10:05 ---
/usr/lib/gcc/x86_64-redhat-linux/3.4.4/../../../../include/c++/3.4.4/bits/stl_pair.h:74:
error: `std::pair<_T1, _T2>::second' has incomplete type
tt.cpp:14: error: forward declaration of `class A'

You cannot use the incomplete (at this point) type 'class A' for

hash_map map_body;

try using a base class here like

class B {};
class A : public B {
...
   hash_map map_body;


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/26451] I get segmentation fault when executing this input/output program

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


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-02-24 10:08 ---
Your program is buggy.  This bugzilla is not for getting help on writing C
programs - try using a debugger and debug yourself.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/26449] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invaraint motion

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


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-02-24 10:13 ---
Confirmed.  Trying to get a small testcase.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rakdver at gcc dot gnu dot
   ||org
Summary|ICE with -march=pentium4 in |ICE with -march=pentium4 -
   |matmul_i4.c |ftree-vectorize in
   ||matmul_i4.c in loop
   ||invaraint motion


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



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

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


--- Comment #5 from jakub at gcc dot gnu dot org  2006-02-24 10:26 ---
Fixed on the trunk.


-- 

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|2006-02-22 13:01:10 |2006-02-24 10:26:00
   date||


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



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

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


--- Comment #6 from jakub at gcc dot gnu dot org  2006-02-24 10:26 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/26449] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invaraint motion

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


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-02-24 10:29 ---
Testcase: -O1 -ftree-vectorize -march=pentium4

void matmul_i4 (int bbase_yn, int xcount)
{
int x;
int * restrict dest_y;
const int * abase_n;
for (x = 0;  x < xcount;  x++)
  {
dest_y[x] += abase_n[x] * bbase_yn; 
  }
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |rtl-optimization
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-24 10:29:02
   date||


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



[Bug rtl-optimization/26449] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invaraint motion

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


--- Comment #3 from steven at gcc dot gnu dot org  2006-02-24 10:46 ---
"Don't worry, Jim.  I'm monitoring the situation.  I'm on top of things."


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |steven at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-24 10:29:02 |2006-02-24 10:46:37
   date||


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



[Bug fortran/25395] equivalence to common block array broken

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-02-24 10:51 ---
Subject: Bug 25395

Author: pault
Date: Fri Feb 24 10:51:42 2006
New Revision: 111416

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111416
Log:
2006-02-24  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/24519
* dependency.c (gfc_is_same_range): Correct typo.
(gfc_check_section_vs_section): Call gfc_is_same_range.

PR fortran/25395
* trans-common.c (add_equivalences): Add a new flag that is set when
an equivalence is seen that prevents more from being reset until the
start of a new traversal of the list, thus ensuring completion of
all the equivalences.

2006-02-24  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/24519
* gfortran.dg/dependency_3.f90: New test.
* gfortran.fortran-torture/execute/vect-3.f90: Remove two of the
XFAILs.

PR fortran/25395
* gfortran.dg/equiv_6.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/dependency_3.f90
trunk/gcc/testsuite/gfortran.dg/equiv_6.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/dependency.c
trunk/gcc/fortran/trans-common.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/vect/vect-3.f90


-- 


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



[Bug fortran/24519] gfortran slow because of incomplete dependency checking

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-02-24 10:51 ---
Subject: Bug 24519

Author: pault
Date: Fri Feb 24 10:51:42 2006
New Revision: 111416

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111416
Log:
2006-02-24  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/24519
* dependency.c (gfc_is_same_range): Correct typo.
(gfc_check_section_vs_section): Call gfc_is_same_range.

PR fortran/25395
* trans-common.c (add_equivalences): Add a new flag that is set when
an equivalence is seen that prevents more from being reset until the
start of a new traversal of the list, thus ensuring completion of
all the equivalences.

2006-02-24  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/24519
* gfortran.dg/dependency_3.f90: New test.
* gfortran.fortran-torture/execute/vect-3.f90: Remove two of the
XFAILs.

PR fortran/25395
* gfortran.dg/equiv_6.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/dependency_3.f90
trunk/gcc/testsuite/gfortran.dg/equiv_6.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/dependency.c
trunk/gcc/fortran/trans-common.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/vect/vect-3.f90


-- 


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



[Bug fortran/25395] equivalence to common block array broken

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-02-24 10:53 ---
Fixed on trunk.

As soon as 4.1 is reopened, it will be fixed there too.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/24519] gfortran slow because of incomplete dependency checking

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2006-02-24 10:53 ---
Fixed on trunk.

As soon as 4.1 is reopened, it will be fixed there too.

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=24519



[Bug fortran/26440] ICE in expand_copysign, at optabs.c:2930 with using -ff2c

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


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-02-24 11:28 ---
gfc_sym_type()

  if (gfc_option.flag_f2c
  && sym->attr.function 
  && sym->ts.type == BT_REAL
  && sym->ts.kind == gfc_default_real_kind
  && !sym->attr.always_explicit)
{
  /* Special case: f2c calling conventions require that (scalar)
 default REAL functions return the C type double instead.  */
  sym->ts.kind = gfc_default_double_kind;
  type = gfc_typenode_for_spec (&sym->ts);
  sym->ts.kind = gfc_default_real_kind;
}

is asking for trouble.  This kind of hack has to be repeated elsewhere, so
we do not miss the type-mismatch between FOO and X.

But the real solution looks like creating the correct kind for the return
type in the first place like if it was written as REAL*8.


-- 


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



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

2006-02-24 Thread com dot d2 at free dot fr
The code below generates an ICE with g++ 3.3 (debian stable),
g++ 3.4 (debian testing):


[pollindd] ~ >g++-3.3 -c ice-typeid.cc
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
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.


[pollindd] ~ >g++-3.4 -v
Reading specs from /usr/lib/gcc/i486-linux/3.4.4/specs
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
Thread model: posix
gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.3-13)

[pollindd] ~ >g++-3.3 -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.6/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--enable-__cxa_atexit --with-system-zlib --enable-nls
--without-included-gettext --enable-clocale=gnu --enable-debug
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.6 (Debian 1:3.3.6-5)


Code follows. Command line:
  g++-3.x -c ice-typeid.cc
Optimisation flag seems to have no impact (same problem with
-O3). Likewise for -Wall. It works on more complicated code (?!)... but it's
hard to see where the fix is introduced.


#include 

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



-- 
   Summary: g++ 3.x ICE on typeid(typeid(*object))
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: com dot d2 at free dot fr
 GCC build triplet: i486-pc-linux-gnu
  GCC host triplet: i486-pc-linux-gnu
GCC target triplet: i486-pc-linux-gnu


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



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

2006-02-24 Thread com dot d2 at free dot fr


--- Comment #1 from com dot d2 at free dot fr  2006-02-24 12:38 ---
Created an attachment (id=10907)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10907&action=view)
Code leading to ICE

Compile it with -DBUG=xyz to activate bug xyz


-- 


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



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

2006-02-24 Thread com dot d2 at free dot fr


--- Comment #2 from com dot d2 at free dot fr  2006-02-24 12:40 ---
Created an attachment (id=10908)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10908&action=view)
Preprocessor output (gcc 3.4.4)


-- 


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



[Bug tree-optimization/26443] [4.2 regression] ICE in add_virtual_operand, at tree-ssa-operands.c:1867

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/26443] [4.2 regression] ICE in add_virtual_operand, at tree-ssa-operands.c:1867

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 13:04 ---
Actually this happens after VRP2 which might mean it is a bug for Jeff Law to
look into.


-- 


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



[Bug tree-optimization/26443] [4.2 regression] ICE in add_virtual_operand, at tree-ssa-operands.c:1867

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-24 13:06 ---
Confirmed.  Though VRP2 is just doing constant propagation at this point.


-- 

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-24 13:06:09
   date||


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



[Bug target/26445] SSE byte-by-byte load instruction fails to compile

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 13:11 ---
can you give the full output of gcc -v?


-- 


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



[Bug fortran/26409] [4.2 regression] ICE on Assumed shape nested subroutine

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #8 from pault at gcc dot gnu dot org  2006-02-24 13:15 ---
(In reply to comment #7)
> A few binary search steps later: Works with revision 111270, fails with 
> 111271.
>  It seems to be related to the patch
> 
First, I am sorry to be a "doubting Thomas" - I finally succeeded in
reproducing the problem.

Second, I unpatched the above and find that this is indeed the problem.  I will
try to understand why but I will (i) Post this to the list and (ii) remove it
from mainline tonight.

Paul


-- 


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



[Bug fortran/26409] [4.2 regression] ICE on Assumed shape nested subroutine

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2006-02-24 13:54 ---
Subject: Bug 26409

Author: pault
Date: Fri Feb 24 13:54:06 2006
New Revision: 111417

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111417
Log:
2006-02-24  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/26409
* resolve.c (resolve_contained_functions, resolve_types,
gfc_resolve): Revert patch of 2006-02-19.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c


-- 


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



[Bug fortran/26409] [4.2 regression] ICE on Assumed shape nested subroutine

2006-02-24 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2006-02-24 14:15 ---

First, I am sorry to be a "doubting Thomas" - I finally succeeded in
reproducing the problem.

Second, I unpatched the above and find that this is indeed the problem.  I will
try to understand why but:

(i) I have posted this to the list and;
(ii) removed it from mainline.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c/26456] New: OpenMP program deadlocks when executed

2006-02-24 Thread eloranta at jyu dot fi
OpenMP C programs deadlock immediately after starting when OMP_NUM_THREADS is >
1.
For example, the following simple code just hangs:

#include 

main() {

  int i;

#pragma omp parallel for private(i)
  for (i = 0; i < 100; i++)
printf("Thread = %d.\n", omp_get_thread_num());
}

This occurs on MacOS X 10.4.5 with gcc version:

Using built-in specs.
Target: powerpc-apple-darwin8.4.0
Configured with:
/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_lang_gcc42/work/gcc-4.2-20060204/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-include-dir=/opt/local/include/gcc42/c++/
--with-gmp=/opt/local --with-mpfr=/opt/local --disable-multilib
Thread model: posix
gcc version 4.2.0 20060204 (experimental)

Also it appears that when -fopenmp switch is used, gcc does not automatically
include -lgomp but
this has to be done by hand.


-- 
   Summary: OpenMP program deadlocks when executed
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  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=26456



[Bug libgomp/26456] OpenMP program deadlocks when executed

2006-02-24 Thread eloranta at jyu dot fi


--- Comment #1 from eloranta at jyu dot fi  2006-02-24 14:23 ---

Most likely this is just OS X specific bug.


-- 

eloranta at jyu dot fi changed:

   What|Removed |Added

  Component|c   |libgomp


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



[Bug java/21206] gcj seems not to pass the option to ld correctly

2006-02-24 Thread Ralf dot Wildenhues at gmx dot de


--- Comment #13 from Ralf dot Wildenhues at gmx dot de  2006-02-24 14:57 
---
(In reply to comment #12)
> It appears that the LT stands for libtool.  So the first one (LIBICONV) is
> supposed to be used for linking if you aren't using libtool, and the second 
> one
> (LTLIBICONV) is used for linking if you are using libtool.

Right.  You cannot expect to be able to use $LTLIBICONV if you are not using
Libtool.

> So, yes, this looks OK to me.  We could at least get this on mainline even if
> we can't fix the release branches yet.

That is not ok.

Best would probably be if you took LIBICONV and killed all instances of
$wl aka $acl_cv_wl from it, and turned all remaining comma into spaces,
for good measure.  I think.  For the former, you could also call
AC_LIB_RPATH explicitly and unset or empty $wl for the AM_ICONV call, and
restore it afterwards.  If you don't need the LIBICONV for other purposes
that may involve linking with a compiler driver.

Or fix config/lib-link.m4 AC_LIB_RPATH to provide additional variables for
use when linking with $LD.  Luckily newer Libtool macros don't do that very
often anymore, so it may not be worth it.


-- 

Ralf dot Wildenhues at gmx dot de changed:

   What|Removed |Added

 CC||Ralf dot Wildenhues at gmx
   ||dot de


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



[Bug c/26457] New: -fstack-protector leaks the upper bits of RAX

2006-02-24 Thread arjan at linux dot intel dot com
The following code snippet, compiled with -Os -fstack-protector:
#include 


int  StringChecksum(char *s)
{
char buffer[2048];
int i;
int checksum = 0;

memset(buffer, 0, 2048);
strcpy(buffer, s);

for (i=0; i<2048; i++)
checksum += buffer[i];

return checksum;
}

leads to the following snippet of assembly for the part where gcc puts the
canary value on the stack: (part of the full assembly of the function)

movq%rsp, %rdi
movq%fs:40, %rax
movq%rax, 2056(%rsp)
xorl%eax, %eax
callmemset

the key instruction for this bug is the "xorl %eax, %eax". The intent of that
instruction seems to be to not leak the canary value into the actual function
code; however the canary value is 64 bits and in RAX, while the XOR is only
zeroing the lower 32 bits. For consistency and information security, this XOR
should, I think, clear all of RAX (which is same-cost anyway both in size and
execution)


-- 
   Summary: -fstack-protector leaks the upper bits of RAX
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: arjan at linux dot intel dot com
  GCC host triplet: x86_64-redhat-linux


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



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

2006-02-24 Thread jvdelisle at gcc dot gnu dot org


--- Comment #12 from jvdelisle at gcc dot gnu dot org  2006-02-24 15:08 
---
Patch submitted:

http://gcc.gnu.org/ml/fortran/2006-02/msg00498.html


-- 


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



[Bug libgomp/26456] OpenMP program deadlocks when executed

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-24 15:09 ---
This is Darwin specific.

This is a dup of bug 25978.

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


-- 

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=26456



[Bug libgomp/25978] All libgomp tests timeout on ppc-darwin

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-24 15:09 ---
*** Bug 26456 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||eloranta at jyu dot fi


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



[Bug libgomp/25978] All libgomp tests timeout on ppc-darwin

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-24 15:10 ---
More information about this issue is at the following thread:
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg00167.html


-- 


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



[Bug target/26457] -fstack-protector leaks the upper bits of RAX

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


--- Comment #1 from jakub at gcc dot gnu dot org  2006-02-24 15:11 ---
To my knowledge xorl %eax, %eax is just a shorter form of xorq %rax, %rax, 
both clear all 64 bits of %rax.


-- 


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



[Bug target/26457] -fstack-protector leaks the upper bits of RAX

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-24 15:12 ---
This is an issue of agrument passing really as eax is used to pass 0 to memset
though I don't know if this is really an issue or not.


-- 


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



[Bug middle-end/26316] [4.2 Regression] loop-invariant miscompiles openmp.c

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


--- Comment #15 from pinskia at gcc dot gnu dot org  2006-02-24 15:20 
---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/26290] [4.1 Regression]: code pessimization wrt. GCC 4.0 probably due to TARGET_MEM_REF

2006-02-24 Thread rakdver at gcc dot gnu dot org


--- Comment #14 from rakdver at gcc dot gnu dot org  2006-02-24 15:20 
---
Ivopts fail to use the complex addressing mode, thus forcing one more biv into
inner loop.  Since this makes it impossible to allocate registers for the loop,
we  get another penalty for spilling.

Changing the initial value makes us notice that we may perform IV elimination,
thus getting rid of the extra register.


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rakdver at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-19 09:13:57 |2006-02-24 15:20:29
   date||


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



[Bug c++/26458] New: Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread phil at mitre dot org
Prior behavior handled passing a char* with a NULL value into an output stream;
the result was that nothing printed.  As of versions 3 and later this behavior
has changed.  Perhaps a bug, perhaps a new enforcement.

The result is that the output stream no longer writes anything (to file or
stdout) until the descriptor is closed, and then only the unflushed text up
until the NULL was passed.

Example code:

#include 
main() {
  char *str = NULL;
  cout << "Hello " << str << " there" << endl;
  cout << "still dead?" << endl;
}

Resulting output is:

Hello_

No further output is sent.  Perhaps, if it is deemed improper to allow a NULL
in a known type being passed to a stream, then a SEG fault might be better than
continue with no indication, except for lack of output.


-- 
   Summary: Passing a NULL char* into output stream now breaks the
output stream
   Product: gcc
   Version: 3.2.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: phil at mitre dot org
 GCC build triplet: 2.3.2 20030502 (RedHat linux 2.3.2-53)
  GCC host triplet: RedHat linux 2.4.21-37 enterprise


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2006-02-24 16:53 ---
The change is certainly intended and the important point is that is not true
that there is no indication of the failure, quite to the contrary the badbit is
set. Try changing your test like this:

  char *str = NULL;
  cout << "Hello " << str;

  assert( !cout.good() );
  cout.clear();

  cout << " there" << endl;

  assert( cout.good() );

  cout << "still dead?" << endl;

  assert( cout.good() );


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c++ |libstdc++
 Resolution||INVALID


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



[Bug fortran/26440] ICE in expand_copysign, at optabs.c:2930 with using -ff2c

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


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-24 17:25 ---
I want to say this is exactly the same issue as PR 25392, looking at the fact
it is the return value which is causing the issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25392


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



[Bug middle-end/26439] [4.2 Regression] missing VOPs for complex assignments

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-24 17:32 ---
Actually I could not reproduce this with "4.2.0 20060221"?

Is it only with the patch to fix PR 26421?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/26439] [4.2 Regression] missing VOPs for complex assignments

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug middle-end/26439] [4.2 Regression] missing VOPs for complex assignments

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


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-24 17:34 ---
Actually this looks like it is x86 specific.  Please next time add the target
if you think it is x86 specific and also pelase mention this was also using the
C++ front-end.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 GCC target triplet||i686-pc-linux-gnu


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



[Bug middle-end/26439] [4.2 Regression] missing VOPs for complex assignments

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


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-02-24 17:36 ---
Actually I cannot reproduce this with "4.2.0 20060218" either on x86?  What
were you doing to reproduce this?


-- 


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



[Bug c/8268] no compile time array index checking

2006-02-24 Thread dcb314 at hotmail dot com


--- Comment #37 from dcb314 at hotmail dot com  2006-02-24 17:38 ---
(In reply to comment #33)
> Created an attachment (id=10902)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10902&action=view) [edit]
> updated patch.
> 
> better patch. I'm going to post that one when regtesting completes. 

I tried your patch on gcc 4.2 current snapshot and I had to 
bodge it a bit to get it to compile.

After that, it segfaulted during bootstrapping ;-<


-- 


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



[Bug fortran/26440] ICE in expand_copysign, at optabs.c:2930 with using -ff2c

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


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-02-24 17:40 ---
Actually looking at the simplified testcase this is a dup of bug 25392.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/25392] ICEs with -ff2c

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-24 17:40 ---
*** Bug 26440 has been marked as a duplicate of this bug. ***


-- 

pinskia 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=25392



[Bug fortran/26444] gfortran does not compile cp2k

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


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-02-24 17:42 ---
I cannot reproduce this with "4.2.0 20060218".


-- 


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



[Bug middle-end/26439] [4.2 Regression] missing VOPs for complex assignments

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


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-02-24 17:46 ---
(In reply to comment #6)
> Actually I cannot reproduce this with "4.2.0 20060218" either on x86?  What
> were you doing to reproduce this?

Or even the 20th.


-- 


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



[Bug fortran/26444] gfortran does not compile cp2k

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


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-02-24 17:47 ---
I can reproduce this on the 20th though.


-- 


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



[Bug fortran/26444] gfortran does not compile cp2k

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


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-02-24 17:48 ---
So what this means I could not have caused this as the only patch after my 18th
GCC and my 20th GCC is not a patch which I committed that would have caused
this.


-- 


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



[Bug fortran/26444] gfortran does not compile cp2k

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


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-02-24 17:53 
---
Note -O3 enables complete unrolling at the tree level, I think there might be
another related bug to this one.  I bet it is failing in VRP2 also, just like
the other one.


-- 


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



[Bug target/378] [AIX] gcc cannot compile huge c file

2006-02-24 Thread ska at resqnet dot com


--- Comment #8 from ska at resqnet dot com  2006-02-24 17:53 ---
Any chances to get it resolved ?

This severe bug is a showstopper for using OpenCobol with GCC on AIX platform
because all C programs are generated and there are no way to reduce the size of
the programs automatically due to nature of Cobol language.


-- 

ska at resqnet dot com changed:

   What|Removed |Added

 CC||ska at resqnet dot com


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



[Bug fortran/26444] gfortran does not compile cp2k

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


--- Comment #11 from pinskia at gcc dot gnu dot org  2006-02-24 17:54 
---
(In reply to comment #10)
> Note -O3 enables complete unrolling at the tree level, I think there might be
> another related bug to this one.  I bet it is failing in VRP2 also, just like
> the other one.

That would be PR 26443 by the way.


-- 


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



[Bug rtl-optimization/26449] [4.2 Regression] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invariant motion

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||build
Summary|ICE with -march=pentium4 -  |[4.2 Regression] ICE with -
   |ftree-vectorize in  |march=pentium4 -ftree-
   |matmul_i4.c in loop |vectorize in matmul_i4.c in
   |invariant motion|loop invariant motion
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/26444] [4.2 Regression] gfortran does not compile cp2k

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


--- Comment #12 from pinskia at gcc dot gnu dot org  2006-02-24 18:14 
---
(In reply to comment #11)
> (In reply to comment #10)
> > Note -O3 enables complete unrolling at the tree level, I think there might 
> > be
> > another related bug to this one.  I bet it is failing in VRP2 also, just 
> > like
> > the other one.
> 
> That would be PR 26443 by the way.

And it fails in the same way PR 26443 fails as that it is ICE after VRP2.
Here is the "reduced" testcase (there are no complex types in there):
MODULE message_passing
  TYPE mp_perf_type
CHARACTER ( LEN = 20 ) :: name
REAL :: time
  END TYPE mp_perf_type
  INTEGER, PARAMETER :: MAX_PERF = 12
  TYPE mp_perf_env_type
 INTEGER :: ref_count, id_nr
 TYPE ( mp_perf_type ), DIMENSION ( MAX_PERF ) :: mp_perfs
  END TYPE mp_perf_env_type
  CHARACTER ( LEN = 20 ), PARAMETER :: sname ( MAX_PERF ) =  &
   (/"MP_Group", "MP_Bcast", "MP_Allreduce", &
 "MP_Gather   ", "MP_Sync ", "MP_Alltoall ", &
 "MP_SendRecv ", "MP_ISendRecv", "MP_Wait ", &
 "MP_comm_split   ", "MP_ISend", "MP_IRecv"/)
CONTAINS
SUBROUTINE mp_perf_env_create(perf_env)
TYPE(mp_perf_env_type), POINTER :: perf_env
perf_env%id_nr=last_mp_perf_env_id
DO i = 1, MAX_PERF
   perf_env%mp_perfs(i) % name = sname(i)
   perf_env%mp_perfs(i) % time = 0.0
END DO
END SUBROUTINE mp_perf_env_create
END MODULE message_passing


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||26443
  Component|fortran |tree-optimization
   Keywords||ice-on-valid-code
Summary|gfortran does not compile   |[4.2 Regression] gfortran
   |cp2k|does not compile cp2k
   Target Milestone|--- |4.2.0
Version|4.1.0   |4.2.0


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



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

2006-02-24 Thread jvdelisle at gcc dot gnu dot org


--- Comment #13 from jvdelisle at gcc dot gnu dot org  2006-02-24 18:16 
---
Subject: Bug 26423

Author: jvdelisle
Date: Fri Feb 24 18:16:25 2006
New Revision: 111420

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111420
Log:
2006-02-24  Jerry DeLisle  <[EMAIL PROTECTED]>

PR libgfortran/26423
* io/unix.c (fd_seek): Revert change from 25949.
(fd_read): Same.
(fd_write): Same.

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


-- 


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



[Bug middle-end/26439] [4.2 Regression] missing VOPs for complex assignments

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


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-02-24 18:22 ---
Actually never mind I see the issue now but I still say this is a latent bug
and not really my bug. 


And the patch is wrong anyways in general as most of those places really should
have been testing
something like var_can_have_subvars instead of AGGREGATE_TYPE_P anyways.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.0


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



[Bug libgomp/26452] Internal compiler error with openmp

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-24 18:23 ---
Actually this is still a bug.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



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

2006-02-24 Thread jvdelisle at gcc dot gnu dot org


--- Comment #14 from jvdelisle at gcc dot gnu dot org  2006-02-24 18:23 
---
Subject: Bug 26423

Author: jvdelisle
Date: Fri Feb 24 18:23:38 2006
New Revision: 111421

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111421
Log:
2006-02-24  Jerry DeLisle  <[EMAIL PROTECTED]>

PR libgfortran/26423
* gfortran.dg/read_many_1.f: New test.

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


-- 


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



[Bug libgomp/26452] Internal compiler error with openmp

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


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-02-24 18:24 ---
This is a dup of bug 25952.

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


-- 

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=26452



[Bug c++/25952] -fopenmp causes ICE on valid code

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 18:24 ---
*** Bug 26452 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pkambadu at gmail dot com


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



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

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-24 18:30 ---


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


-- 

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=26455



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

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-24 18:30 ---
*** Bug 26455 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||com dot d2 at free dot fr


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



[Bug c/26459] New: gcc-4.1.0 RC2 fails to build on certain PowerPC targets

2006-02-24 Thread edmar at freescale dot com
When configuring gcc with:
--target=powerpc-unknown-linux-gnuspe --host=powerpc-unknown-linux-gnuspe
--enable-e500_double
this file will be included:
gcc/config/rs6000/e500-double.h
which in turn uses the variable
rs6000_float_gprs_string
which is not defined anywhere. (So the build stops with undefined sysmbol
error)

This problem can be detected as far as 20060206.
Gcc 4.0.2 builds fine with the same configuration options.


-- 
   Summary: gcc-4.1.0 RC2 fails to build on certain PowerPC targets
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: edmar at freescale dot com
 GCC build triplet: powerpc-unknown-linux-gnuspe
  GCC host triplet: powerpc-unknown-linux-gnuspe
GCC target triplet: powerpc-unknown-linux-gnuspe


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



[Bug target/26459] [4.1/4.2 Regression] gcc-4.1.0 RC2 fails to build on powerpc e500-double targets

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 18:42 ---
It is obvious that it was caused by:
2005-05-05  Aldy Hernandez  <[EMAIL PROTECTED]>
David Edelsohn  <[EMAIL PROTECTED]>

* config.gcc: Add .opt magic for the rs6000 ports.
.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|powerpc-unknown-linux-gnuspe|
   GCC host triplet|powerpc-unknown-linux-gnuspe|
 GCC target triplet|powerpc-unknown-linux-gnuspe|powerpc-linux-gnuspe
   Last reconfirmed|-00-00 00:00:00 |2006-02-24 18:42:12
   date||
Summary|gcc-4.1.0 RC2 fails to build|[4.1/4.2 Regression] gcc-
   |on certain PowerPC targets  |4.1.0 RC2 fails to build on
   ||powerpc e500-double targets
   Target Milestone|--- |4.1.0


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-24 18:43 ---
It also tells us that testing powerpc-linux-gnuspe is not important as it has
been broken for over a half of a year.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.1/4.2 Regression] gcc-   |[4.1/4.2 Regression] gcc
   |4.1.0 RC2 fails to build on |fails to build on powerpc
   |powerpc e500-double targets |e500-double targets


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread phil at mitre dot org


--- Comment #2 from phil at mitre dot org  2006-02-24 18:45 ---
Subject: RE:  Passing a NULL char* into output stream now breaks the output
stream

Thanks for the quick response.  This came up when some old systems were
ported from Solaris using gcc-2.9.5 or so and out output files just
stopped growing.  Took a couple days of detailed debugging to track it
down to a low-level string class...

In any event, my experience is that developers tend not to assert the
status of the stream operators every time they use them, especially
output streams.  In general, with almost any output descriptor or
stream, you use it correctly or not to your peril, subject to core
dumps and the like.  However, this behavior seems to expect that all
developers will do the right thing and always check stream state after
each << use (never mind if you string several together).  But the
reason they got into this state to begin with is because they did
something wrong, sending NULL where they shouldn't, so how can you
expect, if they did that, that they would bother to check the ostream
operator.

So my feeling is that the effect of doing this should be one of the
following:

1. allow << for NULL of known type by doing nothing; if (NULL)
return...
2. seg fault for making an ostream deref a NULL 

Otherwise, there's great potential that the output stream (the data)
will become corrupted, even if you manage to check it state.  For
example:

cout << "hello " << val1 << " is " << val2 << " here today?" << endl;
assert(!cout.good());

It's almost impossible to determine, even if you know the state is bad,
how much data was successfully sent into the stream before it crapped
out.  On one level you're doing a nice thing by not crashing the
program, but on another it seems unlikely you'll be able to recover the
stream, by perhaps filling in missing pieces correctly, so you might as
well crash.

Thanks again for the response...

phil


Phil Brown
Lead Software Systems Engineer
Mitre CAASD
[EMAIL PROTECTED]

Perception is nine-tenths of the flaw.


>-Original Message-
>From: pcarlini at suse dot de [mailto:[EMAIL PROTECTED] 
>Sent: Friday, February 24, 2006 11:53 AM
>To: Brown, Phil
>Subject: [Bug libstdc++/26458] Passing a NULL char* into 
>output stream now breaks the output stream
>
>
>
>--- Comment #1 from pcarlini at suse dot de  2006-02-24 
>16:53 ---
>The change is certainly intended and the important point is 
>that is not true
>that there is no indication of the failure, quite to the 
>contrary the badbit is
>set. Try changing your test like this:
>
>  char *str = NULL;
>  cout << "Hello " << str;
>
>  assert( !cout.good() );
>  cout.clear();
>
>  cout << " there" << endl;
>
>  assert( cout.good() );
>
>  cout << "still dead?" << endl;
>
>  assert( cout.good() );
>
>
>-- 
>
>pcarlini at suse dot de changed:
>
>   What|Removed |Added
>---
>-
> Status|UNCONFIRMED |RESOLVED
>  Component|c++ |libstdc++
> Resolution||INVALID
>
>
>http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26458
>
>--- You are receiving this mail because: ---
>You reported the bug, or are watching the reporter.
>


-- 


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



[Bug libgcj/26441] Old libltdl may cause memory leak in Class.forName()

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 18:48 ---
Confirmed, had 3.4 was the last import.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-24 18:48:06
   date||


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread edmar at freescale dot com


--- Comment #3 from edmar at freescale dot com  2006-02-24 18:49 ---
(In reply to comment #2)
> It also tells us that testing powerpc-linux-gnuspe is not important as it has
> been broken for over a half of a year.
> 

We test all releases, the last one was 4.0.2 and it was OK.


-- 


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread phil at mitre dot org


--- Comment #3 from phil at mitre dot org  2006-02-24 18:54 ---
See comment #2.


-- 

phil at mitre dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-24 18:55 ---
I think Paolo forgot to mention this is required by the C++ standard.


-- 

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=26458



[Bug tree-optimization/26447] verify_flow_info failed

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-24 18:59 ---
Well this one class file is not enough to reproduce this failure as I get
errors:
java/util/Comparator.java: In class
'org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser':
java/util/Comparator.java: In constructor
'(org.eclipse.jdt.internal.compiler.parser.Parser)':
java/util/Comparator.java:114: error: cannot find file for class
org.eclipse.jdt.internal.compiler.parser.Scanner


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread phil at mitre dot org


--- Comment #5 from phil at mitre dot org  2006-02-24 19:00 ---
(In reply to comment #4)
> I think Paolo forgot to mention this is required by the C++ standard.

Well that's different then.  I realize that many non-standard things were
allowed pre gcc-3.0 and that 3+ was starting to enforce more but I wasn't aware
of this particular item being spec'd in the standard.

So where do I submit a PR for the standard?!?  :)


-- 


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread mmitchel at gcc dot gnu dot org


--- Comment #4 from mmitchel at gcc dot gnu dot org  2006-02-24 19:04 
---
Edmar --

Does changing:

  if (rs6000_float_gprs_string == NULL) \
rs6000_float_gprs = 2;

too:

  if (!rs6000_explicit_options.float_gprs) \
rs6000_float_gprs = 2;

work?  Not just compile, but also generate the code you expect?


-- 


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread edmar at freescale dot com


--- Comment #5 from edmar at freescale dot com  2006-02-24 19:10 ---
(In reply to comment #4)
> Edmar --
> 
> Does changing:
> 
>   if (rs6000_float_gprs_string == NULL) \
> rs6000_float_gprs = 2;
> 
> too:
> 
>   if (!rs6000_explicit_options.float_gprs) \
> rs6000_float_gprs = 2;
> 
> work?  Not just compile, but also generate the code you expect?
> 

I started a build. This is a very slow target, it will take several hours...


-- 


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



[Bug libmudflap/26442] ICE on valid unreachable code (and no name) when compiling with -fmudflap

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-24 19:13 ---
This is ICEing when printing a warning:
1038warning (0, "mudflap cannot track %qs in stub function",
1039 IDENTIFIER_POINTER (DECL_NAME (decl)));

DECL_NAME (decl) is NULL as this is a compiler generated decl.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet|x86_64-unknown-linux-gnu|
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|
Summary|ICE on valid unreachable|ICE on valid unreachable
   |code when compiling with -  |code (and no name) when
   |fmudflap|compiling with -fmudflap


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread mark at codesourcery dot com


--- Comment #6 from mark at codesourcery dot com  2006-02-24 19:14 ---
Subject: Re:  [4.1/4.2 Regression] gcc fails to build on
 powerpc e500-double targets

edmar at freescale dot com wrote:

> I started a build. This is a very slow target, it will take several hours...

If you've got a fast workstation somewhere, you can set it up as a
cross-compiler; should take about five minutes to build a cross
compiler.  But, there's not going to be a release today, so a few hours
is not a big deal.

I would like to fix this by changing only a known-broken header file, if
possible, because that is a known-safe fix.  That would allow us to
support this target without risking any other platforms, where testing
has been performed all along.


-- 


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



[Bug middle-end/24952] ICE: RTL check: expected code 'set' or 'clobber', have 'unspec' in try_combine, at combine.c:2898

2006-02-24 Thread sayle at gcc dot gnu dot org


--- Comment #2 from sayle at gcc dot gnu dot org  2006-02-24 19:29 ---
Subject: Bug 24952

Author: sayle
Date: Fri Feb 24 19:29:34 2006
New Revision: 111425

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111425
Log:

PR middle-end/24952
* combine.c (try_combine): Explicitly check whether GET_CODE is
a SET or a CLOBBER, instead on checking that it isn't a USE.


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


-- 


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



[Bug middle-end/24952] ICE: RTL check: expected code 'set' or 'clobber', have 'unspec' in try_combine, at combine.c:2898

2006-02-24 Thread roger at eyesopen dot com


--- Comment #3 from roger at eyesopen dot com  2006-02-24 19:37 ---
This has now been fixed on mainline.


-- 

roger at eyesopen dot com changed:

   What|Removed |Added

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


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



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

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


--- Comment #23 from jakub at gcc dot gnu dot org  2006-02-24 19:45 ---
Created an attachment (id=10909)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10909&action=view)
gcc-trunk-pr26208.patch


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #10884|0   |1
is obsolete||


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



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

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


--- Comment #24 from jakub at gcc dot gnu dot org  2006-02-24 19:45 ---
Created an attachment (id=10910)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10910&action=view)
binutils-trunk-pr26208.patch


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #10885|0   |1
is obsolete||


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



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

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


--- Comment #25 from jakub at gcc dot gnu dot org  2006-02-24 19:56 ---
Updated patches.  Unfortunately, it seems even this is not enough as Java
(and C++ as well, but there we aren't expecting to throw through signal
frames), the personality routine does the same as uw_frame_state_for was doing,
i.e. subtract one from ra.  That's ok for most frames, unless they are
immediately above a signal trampoline.  In that case we shouldn't be
subtracting
one.  But returning context->ra - fs->signal_frame in _Unwind_GetIP is a bad
idea
IMHO, _Unwind_GetIP should show some instruction pointer, context->ra - 1
may very well not be start of any instruction.  For e.g. _Unwind_Backtrace we
want context->ra as is, not adjusted.  So, I'd say we should export
a new function from libgcc_s, either something like
_Unwind_SignalFrameContext (context) which will return context->signal_frame !=
0, or _Unwind_GetIP alternative, _Unwind_GetAdjustedIP (context).
In the first case, C++/Java personality routine would use
_Unwind_GetIP (context) + (_Unwind_SignalFrameContext (context) ? 0 : -1)
instead of the current _Unwind_GetIP (context) - 1, in the latter case it would
use _Unwind_GetAdjustedIP (context) instead of _Unwind_GetIP (context) - 1.
_Unwind_SignalFrameContext sounds more flexible to me.
Richard, what do you think?


-- 


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread pcarlini at suse dot de


--- Comment #6 from pcarlini at suse dot de  2006-02-24 19:56 ---
(In reply to comment #2)
> Otherwise, there's great potential that the output stream (the data)
> will become corrupted, even if you manage to check it state.

By the way, there is no such thing as a "corrupted stream". Either the state is
good, or it isn't. If, for some reason, you fear it isn't better checking it.


-- 


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread phil at mitre dot org


--- Comment #7 from phil at mitre dot org  2006-02-24 20:40 ---
Subject: RE:  Passing a NULL char* into output stream now breaks the output
stream

Agreed, the stream object itself hopfully doesn't get corrupted (bad),
but what I was refering to was "the data" itself, not the stream
object.  That is, in producing an output stream with a particular
structure and cadence, it IS possible for it to become corrupted by
violating the protocol of that output.  In my recent example I was
explaining how, even if I asserted ostream state and detected that an
error had occurred, I would not be able to determine WHERE the error
had occurred.  So I could do cout.clear() and go on but, given my
example, I wouldn't know which exact << operator failed when strung
together.  Therefore my output would be in a indeterminent state and I
may well be better off if I'd just crashed and been forced to fix the
problem.

phil


Phil Brown
Lead Software Systems Engineer
Mitre CAASD
[EMAIL PROTECTED]

Perception is nine-tenths of the flaw.


>-Original Message-
>From: pcarlini at suse dot de [mailto:[EMAIL PROTECTED] 
>Sent: Friday, February 24, 2006 2:57 PM
>To: Brown, Phil
>Subject: [Bug libstdc++/26458] Passing a NULL char* into 
>output stream now breaks the output stream
>
>
>
>--- Comment #6 from pcarlini at suse dot de  2006-02-24 
>19:56 ---
>(In reply to comment #2)
>> Otherwise, there's great potential that the output stream (the data)
>> will become corrupted, even if you manage to check it state.
>
>By the way, there is no such thing as a "corrupted stream". 
>Either the state is
>good, or it isn't. If, for some reason, you fear it isn't 
>better checking it.
>
>
>-- 
>
>
>http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26458
>
>--- You are receiving this mail because: ---
>You reported the bug, or are watching the reporter.
>


-- 


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread edmar at freescale dot com


--- Comment #7 from edmar at freescale dot com  2006-02-24 20:45 ---
Created an attachment (id=10911)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10911&action=view)
Input program that causes ICE on gcc-4.1.0 RC2

No deal. I got an ICE now:


[root:/local/edmar/obj_gcc/powerpc-unknown-linux-gnuspe/libiberty]
/local/edmar/obj_gcc/./gcc/xgcc -B/local/edmar/obj_gcc/./gcc/
-B/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/bin/
-B/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/lib/ -isystem
/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/include -isystem
/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/sys-include -c
-DHAVE_CONFIG_H -O2 -g -O2  -I.
-I../../../src/gcc4_sources/libiberty/../include  -W -Wall -pedantic
-Wwrite-strings -Wstrict-prototypes
../../../src/gcc4_sources/libiberty/floatformat.c -o floatformat.o -v
Reading specs from /local/edmar/obj_gcc/./gcc/specs
Target: powerpc-unknown-linux-gnuspe
Configured with: ../src/gcc4_sources/configure
--prefix=/root/edmar/gcc-4.1-20060206 --enable-languages=c,c++,f95
--with-as=/root/edmar/gcc-4.1-20060206/bin/as
--target=powerpc-unknown-linux-gnuspe --host=powerpc-unknown-linux-gnuspe
--enable-e500_double --disable-gdbtk --without-x
Thread model: posix
gcc version 4.1.0 20051026 (experimental)
 /local/edmar/obj_gcc/./gcc/cc1 -quiet -v -I.
-I../../../src/gcc4_sources/libiberty/../include -iprefix
/local/edmar/obj_gcc/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.1.0/
-isystem /local/edmar/obj_gcc/./gcc/include -D__unix__ -D__gnu_linux__
-D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux -Asystem=unix
-Asystem=posix -DHAVE_CONFIG_H -isystem
/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/include -isystem
/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/sys-include
../../../src/gcc4_sources/libiberty/floatformat.c -quiet -dumpbase
floatformat.c -auxbase-strip floatformat.o -g -O2 -O2 -W -Wall -pedantic
-Wwrite-strings -Wstrict-prototypes -version -o /tmp/ccl8DAd9.s
ignoring nonexistent directory
"/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/include"
ignoring nonexistent directory
"/root/edmar/gcc-4.1-20060206/powerpc-unknown-linux-gnuspe/sys-include"
ignoring nonexistent directory
"/local/edmar/obj_gcc/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.1.0/include"
ignoring nonexistent directory
"/local/edmar/obj_gcc/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.1.0/../../../../powerpc-unknown-linux-gnuspe/include"
ignoring nonexistent directory
"/root/edmar/gcc-4.1-20060206/lib/gcc/powerpc-unknown-linux-gnuspe/4.1.0/../../../../powerpc-unknown-linux-gnuspe/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../../src/gcc4_sources/libiberty/../include
 /local/edmar/obj_gcc/./gcc/include
 /usr/local/include
 /root/edmar/gcc-4.1-20060206/include

/root/edmar/gcc-4.1-20060206/lib/gcc/powerpc-unknown-linux-gnuspe/4.1.0/include
 /usr/include
End of search list.
GNU C version 4.1.0 20051026 (experimental) (powerpc-unknown-linux-gnuspe)
compiled by GNU C version 2.95.4 20010319 (prerelease/franzo/20011204).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: a377e6d60b64947de4beadd578545a5b
../../../src/gcc4_sources/libiberty/floatformat.c: In function
'floatformat_to_double':
../../../src/gcc4_sources/libiberty/floatformat.c:382: error: unrecognizable
insn:
(insn 349 347 122 12 ../../../src/gcc4_sources/libiberty/floatformat.c:350 (set
(reg:DF 11 11)
(mem/u/c/i:DF (lo_sum:SI (reg:SI 11 11)
(symbol_ref/u:SI ("*.LC5") [flags 0x2])) [12 S8 A64])) -1 (nil)
(nil))
../../../src/gcc4_sources/libiberty/floatformat.c:382: internal compiler error:
in extract_insn, at recog.c:2084
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.


-- 


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



[Bug rtl-optimization/26449] [4.2 Regression] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invariant motion

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


--- Comment #4 from steven at gcc dot gnu dot org  2006-02-24 20:48 ---
I'm not sure how to fix this.  The debug trace here says it all: We try to
force something into an operand using an optab with a mode for which we have no
handler:

Starting program: /home/steven/devel/build-trunk/gcc/cc1 -m32 -std=c99 -O1
-ftree-vectorize -march=pentium4 t.c
 matmul_i4
Analyzing compilation unitPerforming intraprocedural optimizations
Assembling functions:
 matmul_i4
Breakpoint 3, move_invariant_reg (loop=0xd3f1d0, invno=0) at
loop-invariant.c:1162
1162  op = force_operand (SET_SRC (set), reg);
(gdb) p debug_rtx(inv->insn)
(insn 82 81 143 10 (set (subreg:TI (reg:V4SI 98) 0)
(lshiftrt:TI (subreg:TI (reg:V4SI 71 [ vect_cst_.47 ]) 0)
(const_int 32 [0x20]))) -1 (nil)
(nil))
$36 = void
(gdb) p debug_rtx(set)
(set (subreg:TI (reg:V4SI 98) 0)
(lshiftrt:TI (subreg:TI (reg:V4SI 71 [ vect_cst_.47 ]) 0)
(const_int 32 [0x20])))
$37 = void
(gdb) step
force_operand (value=0x2b009cc0, target=0x2b00e500) at expr.c:5793
5793  rtx subtarget = get_subtarget (target);
(gdb) b 5888
Breakpoint 4 at 0x5ceb64: file expr.c, line 5888.
(gdb) cont
Continuing.

Breakpoint 4, force_operand (value=0x2b009cc0, target=0x2b00e500)
at expr.c:5888
5888  return expand_simple_binop (GET_MODE (value), code, op1, op2,
(gdb) p debug_rtx(op1)
(subreg:TI (reg:V4SI 71 [ vect_cst_.47 ]) 0)
$38 = void
(gdb) p debug_rtx(op2)
(const_int 32 [0x20])
$39 = void
(gdb) p code
$40 = LSHIFTRT
(gdb) step
expand_simple_binop (mode=TImode, code=LSHIFTRT, op0=0x2b009c80,
op1=0x2adf5600, target=0x2b00e500, unsignedp=1,
methods=OPTAB_LIB_WIDEN)
at optabs.c:1154
1154  optab binop = code_to_optab[(int) code];
(gdb) next
1157  return expand_binop (mode, binop, op0, op1, target, unsignedp,
methods);
(gdb) p *binop
$41 = {code = LSHIFTRT, handlers = {{insn_code = CODE_FOR_nothing, libfunc =
0x0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0}, {insn_code =
CODE_FOR_nothing,
  libfunc = 0x0}, {insn_code = CODE_FOR_nothing, libfunc = 0x0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0}, {insn_code =
CODE_FOR_nothing,
  libfunc = 0x0}, {insn_code = CODE_FOR_nothing, libfunc = 0x0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0}, {insn_code =
CODE_FOR_nothing,
  libfunc = 0x0}, {insn_code = CODE_FOR_nothing, libfunc = 0x0}, {
  insn_code = CODE_FOR_lshrqi3, libfunc = 0x0}, {insn_code =
CODE_FOR_lshrhi3,
  libfunc = 0x0}, {insn_code = CODE_FOR_lshrsi3, libfunc = 0x2af88960},
{
  insn_code = CODE_FOR_lshrdi3, libfunc = 0x2af889a0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0} , {
  insn_code = CODE_FOR_lshrv8hi3, libfunc = 0x0}, {insn_code =
CODE_FOR_lshrv4si3,
  libfunc = 0x0}, {insn_code = CODE_FOR_lshrv2di3, libfunc = 0x0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0}, {insn_code =
CODE_FOR_nothing,
  libfunc = 0x0}, {insn_code = CODE_FOR_nothing, libfunc = 0x0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0}, {insn_code =
CODE_FOR_nothing,
  libfunc = 0x0}, {insn_code = CODE_FOR_nothing, libfunc = 0x0}, {
  insn_code = CODE_FOR_nothing, libfunc = 0x0}, {insn_code =
CODE_FOR_nothing,
  libfunc = 0x0}, {insn_code = CODE_FOR_nothing, libfunc = 0x0}}}
(gdb)  


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.2.0   |---


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



[Bug rtl-optimization/26449] [4.2 Regression] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invariant motion

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.0


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



[Bug c/26461] New: liveness of thread local references across function calls

2006-02-24 Thread yichen dot xie at gmail dot com
I ran into this problem with stock gcc-4.0.2 on Fedora Core 2. The problem
shows when the following code is compiled with -O2: the address of "array"
seems to be cached and reused across calls to function "h". This becomes a
problem when function h saves its execution context in one thread and resumes
in another thread (thus the address of array changes before and after the
call). Is this a feature or a bug? How could I instruct gcc not to reuse thread
local addresses acrosses function calls? Thanks.

__thread int array[1];
int *f()
{
for (;;)
h(array);
return array;
}


-- 
   Summary: liveness of thread local references across function
calls
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: yichen dot xie at gmail dot com


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



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

2006-02-24 Thread dir at lanl dot gov


--- Comment #15 from dir at lanl dot gov  2006-02-24 20:55 ---
   Hi Jerry,

   I tried the new version of gfortran with your patches. My real programs now
run and all the old test programs worked, but of course I had to try something
new. Buffer sizes of 5000 and 1 worked Ok, but I got a failure at buffer
size of 1000 -

[dir:~/tests/gfortran-D] dir% gfortran -o write26 write26.f
[dir:~/tests/gfortran-D] dir% write26
  1140854000
Abort
[dir:~/tests/gfortran-D] dir% cat write26.f
  program test
  dimension idata(1000)
idata(1)   =  -1
idata(  1000)   =  -2
   write(11)idata
idata(1)   =  -2
idata(  1000)   =  -3
   write(11)idata
idata(1)   =  -3
idata(  1000)   =  -4
   write(11)idata
idata(1)   =  -4
idata(  1000)   =  -5
   write(11)idata
   read(11,end=1000 )idata
   call abort()
 1000  continue
   backspace 11
   backspace 11
   backspace 11
   read(11,end=1001 )idata
if(idata(1).ne.  -3.or.idata(  1000).ne.  -4)then
write(6,*)idata(1),idata(  1000)
call abort()
endif
 1001  continue
  stop
  end

[dir:~/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 20060224 (experimental)
[dir:~/tests/gfortran-D] dir% 


-- 


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



[Bug other/26462] New: initializer element is not computable at load time

2006-02-24 Thread pluto at agmk dot net
$ cat const.c
#define B0 (+1.0l/5/1/6)

const double c0 = B0; // initializer element is not computable at load time
const double c0_tab[1] = { B0 }; // initializer element is not constant

#define B1 (+1.0l/5)

const double c1 = B1; // ok.
const double c1_tab[1] = { B1 }; // initializer element is not constant

$ gcc const.c
const.c:3: error: initializer element is not computable at load time
const.c:4: error: initializer element is not constant
const.c:4: error: (near initialization for 'c0_tab[0]')
const.c:9: error: initializer element is not constant
const.c:9: error: (near initialization for 'c1_tab[0]')

gcc-4.1.0-rc1 with long-double-128 patchset.


-- 
   Summary: initializer element is not computable at load time
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
 GCC build triplet: ppc-linux
  GCC host triplet: ppc-linux
GCC target triplet: ppc-linux


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread pcarlini at suse dot de


--- Comment #8 from pcarlini at suse dot de  2006-02-24 21:03 ---
(In reply to comment #7)
> .  In my recent example I was
> explaining how, even if I asserted ostream state and detected that an
> error had occurred, I would not be able to determine WHERE the error
> had occurred.

Indeed, I understand, but this is a general "issue", which has nothing to do
with the specific inserter. Any time you "batch" many insertions you loose the
ability to do fine grained error checking, by definition.


-- 


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



[Bug other/26462] initializer element is not computable at load time

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 21:04 ---
This is a dup of bug 26374.  The problem is that the middle-end does not fold
IBM 128bit long double format currently.  See PR 19405 for history on why.

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


-- 

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=26462



[Bug middle-end/26374] Compile failure on long double

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


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-02-24 21:04 ---
*** Bug 26462 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pluto at agmk dot net


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread mark at codesourcery dot com


--- Comment #8 from mark at codesourcery dot com  2006-02-24 21:07 ---
Subject: Re:  [4.1/4.2 Regression] gcc fails to build on
 powerpc e500-double targets

edmar at freescale dot com wrote:
> --- Comment #7 from edmar at freescale dot com  2006-02-24 20:45 ---
> Created an attachment (id=10911)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10911&action=view)
>  --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10911&action=view)
> Input program that causes ICE on gcc-4.1.0 RC2
> 
> No deal. I got an ICE now:
> (insn 349 347 122 12 ../../../src/gcc4_sources/libiberty/floatformat.c:350 
> (set
> (reg:DF 11 11)
> (mem/u/c/i:DF (lo_sum:SI (reg:SI 11 11)
> (symbol_ref/u:SI ("*.LC5") [flags 0x2])) [12 S8 A64])) -1 
> (nil)
> (nil))
> ../../../src/gcc4_sources/libiberty/floatformat.c:382: internal compiler 
> error:
> in extract_insn, at recog.c:2084

Bummer.

Please attach preprocessed source and configuration options so that we
have a shot at reproducing.

However, I'm afraid that means you're going to be out of luck in GCC
4.1.0; hopefully the problem will be fixed before 4.1.1!

I'd consider  a patch for 4.1.0, but only if it's available very
shortly, and is obviously safe from the perspective of other targets; I
do not intend to do an RC3, so we cannot put other targets at risk.

Sorry,


-- 


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread phil at mitre dot org


--- Comment #9 from phil at mitre dot org  2006-02-24 21:14 ---
Subject: RE:  Passing a NULL char* into output stream now breaks the output
stream

Yup.  But by providing the ability to batch stream inserts, per the
standard I presume otherwise it's not much of a stream, then you create
the situation where this difficulty exists.  That's kinda why I joked
about "filing a PR with the standard".  If the standard says you can
string together inserts, and that a failed insert will "disable" the
stream until the error is cleared, but not allowing you to determine
where an error occurred seems a failing of the standard.

BTW, I thought that GNU was never one to limit themselves to a standard
when they could always rise above it and do better.

phil


Phil Brown
Lead Software Systems Engineer
Mitre CAASD
[EMAIL PROTECTED]

Perception is nine-tenths of the flaw.


>-Original Message-
>From: pcarlini at suse dot de [mailto:[EMAIL PROTECTED] 
>Sent: Friday, February 24, 2006 4:03 PM
>To: Brown, Phil
>Subject: [Bug libstdc++/26458] Passing a NULL char* into 
>output stream now breaks the output stream
>
>
>
>--- Comment #8 from pcarlini at suse dot de  2006-02-24 
>21:03 ---
>(In reply to comment #7)
>> .  In my recent example I
was
>> explaining how, even if I asserted ostream state and detected that
an
>> error had occurred, I would not be able to determine WHERE the error
>> had occurred.
>
>Indeed, I understand, but this is a general "issue", which has 
>nothing to do
>with the specific inserter. Any time you "batch" many 
>insertions you loose the
>ability to do fine grained error checking, by definition.
>
>
>-- 
>
>
>http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26458
>
>--- You are receiving this mail because: ---
>You reported the bug, or are watching the reporter.
>


-- 


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-02-24 Thread edmar at freescale dot com


--- Comment #9 from edmar at freescale dot com  2006-02-24 21:15 ---
(In reply to comment #8)
> Subject: Re:  [4.1/4.2 Regression] gcc fails to build on
>  powerpc e500-double targets
> 
> 
> 
> Bummer.
> 
> Please attach preprocessed source and configuration options so that we
> have a shot at reproducing.
> 
> However, I'm afraid that means you're going to be out of luck in GCC
> 4.1.0; hopefully the problem will be fixed before 4.1.1!
> 
> I'd consider  a patch for 4.1.0, but only if it's available very
> shortly, and is obviously safe from the perspective of other targets; I
> do not intend to do an RC3, so we cannot put other targets at risk.
> 
> Sorry,
> 

Mark,
On comment #7 I did attach floatformat.i, also the ICE output was done with -v.
The config options are visible there. Do you need more info ?




-- 


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



[Bug rtl-optimization/26449] [4.2 Regression] ICE with -march=pentium4 -ftree-vectorize in matmul_i4.c in loop invariant motion

2006-02-24 Thread rakdver at atrey dot karlin dot mff dot cuni dot cz


--- Comment #5 from rakdver at atrey dot karlin dot mff dot cuni dot cz  
2006-02-24 21:17 ---
Subject: Re:  [4.2 Regression] ICE with -march=pentium4 -ftree-vectorize in
matmul_i4.c in loop invariant motion

> I'm not sure how to fix this.  The debug trace here says it all: We try to
> force something into an operand using an optab with a mode for which we have 
> no
> handler:

I have considered several possibilities; by far the simplest seems to be
to either just fail in this case in move_invariant_reg, or try calling
emit_move_insn on the original SET_SRC (set) if force_operand returns
NULL (http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01009.html may be
useful in both cases).


-- 


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



[Bug libstdc++/26458] Passing a NULL char* into output stream now breaks the output stream

2006-02-24 Thread pcarlini at suse dot de


--- Comment #10 from pcarlini at suse dot de  2006-02-24 21:22 ---
(In reply to comment #9)
>  ... If the standard says you can
> string together inserts, and that a failed insert will "disable" the
> stream until the error is cleared, but not allowing you to determine
> where an error occurred seems a failing of the standard.

I don't, because I cannot see other options, besides a very hard fail,
which means application termination. In general, one don't want that. Again,
the issue is very, very general, has nothing to do with NULLs. Any time an
insertion can fail for some reason (i.e., your hard disk breaks ;) you want
fine grained error checking.

> BTW, I thought that GNU was never one to limit themselves to a standard
> when they could always rise above it and do better.

This is simply not true. The standard is tracked very closely, as close as
possible. We spend a lot of time on that, because also means participating to
the ongoing discussions on the ISO mailing lists. If we really believe
something can be done better we try to change the standard itself.


-- 


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



[Bug c/26461] liveness of thread local references across function calls

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-24 21:32 ---
Why do you think this can ever work in general?
Also why do you need this to work this way?  It seems like you are trying to
deal with your own threading system instead of allowing the OS do its work.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal


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



[Bug middle-end/26461] liveness of thread local references across function calls

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
  Component|c   |middle-end


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



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

2006-02-24 Thread jvdelisle at gcc dot gnu dot org


--- Comment #16 from jvdelisle at gcc dot gnu dot org  2006-02-24 21:40 
---
I will have to revert back a bit and see if this too is a regression or
something new. (yer killin me man! ;) )

Seriuously, though.  We'll take all the testing we can get, even if it is
frustrating.  Thanks.


-- 


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



  1   2   >