[Bug libstdc++/25896] hash_map::erase, unordered_map::erase fail if key is inside the table

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-21 07:21 ---
"Erases all elements with key equivalent to k. Returns the number of elements
erased."
and then:
size_type erase(const key_type& k); 


So from that it might not be a bug in libstdc++ as far as I can see.


-- 


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



[Bug libfortran/25697] libfortran - Segmentation fault/ Bad Address on unformatted read

2006-01-20 Thread jvdelisle at gcc dot gnu dot org


--- Comment #16 from jvdelisle at gcc dot gnu dot org  2006-01-21 07:21 
---
Subject: Bug 25697

Author: jvdelisle
Date: Sat Jan 21 07:21:11 2006
New Revision: 110062

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

PR fortran/25697
* gfortran.dg/read_eof.f90: New test.

Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/read_eof.f90
Modified:
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug libfortran/25697] libfortran - Segmentation fault/ Bad Address on unformatted read

2006-01-20 Thread jvdelisle at gcc dot gnu dot org


--- Comment #15 from jvdelisle at gcc dot gnu dot org  2006-01-21 07:19 
---
Subject: Bug 25697

Author: jvdelisle
Date: Sat Jan 21 07:19:39 2006
New Revision: 110061

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

PR libgfortran/25697
* io/transfer.c (us_read): Detect end of file condition from previous
operations and bail out (no need to pre-position).

Modified:
branches/gcc-4_1-branch/libgfortran/ChangeLog
branches/gcc-4_1-branch/libgfortran/io/transfer.c


-- 


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



[Bug c/25897] GCC rejects the following strictly conforming code with -ansi -pedantic errors

2006-01-20 Thread pinskia at physics dot uc dot edu


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-21 07:19 ---
Subject: Re:   New: GCC rejects the following strictly conforming code with
-ansi -pedantic errors

> 
> void foo (const int (*h)[2], int (*i)[2])
> {
>   1 ? h: i;
> }
> 
> Also rejected in C99 mode.

ICC warns:
t.c(3): warning #42: operand types are incompatible ("const int (*)[2]" and
"int (*)[2]")

So maybe this is not valid C, I don't know.


-- Pinski


-- 


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



Re: [Bug c/25897] New: GCC rejects the following strictly conforming code with -ansi -pedantic errors

2006-01-20 Thread Andrew Pinski
> 
> void foo (const int (*h)[2], int (*i)[2])
> {
>   1 ? h: i;
> }
> 
> Also rejected in C99 mode.

ICC warns:
t.c(3): warning #42: operand types are incompatible ("const int (*)[2]" and 
"int (*)[2]")

So maybe this is not valid C, I don't know.


-- Pinski


[Bug c/25897] New: GCC rejects the following strictly conforming code with -ansi -pedantic errors

2006-01-20 Thread neil at gcc dot gnu dot org
void foo (const int (*h)[2], int (*i)[2])
{
  1 ? h: i;
}

Also rejected in C99 mode.


-- 
   Summary: GCC rejects the following strictly conforming code with
-ansi -pedantic errors
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: neil at gcc dot gnu dot org


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



[Bug libstdc++/25896] hash_map::erase, unordered_map::erase fail if key is inside the table

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-21 06:59 ---
I should note that TR1 says erase does take the key by reference.


-- 


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



[Bug libstdc++/25896] hash_map::erase, unordered_map::erase fail if key is inside the table

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-21 06:47 ---
I should note that TR1 is a written document.  I am wondering what it says
about this case.  If it says libstdc++ is right, then maybe you should try to
get it fixed (hard because I hear it is close to approval but I could be
wrong).


-- 


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



[Bug libstdc++/25896] New: hash_map::erase, unordered_map::erase fail if key is inside the table

2006-01-20 Thread mec at google dot com
This happens with both hash_map and unordered_map and their related classes.  I
know that hash_map is not standard, and unordered_map is in TR1 so not
considered standard yet.

Here is a kernel of the problem:

  hash_map c;
  c.insert(...);
  hash_map::iterator it = c.find("...");
  c.erase(it->first);

This is deleting by key value, not by iterator.

it->first is a key value which belongs to the collection object.
hash_map::erase(const key&) takes the key by reference.  It delegates to its
rep object, which is a hashtable.  hashtable::ref looks like this in gcc 4.0.2:

  if (__first)
{
  ...
  while (__next)
{
  if (_M_equals(_M_get_key(__next->_M_val), __key))
{
  ...
  _M_delete_node(__next);
  ...
}
  ...
}
 ...
}

The actual key object is in a node of the hash table.  After deleting that
node, the while() loop keeps using the deleted __key value with every other
node in the same bucket.

The following gcc versions have this problem with the following classes:

  gcc 3.4.5
hash_map, hash_multimap, hash_set, hash_multiset

  gcc 4.0.2
  gcc 4.1-20060106
  gcc 4.2-20060114
hash_map, hash_multimap, hash_set, hash_multiset
unordered_map, unordered_multimap, unordered_set, unordered_multiset

You could punt on hash_map and friends because they are non-standard, but it is
nasty to have a case where code compiles and links and runs and then a library
function reads a destroyed object.  unordered_map and friends will eventually
(probably) be standardized so they are more serious.


-- 
   Summary: hash_map::erase, unordered_map::erase fail if key is
inside the table
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mec at google dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug tree-optimization/25857] [4.2 Regression] ICE in coalesce_abnormal_edges at -O2

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-01-21 05:19 ---
Mine.


-- 

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|NEW |ASSIGNED


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



[Bug c++/25868] [3.4/4.0/4.1/4.2 Regression] Multiple templates and typedefs cause function prototype not to match

2006-01-20 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug rtl-optimization/25890] [4.2 regression] testsuite failure: gcc.c-torture/compile/20051228-1.c

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-21 04:15 ---
Confirmed, this also fails on x86_64-linux-gnu which means this is a semi
generic problem.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|mmix-knuth-mmixware |mmix-knuth-mmixware, x86_64-
   ||linux-gnu
   Last reconfirmed|-00-00 00:00:00 |2006-01-21 04:15:30
   date||


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



[Bug c++/25858] [4.0/4.1/4.2 regression] ICE on forgotten ":" in definition of derived class

2006-01-20 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug c++/25856] [4.0/4.1/4.2 regression] ICE defining destructor for incomplete class

2006-01-20 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug bootstrap/23801] GCC_VERSION tests in ansidecl.h result in integer overflow

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-01-21 03:11 ---
No feedback in 3 months.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/21417] Missed jump threading opportunity on trees

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-21 03:03 ---
Oh, we still not load PRE this one because we don't handle (*a).b yet.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Last reconfirmed|2005-10-24 00:23:37 |2006-01-21 03:03:17
   date||


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



[Bug bootstrap/23927] --enable-intermodule is broken on targets with mutlilibs even with --disable-multilib

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-21 02:54 ---
This is fixed with the toplevel bootstrap but I am waiting for the regressions
associated with the toplevel bootstrap to close this bug.


-- 


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



[Bug c++/25895] [4.0/4.1/4.2 Regression] wrong code with ?: and derived class pointers

2006-01-20 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.0.4   |4.0.3


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



[Bug c++/25894] [3.4/4.0/4.1/4.2 Regression] conditional operator operating on derived / base pointers appears incorrect

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-21 02:35 ---
(In reply to comment #1)
> I am starting to think the wrong code is a different regression than the
> rejects valid.

I filed that as PR 25895.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25895


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



[Bug c++/25895] [4.0/4.1/4.2 Regression] wrong code with ?: and derived class pointers

2006-01-20 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/25895] New: [4.0/4.1/4.2 Regression] wrong code with ?: and derived class pointers

2006-01-20 Thread pinskia at gcc dot gnu dot org
Testcase:
#include 
class base {
public:
base() {}
private:
int val_;
};

class derived : public base {
public:
derived() {}
};

bool x = true ? (derived*)0 : (base*)0;

int main ()
{
  if (x)
abort();
}


-- 
   Summary: [4.0/4.1/4.2 Regression] wrong code with ?: and derived
class pointers
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug c++/25894] [3.4/4.0/4.1/4.2 Regression] conditional operator operating on derived / base pointers appears incorrect

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-21 02:32 ---
3.3.3 both accepted the code and did not produce the wrong code.
3.4.0 did produce the correct code but rejected the example in comment #0.
The following code is for the wrong code regression which is produceable in
4.0.0 and above:
#include 
class base {
public:
base() {}
private:
int val_;
};

class derived : public base {
public:
derived() {}
};

bool x = true ? (derived*)0 : (base*)0;

int main ()
{
  if (x)
abort();
}



I am starting to think the wrong code is a different regression than the
rejects valid.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||wrong-code


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



[Bug c++/25894] [3.4/4.0/4.1/4.2 Regression] conditional operator operating on derived / base pointers appears incorrect

2006-01-20 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, mmitchel at gcc dot gnu
   ||dot org
   Keywords||rejects-valid
  Known to fail||3.4.0 4.0.0 4.1.0 4.2.0
  Known to work||3.3.3
Summary|conditional operator|[3.4/4.0/4.1/4.2 Regression]
   |operating on derived / base |conditional operator
   |pointers appears incorrect  |operating on derived / base
   ||pointers appears incorrect
   Target Milestone|--- |4.0.3


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



[Bug target/23602] [4.1 regression] 1081 test failures in libjava, when configured for i486-linux

2006-01-20 Thread aoliva at gcc dot gnu dot org


--- Comment #16 from aoliva at gcc dot gnu dot org  2006-01-21 02:11 ---
Created an attachment (id=10694)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10694&action=view)
Reduced testcase

This reduced testcase triggers the same bug before Richard's patch if compiled
with -fasynchronous-unwind-tables, generating very similar code to what broke
the unwinder in the libjava.lang ArrayTest on i486.  With current trunk, even
after reverting the patch, both the reduced testcase and the Java tests all
pass on an i486-pc-linux-gnu native toolchain.  Even though the generated code
is not significantly different, the EH tables are.  I can't tell immediately
whether the problem is actually fixed, and we could thus remove the patch that
hid the problem before, or if it's just more difficult to trigger now.


-- 


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



[Bug c++/25894] New: conditional operator operating on derived / base pointers appears incorrect

2006-01-20 Thread hhinnant at apple dot com
Consider this program:

class base {
public:
base() {}
private:
int val_;
};

class derived : public base {
public:
derived() {}
};

template  struct static_assert;
template <> struct static_assert {};

int main ()
{
static const bool x = true ? (derived*)0 : (base*)0;
static_assert test;
}

I'm expecting it to compile (EDG compiles it).  The current error I get is:

error: 'x' cannot appear in a constant-expression

If I allow run time evaluation of x, and print it out, I get 1 instead of 0 as
I expect.


-- 
   Summary: conditional operator operating on derived / base
pointers appears incorrect
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hhinnant at apple dot com


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



[Bug target/25893] cris-linux: various libgomp tests fail

2006-01-20 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-21 02:05:25
   date||


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



[Bug target/25893] New: cris-linux: various libgomp tests fail

2006-01-20 Thread hp at gcc dot gnu dot org
Some of the new libgomp tests fail initially for this target when tested
with a simulator, for various reasons.  This PR tracks them.
Running /home/hp/combined/combined/libgomp/testsuite/libgomp.c/c.exp ...
FAIL: libgomp.c/appendix-a/a.15.1.c execution test
WARNING: program timed out.
FAIL: libgomp.c/appendix-a/a.18.1.c execution test
WARNING: program timed out.
FAIL: libgomp.c/appendix-a/a.2.1.c execution test
WARNING: program timed out.
FAIL: libgomp.c/appendix-a/a.39.1.c execution test
FAIL: libgomp.c/barrier-1.c execution test
WARNING: libgomp.c/critical-1.c compilation failed to produce executable
WARNING: libgomp.c/lib-1.c compilation failed to produce executable
WARNING: libgomp.c/loop-1.c compilation failed to produce executable
FAIL: libgomp.c/loop-2.c (test for excess errors)
WARNING: libgomp.c/loop-2.c compilation failed to produce executable
FAIL: libgomp.c/omp-loop03.c execution test
FAIL: libgomp.c/omp_hello.c execution test
FAIL: libgomp.c/omp_orphan.c execution test
FAIL: libgomp.c/omp_workshare1.c execution test
FAIL: libgomp.c/omp_workshare2.c execution test
FAIL: libgomp.c/omp_workshare4.c execution test
WARNING: libgomp.c/ordered-1.c compilation failed to produce executable
WARNING: libgomp.c/ordered-2.c compilation failed to produce executable
WARNING: libgomp.c/sections-1.c compilation failed to produce executable
WARNING: libgomp.c/single-1.c compilation failed to produce executable

Some tests fail due to an invalid access:
libgomp.c/appendix-a/a.15.1.c
libgomp.c/omp_hello.c
libgomp.c/omp_orphan.c
libgomp.c/omp_workshare1.c
libgomp.c/omp_workshare2.c
libgomp.c/omp_workshare4.c
where the .log entry looks like this:
core: 1 byte write to unmapped address 0x3d80 at 0xa797e^M
program stopped with signal 11.^M
FAIL: libgomp.c/appendix-a/a.15.1.c execution test

Some tests just time out.  This may or may not be due to incorrect or limited
thread support (yes, there is *some* support) in the simulator.
libgomp.c/appendix-a/a.18.1.c
libgomp.c/appendix-a/a.2.1.c
libgomp.c/appendix-a/a.39.1.c

One test fails due to an unimplemented syscall in the simulator:
libgomp.c/barrier-1.c
The .log:
Unimplemented syscall: 162 (0x3dfffdb4, 0x0, 0xddd84, 0xf4240, 0x0, 0x98d52)^M
program stopped with signal 4.^M
FAIL: libgomp.c/barrier-1.c execution test

Some test fail due to a missing sync library function or missing open-code
implementation of __sync_lock_test_and_set_4:
libgomp.c/loop-1.c
libgomp.c/loop-2.c
libgomp.c/ordered-1.c
libgomp.c/ordered-2.c
libgomp.c/sections-1.c
libgomp.c/single-1.c
libgomp.c/critical-1.c
Curiously enough *some* of these pass the "excess errors" test.  The .log entry
looks like this:
/tmp/ccMhq34N.o: In function `function':critical-1.c:(.text+0x20): undefined
reference to `__sync_lock_test_and_set_4'^M
collect2: ld returned 1 exit status^M
compiler exited with status 1

One fail for some other reason, possibly
simulator-thread-implementation-related:
PASS: libgomp.c/omp-loop03.c (test for excess errors)
^M
libgomp: Thread creation failed: Resource temporarily unavailable^M
Thread 105 exited with status 1^M
program stopped with signal 4.^M
FAIL: libgomp.c/omp-loop03.c execution test

I assign this PR to myself so nobody is tempted to act on it.


-- 
   Summary: cris-linux: various libgomp tests fail
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: hp at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: cris-axis-linux-gnu


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



[Bug tree-optimization/25857] [4.2 Regression] ICE in coalesce_abnormal_edges at -O2

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-21 02:00 ---
I have an even simplier patch which I got from Daniel Berlin  instead of "in_ab
= true;" just doing a return will fix this.


-- 


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



[Bug tree-optimization/25857] [4.2 Regression] ICE in coalesce_abnormal_edges at -O2

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-21 01:48 ---
Patch which I am going to test:
Index: tree-ssa-pre.c
===
--- tree-ssa-pre.c  (revision 110030)
+++ tree-ssa-pre.c  (working copy)
@@ -2741,10 +2741,13 @@ insert_extra_phis (basic_block block, ba
   edge e;
   edge_iterator ei;
   bool first = true;
+  bool in_ab = false;
   bitmap_set_t tempset = bitmap_set_new ();

   FOR_EACH_EDGE (e, ei, block->preds)
{
+ if ((e->flags & EDGE_ABNORMAL) != 0)
+   in_ab = true;
  if (first)
{
  bitmap_set_copy (tempset, AVAIL_OUT (e->src));
@@ -2768,7 +2771,7 @@ insert_extra_phis (basic_block block, ba
  tree val = get_value_handle (name);
  tree temp;

- if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name))
+ if (in_ab)
continue;

  if (!mergephitemp


-- 


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



[Bug c/25892] -Wpointer-sign creates problems for Emacs

2006-01-20 Thread jbuck at gcc dot gnu dot org


-- 

jbuck 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-01-21 01:43:36
   date||


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



[Bug c/25892] -Wpointer-sign creates problems for Emacs

2006-01-20 Thread jbuck at gcc dot gnu dot org


-- 

jbuck at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1
   Target Milestone|--- |4.1.0


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



[Bug c/25892] -Wpointer-sign creates problems for Emacs

2006-01-20 Thread jbuck at gcc dot gnu dot org


--- Comment #1 from jbuck at gcc dot gnu dot org  2006-01-21 01:41 ---
Created an attachment (id=10693)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10693&action=view)
testcase


-- 


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



[Bug c/25892] New: -Wpointer-sign creates problems for Emacs

2006-01-20 Thread jbuck at gcc dot gnu dot org
The original report from RMS stated:

"GCC 4 when compiling Emacs gives annoying warnings about
mismatched signs of pointer target types.  To turn this
off is not trivial, since the -Wno-pointer-sign option
itself causes a diagnostic from older GCC versions.
It makes compilation fail."

Evidently changing Emacs is not an acceptable option.
After discussion with the SC and the original contributor
of the -Wpointer-sign patch, the SC agreed that
the best solution would be for -Wpointer-sign not to be
enabled by default, but only if -Wall or --pedantic is present.

Since the SC promised this fix to RMS, it needs to be considered
a release blocker for 4.1.

(I don't know about 4.0.3, probably best to do it there too).


-- 
   Summary: -Wpointer-sign creates problems for Emacs
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jbuck at gcc dot gnu dot org


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



[Bug c++/25855] template specialisation not always found (partial ordering)

2006-01-20 Thread janis at gcc dot gnu dot org


--- Comment #12 from janis at gcc dot gnu dot org  2006-01-21 01:24 ---
A regression hunt of the trunk on powerpc-linux using the testcase in comment
#4 (modified to abort if the result is not 4) identified the following patch to
fix several C++ bugs:

http://gcc.gnu.org/viewcvs?view=rev&rev=105365

r105365 | mmitchel | 2005-10-13 08:38:40 + (Thu, 13 Oct 2005)

The same fixes were added to the 4.0-branch, again as a single patch.


-- 


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



[Bug tree-optimization/25315] [4.2 regression] testsuite failure:27_io/basic_ostream/inserters_character/char/9555-oc.cc wchar_t/9555-oc.cc exec

2006-01-20 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=25315



[Bug testsuite/25891] New: gomp tests run on non-libgomp (non-thread) ports, failing all

2006-01-20 Thread hp at gcc dot gnu dot org
Errors in the log look like (for mmix-knuth-mmixware):
Running /home/hp/combined/combined/gcc/testsuite/gcc.dg/gomp/gomp.exp ...
Executing on host: /home/hp/combined/mmixware-sim/gcc/xgcc
-B/home/hp/combined/mmixware-sim/gcc/ /home/hp/combined/combined/gcc/t\
estsuite/gcc.dg/gomp/appendix-a/a.1.1.c   -fopenmp -fno-show-column -S 
-isystem /home/hp/combined/mmixware-sim/mmix-knuth-mmixwa\
re/./newlib/targ-include -isystem
/home/hp/combined/combined/newlib/libc/include  -o a.1.1.s(timeout = 300)
xgcc: unrecognized option '-pthread'^M

There was some IRC discussion which misattributed the errors to libgomp wrongly
being built, but libgomp isn't built for targets where this was noticed:
mmix-knuth-mmixware, cris-axis-elf.

A simple gating test in gomp.exp, testing error-free compilation of trivial
code
with -fopenmp should do it.


-- 
   Summary: gomp tests run on non-libgomp (non-thread) ports,
failing all
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org


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



[Bug rtl-optimization/25890] [4.2 regression] testsuite failure: gcc.c-torture/compile/20051228-1.c

2006-01-20 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
  Component|middle-end  |rtl-optimization
   Target Milestone|--- |4.2.0


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



[Bug middle-end/25890] New: [4.2 regression] testsuite failure: gcc.c-torture/compile/20051228-1.c

2006-01-20 Thread hp at gcc dot gnu dot org
Last known to work with: "Tue Jan 17 02:44:03 UTC 2006 (revision 109801M)".
Known to fail with: "Fri Jan 20 05:17:46 UTC 2006 (revision 110008M)".
Running
/home/hp/combined/combined/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
FAIL: gcc.c-torture/compile/20051228-1.c  -O1  (test for excess errors)
FAIL: gcc.c-torture/compile/20051228-1.c  -O2  (test for excess errors)
FAIL: gcc.c-torture/compile/20051228-1.c  -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.c-torture/compile/20051228-1.c  -O3 -g  (test for excess errors)
FAIL: gcc.c-torture/compile/20051228-1.c  -Os  (test for excess errors)

With the message in the .log being for all:
x/combined/gcc/testsuite/gcc.c-torture/compile/20051228-1.c: In function
'foo':^M
x/combined/gcc/testsuite/gcc.c-torture/compile/20051228-1.c:10: internal
compiler error: in expand_compound_opera\
tion, at combine.c:5644^M


-- 
   Summary: [4.2 regression] testsuite failure: gcc.c-
torture/compile/20051228-1.c
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: mmix-knuth-mmixware


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



[Bug tree-optimization/25315] [4.2 regression] testsuite failure:27_io/basic_ostream/inserters_character/char/9555-oc.cc wchar_t/9555-oc.cc exec

2006-01-20 Thread amodra at bigpond dot net dot au


--- Comment #6 from amodra at bigpond dot net dot au  2006-01-21 00:31 
---
Fails powerpc64-linux, where I was poking at this bug.


-- 

amodra at bigpond dot net dot au changed:

   What|Removed |Added

 CC||amodra at bigpond dot net
   ||dot au
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-21 00:31:12
   date||


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



[Bug tree-optimization/25315] [4.2 regression] testsuite failure:27_io/basic_ostream/inserters_character/char/9555-oc.cc wchar_t/9555-oc.cc exec

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-01-21 00:27 ---
This also fails on powerpc-darwin.

>From Alan M.:
[19:14] < alanm> bje, use of an uninitialised pseudo in catch blocks
[19:14] < pinskia> alanm: I had that problem before (int a = a; was my issue)
[19:15] < alanm> i see the following in 00.expand
[19:15] < alanm> (insn 154 153 155 17 (set (reg:DI 150 [ D.31560 ])
[19:15] < alanm> (plus:DI (reg:DI 129 [ mergephitmp.3472 ])
[19:15] < alanm> (reg:DI 201))) -1 (nil)
[19:15] < alanm> (nil))
[19:16] < alanm> reg 129 isn't set anywhere.
[19:16] < pinskia> hmm, you must be using 4.2 because mergephitmp IIRC is not
in 4.1
[19:16] < alanm> must be a tree problem somewhere, but i'm not familiar with
reading tree dumps
[19:16] < alanm> yes
[19:16] < alanm> this is mainline
[19:17] < pinskia> alanm: tree dumps is like reading C except for some cases
like eh
[19:17] * bje ([EMAIL PROTECTED]) has quit IRC (Quit: big blue room)
[19:17] < pinskia> alanm: do you have a simple example where this is a problem,
I can look at it
[19:18] < pinskia> alanm: this is only at -O2 or also at -O1?
[19:19] < alanm> no, i haven't simplified.  the failing function was
ostream-inst.cc:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c
[19:20] < pinskia> ok, I will try to take a look later
[19:21] < alanm> a quick look at generated code at -O1 says it is OK.  so bug
is at -O2 before rtl generation
[19:22] < pinskia> I want to say it is related to PRE only because of it is
mergephitmp there (but don't quote me on that because DannyB will get on my
back)
[19:26] < pinskia> alanm: is this from the test 9555-oc.cc?
[19:26] < alanm> yes, it causes that failure

Looking more into, once my build gets to building libstdc++.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|middle-end  |tree-optimization
   GCC host triplet|i686-pc-linux-gnu, x86_64-  |
   |unknown-linux-gnu   |
 GCC target triplet|cris-axis-linux-gnu |
   Keywords||EH


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



[Bug tree-optimization/23855] loop header should also be pulled out of the inner loop too

2006-01-20 Thread rakdver at gcc dot gnu dot org


--- Comment #9 from rakdver at gcc dot gnu dot org  2006-01-20 23:56 ---
Patch:

http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01424.html


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||01/msg01424.html
   Keywords||patch


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



[Bug target/25758] gcc.c-torture/compile/20030921-1.c fails at -O0

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-20 23:49 ---
I am testing the patch that RTH suggested on x86_64-linux-gnu to make sure that
it works there.


-- 


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



[Bug target/25668] libgcc2.c __floattisf code quality regression

2006-01-20 Thread amodra at bigpond dot net dot au


--- Comment #1 from amodra at bigpond dot net dot au  2006-01-20 22:51 
---
Author: amodra
Date: Fri Jan 20 00:42:29 2006
New Revision: 110004

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110004
Log:
* libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
Double TFmode.
(__floatundisf, __floatundidf): Likewise.
* libgcc2.h (IS_IBM_EXTENDED): Define.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/libgcc2.c
trunk/gcc/libgcc2.h


-- 

amodra at bigpond dot net dot au changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/25654] [4.0/4.1/4.2 Regression] RTL alias analysis unprepared to handle stack slot sharing

2006-01-20 Thread mmitchel at gcc dot gnu dot org


--- Comment #13 from mmitchel at gcc dot gnu dot org  2006-01-20 22:37 
---
RTH's comments are here:

http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01390.html


-- 


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



[Bug fortran/25092] Result lengths different at different entries

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-20 21:51 ---
Confirmed, related to PR 25091.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25091
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||accepts-invalid
   Last reconfirmed|-00-00 00:00:00 |2006-01-20 21:51:58
   date||


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



[Bug fortran/25091] Results do not conform at different entries

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-20 21:51 ---
Confirmed, this is obviously wrong as there is no way for different entries to
have different return types.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||accepts-invalid
   Last reconfirmed|-00-00 00:00:00 |2006-01-20 21:51:14
   date||


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



[Bug bootstrap/25888] make[2]: *** No rule to make target `../../gcc/gcc/gthr-gnat.c'

2006-01-20 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2006-01-20 21:44 ---
I accidently deleted the file.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug bootstrap/25888] New: make[2]: *** No rule to make target `../../gcc/gcc/gthr-gnat.c'

2006-01-20 Thread danglin at gcc dot gnu dot org
mkinstalldirs='/usr/local/bin/bash ../../gcc/gcc/../mkinstalldirs' \
  /usr/local/bin/bash mklibgcc > tmp-libgcc.mk
mv tmp-libgcc.mk libgcc.mk
TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="USED_FOR_TARGET USE_COLLECT2" \
/usr/local/bin/bash ../../gcc/gcc/mkconfig.sh tconfig.h
make[2]: *** No rule to make target `../../gcc/gcc/gthr-gnat.c', needed by
`stmp-multilib'.  Stop.
make[2]: Leaving directory `/users/bin/gcc/gcc-4.1/objdir/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/users/bin/gcc/gcc-4.1/objdir/gcc'
make: *** [bootstrap] Error 2
Fri Jan 20 15:52:00 EST 2006


-- 
   Summary: make[2]: *** No rule to make target `../../gcc/gcc/gthr-
gnat.c'
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa1.1-hp-hp10.20
  GCC host triplet: hppa1.1-hp-hp10.20
GCC target triplet: hppa1.1-hp-hp10.20


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



[Bug libstdc++/25524] libstdc++ headers should go in multilib directories

2006-01-20 Thread jsm28 at gcc dot gnu dot org


--- Comment #9 from jsm28 at gcc dot gnu dot org  2006-01-20 21:00 ---
Subject: Bug 25524

Author: jsm28
Date: Fri Jan 20 21:00:52 2006
New Revision: 110038

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110038
Log:
PR libstdc++/25524
* gcc/cppdefault.h (struct default_include): Add multilib flag.
* gcc/cppdefault.c (cpp_include_defaults): Set it.
* gcc/c.opt (-imultilib): New option.
* gcc/c-opts.c (imultilib): New.
(c_common_handle_option): Handle -imultilib.
(c_common_post_options): Likewise.
* gcc/c-incpath.c (add_standard_paths, register_include_chains):
Likewise.
* gcc/c-incpath.h (register_include_chains): Add extra parameter.
* gcc/gcc.c (do_spec_1): Generate -imultilib option.
(The Specs Language): Update %I description.
(process_command): Update copyright notice.
* gcc/doc/cppopts.texi (-imultilib): Document.
* gcc/doc/invoke.texi (-imultilib): Include in option summary.
(%I): Update specs documentation.
* libstdc++-v3/include/Makefile.am: Install host-specific headers
in multilib subdirectory.
* libstdc++-v3/include/Makefile.in: Regenerate.

Modified:
branches/csl/sourcerygxx-4_1/ChangeLog.csl
branches/csl/sourcerygxx-4_1/gcc/c-incpath.c
branches/csl/sourcerygxx-4_1/gcc/c-incpath.h
branches/csl/sourcerygxx-4_1/gcc/c-opts.c
branches/csl/sourcerygxx-4_1/gcc/c.opt
branches/csl/sourcerygxx-4_1/gcc/cppdefault.c
branches/csl/sourcerygxx-4_1/gcc/cppdefault.h
branches/csl/sourcerygxx-4_1/gcc/doc/cppopts.texi
branches/csl/sourcerygxx-4_1/gcc/doc/invoke.texi
branches/csl/sourcerygxx-4_1/gcc/gcc.c
branches/csl/sourcerygxx-4_1/libstdc++-v3/include/Makefile.am
branches/csl/sourcerygxx-4_1/libstdc++-v3/include/Makefile.in


-- 


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



[Bug libstdc++/25524] libstdc++ headers should go in multilib directories

2006-01-20 Thread jsm28 at gcc dot gnu dot org


--- Comment #8 from jsm28 at gcc dot gnu dot org  2006-01-20 21:00 ---
Subject: Bug 25524

Author: jsm28
Date: Fri Jan 20 21:00:03 2006
New Revision: 110037

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110037
Log:
PR libstdc++/25524
* cppdefault.h (struct default_include): Add multilib flag.
* cppdefault.c (cpp_include_defaults): Set it.
* c.opt (-imultilib): New option.
* c-opts.c (imultilib): New.
(c_common_handle_option): Handle -imultilib.
(c_common_post_options): Likewise.
* c-incpath.c (add_standard_paths, register_include_chains):
Likewise.
* c-incpath.h (register_include_chains): Add extra parameter.
* gcc.c (do_spec_1): Generate -imultilib option.
(The Specs Language): Update %I description.
(process_command): Update copyright notice.
* doc/cppopts.texi (-imultilib): Document.
* doc/invoke.texi (-imultilib): Include in option summary.
(%I): Update specs documentation.

libstdc++-v3:
* include/Makefile.am: Install host-specific headers in multilib
subdirectory.
* include/Makefile.in: Regenerate.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-incpath.c
trunk/gcc/c-incpath.h
trunk/gcc/c-opts.c
trunk/gcc/c.opt
trunk/gcc/cppdefault.c
trunk/gcc/cppdefault.h
trunk/gcc/doc/cppopts.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/gcc.c
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/Makefile.am
trunk/libstdc++-v3/include/Makefile.in


-- 


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



[Bug fortran/24875] [gfortran, 4.1.0 regression] Arithmetic overflow during compilation

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-01-20 20:56 ---
I am going to declare this is GMP bug as I can reproduce it on two out of three
of my machines.  The one with the newest GMP, it works.  These three machines
are all different targets, powerpc, x86 and x86-64.

So closing as worksforme.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug middle-end/23477] [4.1 Regression] default-initializing array new expression uses makes stack usage go way up

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-01-20 20:51 ---
*** Bug 23631 has been marked as a duplicate of this bug. ***


-- 


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



[Bug middle-end/23631] construct to memory and memcpy instead of memset

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-20 20:51 ---
PR 23477  was fixed in 4.1.0 and not 4.0.3.  This is still a dup of that bug.

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


-- 

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



[Bug middle-end/25869] [4.2 regression] MMIX broken: ICE compiling __divti3

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-01-20 20:46 ---
Worked around so closing as fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/25869] [4.2 regression] MMIX broken: ICE compiling __divti3

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-01-20 20:45 ---
*** Bug 25887 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org


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



[Bug bootstrap/25887] segfault on mingw32

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-20 20:45 ---


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


-- 

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



[Bug bootstrap/25887] New: segfault on mingw32

2006-01-20 Thread fxcoudert at gcc dot gnu dot org
I can't get GCC trunk to compile on mingw32. The build dies with the following
segfault:

/home/coudert/ibin/./gcc/xgcc -B/home/coudert/ibin/./gcc/
-B/mingw/i686-pc-mingw32/bin/ -B/mingw/i686-pc-mingw32/lib/ -isystem
/mingw/i686-pc-mingw32/include -isystem /mingw/i686-pc-mingw32/sys-include -O2
-I../../gcc/gcc/../winsup/w32api/include -O2 -g -O2  -DIN_GCC-W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
 -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../gcc/gcc -I../../gcc/gcc/.
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include
-I/home/coudert/local/include  -I../../gcc/gcc/../libdecnumber
-I../libdecnumber -DL__main -c ../../gcc/gcc/libgcc2.c -o libgcc/./__main.o
../../gcc/gcc/libgcc2.c: In function '__do_global_ctors':
../../gcc/gcc/libgcc2.c:2109: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [libgcc/./__main.o] Error 1
make[4]: Leaving directory `/home/coudert/ibin/gcc'
make[3]: *** [libgcc.a] Error 2
make[3]: Leaving directory `/home/coudert/ibin/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/home/coudert/ibin'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/coudert/ibin'
make: *** [all] Error 2


The gdb backtrace of the segfault is

Program received signal SIGSEGV, Segmentation fault.
0x00a7068f in df_chain_unlink (dflow=0x1857c38, ref=0x184d4d8, link=0x184e1f8)
at ../../gcc/gcc/df-problems.c:110
110   chain = chain->next;
(gdb) where
#0  0x00a7068f in df_chain_unlink (dflow=0x1857c38, ref=0x184d4d8, 
link=0x184e1f8) at ../../gcc/gcc/df-problems.c:110
#1  0x00a706d8 in df_chain_unlink (dflow=0x1857c38, ref=0x184d418, link=0x0)
at ../../gcc/gcc/df-problems.c:125
#2  0x00ab9cd4 in df_reg_chain_unlink (dflow=0x189d700, ref=0x184d418)
at ../../gcc/gcc/df-scan.c:635
#3  0x00ab9fdd in df_insn_refs_delete (dflow=0x189d700, insn=0x18c5348)
at ../../gcc/gcc/df-scan.c:743
#4  0x00aba0b7 in df_bb_refs_delete (dflow=0x189d700, bb_index=5)
at ../../gcc/gcc/df-scan.c:768
#5  0x00ab903b in df_scan_free_bb_info (dflow=0x189d700, bb=0x18ab7d0, 
vbb_info=0x164fae0) at ../../gcc/gcc/df-scan.c:189
#6  0x00a6e3f9 in df_set_blocks (df=0x176a118, blocks=0x164f83c)
at ../../gcc/gcc/df-core.c:373
During symbol reading, struct/union type gets multiply defined: union
tree_node.
During symbol reading, struct/union type gets multiply defined: struct
basic_block_def.
During symbol reading, struct/union type gets multiply defined: union
tree_node.
During symbol reading, struct/union type gets multiply defined: union
tree_node.
During symbol reading, struct/union type gets multiply defined: struct rtx_def.
#7  0x008991d6 in iv_analysis_loop_init (loop=)
at ../../gcc/gcc/loop-iv.c:267
#8  0x0087e321 in predict_loops (loops_info=0x22fd40, rtlsimpleloops=1 '\001')
at ../../gcc/gcc/predict.c:618
#9  0x0087ebb6 in estimate_probability (loops_info=0x22fd40)
at ../../gcc/gcc/predict.c:842
#10 0x007b1f12 in rest_of_handle_branch_prob () at ../../gcc/gcc/profile.c:1363
#11 0x006d4e23 in execute_one_pass (pass=0xafc6b0)
at ../../gcc/gcc/passes.c:849
#12 0x006d4ede in execute_pass_list (pass=0xafc6b0)
at ../../gcc/gcc/passes.c:881
#13 0x006d4ef9 in execute_pass_list (pass=0xafb370)
at ../../gcc/gcc/passes.c:882
#14 0x006d27ce in tree_rest_of_compilation (fndecl=0x1897a00)
at ../../gcc/gcc/tree-optimize.c:412
#15 0x0041f8fd in c_expand_body (fndecl=0x1897a00)
at ../../gcc/gcc/c-decl.c:6689
#16 0x006cb06c in cgraph_expand_function (node=0x1897c80)
at ../../gcc/gcc/cgraphunit.c:1098
#17 0x006cb2ef in cgraph_expand_all_functions ()
at ../../gcc/gcc/cgraphunit.c:1164
#18 0x006cbd27 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1431
#19 0x00422621 in c_write_global_declarations () at ../../gcc/gcc/c-decl.c:7804
#20 0x0065b9cb in compile_file () at ../../gcc/gcc/toplev.c:1003
#21 0x0065d125 in do_compile () at ../../gcc/gcc/toplev.c:1948
#22 0x0065d188 in toplev_main (argc=49, argv=0x3d48c0)
at ../../gcc/gcc/toplev.c:1980
#23 0x004a53ec in main (argc=49, argv=0x3d48c0) at ../../gcc/gcc/main.c:35


-- 
   Summary: segfault on mingw32
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug tree-optimization/25881] unsigned int loop indices don't optimize as good as int or __SIZE_TYPE__ for 64bit targets

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-20 20:43 ---
Confirmed, I thought I had saw another bug about this but no luck,  anyways
confirmed.

Hmm, using unsigned short on 32bit targets cause the same issue:
void vector_add(unsigned short n,
double * __restrict__ r,
double * __restrict__ a,
double * __restrict__ b) {
  unsigned short i;
  for(i=0; ihttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=25881



[Bug fortran/25716] FAIL: gfortran.dg/char_result_11.f90 -O (test for excess errors)

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #16 from pinskia at gcc dot gnu dot org  2006-01-20 20:37 
---
(In reply to comment #15)
> Any chance of getting the fix into 4.1?

Yes if someone approves the patch.  Which was posted: 
http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00785.html

I don't know enough of this code to approve it though.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |eedelman at gcc dot gnu dot
   |dot org |org
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||01/msg00785.html
 Status|NEW |ASSIGNED
   Keywords||ice-on-valid-code, patch


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



[Bug ada/25885] [4.0/4.1/4.2 Regression] Tree checking failure on ASIS

2006-01-20 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
   Target Milestone|--- |4.0.3


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



[Bug ada/25885] [4.0/4.1/4.2 Regression] Tree checking failure on ASIS

2006-01-20 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2006-01-20 20:14 
---
> Confirmed on 4.0.2, also present in 4.1 and 4.2
> 
> $ gcc -c -O2 gnatpp-comments.adb
> +===GNAT BUG DETECTED==+
> | 4.1.0 20060112 (prerelease) (x86_64-unknown-linux-gnu) GCC error:|
> | tree check: expected integer_cst, have nop_expr in int_const_binop,  |
> |at fold-const.c:1330  |
> | Error detected at gnatpp-comments.adb:944:17 |
> 
> $ gcc -c -O2 gnatpp-comments.adb
> +===GNAT BUG DETECTED==+
> | 4.2.0 20060115 (experimental) (x86_64-unknown-linux-gnu) GCC error:  |
> | tree check: expected integer_cst, have nop_expr in int_const_binop,  |
> |at fold-const.c:1369  |
> | Error detected at gnatpp-comments.adb:944:17 |

Yes, an annoying problem, regression from 3.x.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ebotcazou at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
  GCC build triplet|x86_64-suse-linux-gnu   |*-*-*
   GCC host triplet|x86_64-suse-linux-gnu   |*-*-*
 GCC target triplet|x86_64-suse-linux-gnu   |*-*-*
   Last reconfirmed|2006-01-20 20:01:27 |2006-01-20 20:14:09
   date||
Summary|Ada ICE have nop_expr in|[4.0/4.1/4.2 Regression]
   |int_const_binop  on x86_64- |Tree checking failure on
   |linux   |ASIS


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



[Bug ada/25885] Ada ICE have nop_expr in int_const_binop on x86_64-linux

2006-01-20 Thread laurent at guerby dot net


--- Comment #3 from laurent at guerby dot net  2006-01-20 20:01 ---
Note this works on i686 with 4.0.2.

Confirmed on 4.0.2, also present in 4.1 and 4.2

$ gcc -c -O2 gnatpp-comments.adb
+===GNAT BUG DETECTED==+
| 4.1.0 20060112 (prerelease) (x86_64-unknown-linux-gnu) GCC error:|
| tree check: expected integer_cst, have nop_expr in int_const_binop,  |
|at fold-const.c:1330  |
| Error detected at gnatpp-comments.adb:944:17 |

$ gcc -c -O2 gnatpp-comments.adb
+===GNAT BUG DETECTED==+
| 4.2.0 20060115 (experimental) (x86_64-unknown-linux-gnu) GCC error:  |
| tree check: expected integer_cst, have nop_expr in int_const_binop,  |
|at fold-const.c:1369  |
| Error detected at gnatpp-comments.adb:944:17 |


-- 

laurent at guerby dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2006-01-20 20:01:27
   date||
Summary|gnatpp won't compile|Ada ICE have nop_expr in
   ||int_const_binop  on x86_64-
   ||linux


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



[Bug libgomp/25259] [4.2 Regression] bootstrap failures on non-C99 platforms

2006-01-20 Thread bonzini at gnu dot org


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 AssignedTo|bonzini at gnu dot org  |unassigned at gcc dot gnu
   ||dot org
 Status|REOPENED|NEW
  Component|bootstrap   |libgomp


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



[Bug bootstrap/25259] [4.2 Regression] bootstrap failures on non-C99 platforms

2006-01-20 Thread bonzini at gnu dot org


--- Comment #15 from bonzini at gnu dot org  2006-01-20 19:58 ---
libgomp should use GCC_HEADER_STDINT too.  See the patch for PR25884 which does
so.


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25884
 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug libgomp/25884] libgomp should not require perl to compile

2006-01-20 Thread bonzini at gnu dot org


--- Comment #1 from bonzini at gnu dot org  2006-01-20 19:56 ---
Created an attachment (id=10692)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10692&action=view)
prototype patch

This is a prototype patch to fix the bug using autoconf to compute the
necessary sizes/alignments

Note that I'm *not* going to test and submit this patch any further.


-- 


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



[Bug middle-end/25886] [4.2 Regression] up to 256 tree codes for Objective-C++

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-20 19:26 ---
Caused by:
2006-01-19  Diego Novillo  <[EMAIL PROTECTED]>
* tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS.
(OMP_PARALLEL): Add 3 operands.
(OMP_SECTIONS): Add 1 operand.
(OMP_RETURN_EXPR): Define.

That last define caused this regression.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dnovillo at gcc dot gnu dot
   ||org
   Keywords||build
Summary|almost to 256 tree codes for|[4.2 Regression] up to 256
   |Objective-C++   |tree codes for Objective-C++
   Target Milestone|--- |4.2.0


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



[Bug c++/25874] [gomp branch] ICE in calc_dfs_tree()

2006-01-20 Thread martin at mpa-garching dot mpg dot de


--- Comment #2 from martin at mpa-garching dot mpg dot de  2006-01-20 19:17 
---
Reduced testcase:

int foo();

struct wigner_d
  {
  void recurse () {
int dd;
for (int j=0; j<=1; ++j) {
#pragma omp parallel
  dd=5;
  }
}
  };

template void rotate_alm(T arg)
  {
  wigner_d rec;
  rec.recurse();
#pragma omp parallel
foo();
  }

template void rotate_alm(float arg);
template void rotate_alm(double arg);


-- 


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



[Bug middle-end/25886] New: almost to 256 tree codes for Objective-C++

2006-01-20 Thread pinskia at gcc dot gnu dot org
Objective-C++ uses 256 tree codes and yes it uses all of them.

So Objective-C++ fails.


-- 
   Summary: almost to 256 tree codes for Objective-C++
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug ada/25885] gnatpp won't compile

2006-01-20 Thread krischik at users dot sourceforge dot net


--- Comment #2 from krischik at users dot sourceforge dot net  2006-01-20 
19:07 ---
Almost forgot, you want a gcc -v


>gcc -v
Es werden eingebaute Spezifikationen verwendet.
Ziel: x86_64-suse-linux
Konfiguriert mit: ../gcc-4.0.2/configure --with-gcc --with-gnu-ld --with-gnu-as
--enable-alloca=yes --enable-mpfr --enable-libada --enable-libgcj
--enable-multilib --enable-java-gc=boehm --enable-c99 --enable-threads=yes
--enable-interpreter --enable-hash-synchronization --enable-shared
--prefix=/opt/gnat/gcc --enable-languages=c,ada,c++,f95,java,objc
x86_64-suse-linux
Thread-Modell: posix
gcc-Version 4.0.2
---

Martin


-- 


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



[Bug ada/25885] gnatpp won't compile

2006-01-20 Thread krischik at users dot sourceforge dot net


--- Comment #1 from krischik at users dot sourceforge dot net  2006-01-20 
19:04 ---
Created an attachment (id=10691)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10691&action=view)
The GNAT chop as whiched


-- 


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



[Bug ada/25885] New: gnatpp won't compile

2006-01-20 Thread krischik at users dot sourceforge dot net
Hello

Trying to compile gnatpp I get the a "GNAT BUG DETECTED" box which I like to
share with you all: 

gnatmake "-Ptools/gnatpp/gnatpp" "-XBLD=prod" "-XOPSYS=default_Unix"
gcc -c -gnatf -gnatwu -gnaty -O2 -I- -gnatA
/work/martin/asis/tools/gnatpp/gnatpp-comments.adb
+===GNAT BUG DETECTED==+
| 4.0.2 (x86_64-suse-linux-gnu) in create_tmp_var, bei gimplify.c:368  |
| Error detected at gnatpp-comments.adb:950:8  |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.

/work/martin/asis/tools/gnatpp/gnatpp-comments.adb
./gnatpp-comments.ads
./gnatpp.ads
../../asis/asis.ads
../../asis/a4g.ads
../../asis/a4g-a_types.ads
../../asis/a4g-int_knds.ads
/work/martin/asis/gnat/types.ads
../../asis/asis-text.ads
./gnatpp-common.ads
/work/martin/asis/gnat/table.ads
./gnatpp-source_line_buffer.ads
./gnatpp-state.ads
../../asis/asis-extensions.ads
../../asis/asis-extensions-flat_kinds.ads
./gnatpp-general_traversal_stacks.ads
./gnatpp-stacs.ads
./gnatpp-layout.ads
./gnatpp-options.ads
./gnatpp-pp_output.ads
./gnatpp-output.ads
./gnatpp-source_table.ads
./gnatpp-paragraphs.ads

compilation abandoned
gnatmake: "/work/martin/asis/tools/gnatpp/gnatpp-comments.adb" compilation
error

Martin


-- 
   Summary: gnatpp won't compile
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: krischik at users dot sourceforge dot net
 GCC build triplet: x86_64-suse-linux-gnu
  GCC host triplet: x86_64-suse-linux-gnu
GCC target triplet: x86_64-suse-linux-gnu


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



[Bug ada/18819] [4.1/4.2 Regression] ACATS cdd2a01 cdd2a02 fail at runtime

2006-01-20 Thread uweigand at gcc dot gnu dot org


--- Comment #14 from uweigand at gcc dot gnu dot org  2006-01-20 18:39 
---
Some additional details about the s390x failure.  This is caused by a
miscompile of the fdd2a00__write__2 support routine:

lg  %r4,168(%r15)   # 35*movdi_64/8 [length = 6]
lg  %r3,160(%r15)   # 36*movdi_64/8 [length = 6]
cgr %r4,%r3 # 37*cmpdi_ccs/1[length = 4]
stg %r2,168(%r15)   # 33*movdi_64/9 [length = 6]

Note how insn 35 reads a stack slot that is uninitialized because
insn 33 has been scheduled later.  This is apparently caused by
an alias set issue.  The code at the .t97.final_cleanup level reads:

  A.63 = system__arith_64__add_with_ovflo_check (D.1421, D.1426);
  R38b = (ada__streams__Tstream_element_offsetB *) &A.63;

where the data type of A.63 is system__arith_64__int64.

This gets expanded into

(insn 32 31 33 3 (set (reg:DI 60)
(reg:DI 2 %r2)) -1 (nil)
(nil))

(insn 33 32 34 3 (set (mem/c/i:DI (plus:DI (reg/f:DI 39 virtual-stack-vars)
(const_int -8 [0xfff8])) [26 A.63+0 S8 A64])
(reg:DI 60)) -1 (nil)
(nil))

(insn 34 33 35 3 (parallel [
(set (reg:DI 43 [ R38b ])
(plus:DI (reg/f:DI 39 virtual-stack-vars)
(const_int -8 [0xfff8])))
(clobber (reg:CC 33 %cc))
]) -1 (nil)
(nil))

(insn 35 34 36 3 (set (reg:DI 48 [ D.1430 ])
(mem:DI (reg:DI 43 [ R38b ]) [27 S8 A64])) -1 (nil)
(nil))

Note alias set 26 in insn 33 vs. alias set 27 in insn 35.

Any ideas why this would be the case?


-- 


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



[Bug tree-optimization/25860] [4.2 Regression] ice with -g -O2 -fPIC

2006-01-20 Thread dberlin at dberlin dot org


--- Comment #9 from dberlin at gcc dot gnu dot org  2006-01-20 18:30 ---
Subject: Re:  [4.2 Regression] ice with -g -O2
-fPIC

On Fri, 2006-01-20 at 17:03 +, pinskia at gcc dot gnu dot org wrote:
> 
> --- Comment #8 from pinskia at gcc dot gnu dot org  2006-01-20 17:03 
> ---
> This patch worked though:
> Index: tree-ssa-pre.c
> ===
> --- tree-ssa-pre.c  (revision 110017)
> +++ tree-ssa-pre.c  (working copy)
> @@ -1159,7 +1159,7 @@ phi_translate (tree expr, value_set_t se
> VEC (tree, gc) * oldvuses = NULL;
> VEC (tree, gc) * newvuses = NULL;
> 
> -   if (TREE_CODE (expr) != INDIRECT_REF)
> +   if (TREE_CODE (expr) != INDIRECT_REF && !AGGREGATE_TYPE_P (TREE_TYPE
> (expr)))
>   return NULL;
> 


Changing this to "|| AGGREGATE_TYPE_P " should also be enough to fix
this.


-- 


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



[Bug testsuite/24962] gcc.target/ia64/20030811-1.c (test for excess errors) fails with -milp32

2006-01-20 Thread sje at gcc dot gnu dot org


--- Comment #1 from sje at gcc dot gnu dot org  2006-01-20 18:29 ---
Subject: Bug 24962

Author: sje
Date: Fri Jan 20 18:29:44 2006
New Revision: 110034

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110034
Log:
PR testsuite/24962
* gcc.target/ia64/20030811-1.c: Change 'long' to 'long long'.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/ia64/20030811-1.c


-- 


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



[Bug middle-end/25882] libgcov.c:577: ICE: Segmentation fault

2006-01-20 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2006-01-20 18:19 ---
This appears fixed by r110130.


-- 


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



[Bug libgomp/25877] [4.2 Regression] team.c:269: warning: implicit declaration of function 'alloca'

2006-01-20 Thread sje at gcc dot gnu dot org


--- Comment #2 from sje at gcc dot gnu dot org  2006-01-20 18:17 ---
Subject: Bug 25877

Author: sje
Date: Fri Jan 20 18:17:28 2006
New Revision: 110031

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110031
Log:
PR libgomp/25877
* team.c: Add include of alloca.h.
* configure.ac: Add check for alloca.h.
* configure: Regenerate.
* config.h.in: Regenerate.

Modified:
trunk/libgomp/ChangeLog
trunk/libgomp/config.h.in
trunk/libgomp/configure
trunk/libgomp/configure.ac
trunk/libgomp/team.c


-- 


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



[Bug libgomp/25884] New: libgomp should not require perl to compile

2006-01-20 Thread pinskia at gcc dot gnu dot org
Like all other target libraries, libgomp should not require perl to compile.

This is either a documention failure as the docs say perl is not required or
this is a bug in libgomp for requiring perl.


-- 
   Summary: libgomp should not require perl to compile
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: libgomp
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug libgomp/25883] New: libgomp call pthread functions directly

2006-01-20 Thread pinskia at gcc dot gnu dot org
libgomp (like all other target libraries in GCC) should not be calling pthread
functions directly but instead using the gthr-* files in gcc.

This makes libgomp more portable.


-- 
   Summary: libgomp call pthread functions directly
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug middle-end/22275] [3.4/4.0/4.1/4.2 Regression] bitfield layout change (regression?)

2006-01-20 Thread mark at codesourcery dot com


--- Comment #38 from mark at codesourcery dot com  2006-01-20 18:02 ---
Subject: Re:  [3.4/4.0/4.1/4.2 Regression] bitfield
 layout change (regression?)

matz at suse dot de wrote:
> --- Comment #37 from matz at suse dot de  2006-01-20 16:36 ---
> Hmpf.  One more difficulty.  x86 uses the ADJUST_FIELD_ALIGN macro
> to further fiddle with alignments of fields.  On x86 this is used to
> adjust the alignment of long long to 4 (instead of the natural 8).
> This is used only when the field is not DECL_PACKED (makes sense).
> This has the funny side-effect that a struct containing a long long zero-width
> bitfield aligns to 4 for unpacked and to 8 for packed structs

Ugh.  I think we can all agree that these issues had not been well
thought through previously. :-)

>   if (! DECL_USER_ALIGN (decl) && ! DECL_PACKED (decl))
> {
> #ifdef ADJUST_FIELD_ALIGN
>   DECL_ALIGN (decl) = ADJUST_FIELD_ALIGN (decl, DECL_ALIGN (decl));
> #endif
> }
>
> Now, I could just ignore DECL_PACKED for zero-width bitfields, then the
> adjustment would be done for both cases and we had a size of 12 with
> attribute or pragma, i.e. not the same as pre 3.4 in both.  

I don't think a zero-width bitfield should ever be DECL_PACKED.  (In
this case, it's DECL_PACKED because the structure is in the scope of
#pragma pack(1).)

In other words, I think a zero-width bitfield should always be subject
to ADJUST_FIELD_ALIGN; the meaning of a zero-width bitfield of type T
(for PCC_BITFIELD_TYPE_MATTERS) should be "align the next field as you
would a field of type T".

> I'm leaning towards not doing field adjustments for zero-width bitfields
> at all, having the effect that a zero-width bitfield has a user-alignment
> set explicitely (of it's base type).

Careful!  That would be an ABI change even in the non-packed case, which
we don't want to do.

I think the best change would be just not to mark zero-width bitfields
as DECL_PACKED in the first place; a second choice, if easier, would be
to disregard the DECL_PACKED setting in stor-layout.c.  Please add a
test case for this new oddity you discovered, if you would.

Thanks,


-- 


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



[Bug libfortran/25835] Segfault or Bad Address error on unformatted sequential READ

2006-01-20 Thread jb at gcc dot gnu dot org


--- Comment #2 from jb at gcc dot gnu dot org  2006-01-20 17:57 ---
Confirmed.


-- 

jb 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-01-20 17:57:32
   date||


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



[Bug middle-end/25869] [4.2 regression] MMIX broken: ICE compiling __divti3

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-01-20 17:38 ---
*** Bug 25882 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/25882] libgcov.c:577: ICE: Segmentation fault

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-20 17:38 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c   |middle-end
 Resolution||DUPLICATE


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



[Bug c/25882] New: libgcov.c:577: ICE: Segmentation fault

2006-01-20 Thread danglin at gcc dot gnu dot org
/home/dave/gnu/gcc-4.2/objdir/./gcc/xgcc -B/home/dave/gnu/gcc-4.2/objdir/./gcc/
-B/home/dave/opt/gnu/gcc/gcc-4.2.0/hppa-linux/bin/
-B/home/dave/opt/gnu/gcc/gcc-
4.2.0/hppa-linux/lib/ -isystem
/home/dave/opt/gnu/gcc/gcc-4.2.0/hppa-linux/include -isystem
/home/dave/opt/gnu/gcc/gcc-4.2.0/hppa-linux/sys-include -O2  -O2 -g
-O2  -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -DELF=1
-DLINUX=1 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I.
-I../../gcc/gcc -I.
./../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include 
-I../../gcc/gcc/../libdecnumber -I../libdecnumber  -DL_gcov -c
../../gcc/gcc/libgcov.c -o libgcc/./_gcov.o
../../gcc/gcc/libgcov.c: In function '__gcov_init':
../../gcc/gcc/libgcov.c:577: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [libgcc/./_gcov.o] Error 1


-- 
   Summary: libgcov.c:577: ICE:  Segmentation fault
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa-unknown-linux-gnu
  GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu


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



[Bug tree-optimization/25881] unsigned int loop indices are not accepted by the vectorizer

2006-01-20 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
  GCC build triplet|x86_64-unknown-linux-gnu|
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|64bits targets


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



[Bug bootstrap/25790] make clean fails

2006-01-20 Thread paolo dot bonzini at lu dot unisi dot ch


--- Comment #3 from paolo dot bonzini at lu dot unisi dot ch  2006-01-20 
17:21 ---
Subject: Re:  make clean fails

aoliva at gcc dot gnu dot org wrote:

>--- Comment #2 from aoliva at gcc dot gnu dot org  2006-01-20 17:16 ---
>If you mean make -k for sub-makes, yes.  But `make clean && make && make check'
>ought to work, and not stop after make clean because it looks like it failed.
>  
>
Yes.  In this case, anyway, the problem is that for a pasto I left out a 
"; \" in r104978.

Paolo


-- 


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



[Bug c++/25878] Excessive memory and compile-time with std::map init sequence

2006-01-20 Thread steven at gcc dot gnu dot org


-- 

steven 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-01-20 17:19:33
   date||


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



[Bug bootstrap/25790] make clean fails

2006-01-20 Thread aoliva at gcc dot gnu dot org


--- Comment #2 from aoliva at gcc dot gnu dot org  2006-01-20 17:16 ---
If you mean make -k for sub-makes, yes.  But `make clean && make && make check'
ought to work, and not stop after make clean because it looks like it failed.


-- 


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



[Bug tree-optimization/25881] New: unsigned int loop indices are not accepted by the vectorizer

2006-01-20 Thread David dot Monniaux at ens dot fr
void vector_add(int n,
double * __restrict__ r,
double * __restrict__ a,
double * __restrict__ b) {
  int i;
  for(i=0; ihttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=25881



[Bug tree-optimization/25860] [4.2 Regression] ice with -g -O2 -fPIC

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-01-20 17:03 ---
This patch worked though:
Index: tree-ssa-pre.c
===
--- tree-ssa-pre.c  (revision 110017)
+++ tree-ssa-pre.c  (working copy)
@@ -1159,7 +1159,7 @@ phi_translate (tree expr, value_set_t se
VEC (tree, gc) * oldvuses = NULL;
VEC (tree, gc) * newvuses = NULL;

-   if (TREE_CODE (expr) != INDIRECT_REF)
+   if (TREE_CODE (expr) != INDIRECT_REF && !AGGREGATE_TYPE_P (TREE_TYPE
(expr)))
  return NULL;

newop1 = phi_translate (find_leader (set, oldop1),
@@ -1989,7 +1989,7 @@ can_PRE_operation (tree op)
   return UNARY_CLASS_P (op)
 || BINARY_CLASS_P (op)
 || COMPARISON_CLASS_P (op)
-|| TREE_CODE (op) == INDIRECT_REF
+|| (TREE_CODE (op) == INDIRECT_REF)
 || TREE_CODE (op) == CALL_EXPR;
 }

@@ -2650,7 +2650,7 @@ create_value_expr_from (tree expr, basic


   /* Recursively value-numberize reference ops.  */
-  if (REFERENCE_CLASS_P (TREE_VALUE (vexpr)))
+  if (REFERENCE_CLASS_P (TREE_VALUE (vexpr)) && !AGGREGATE_TYPE_P
(TREE_TYPE (TREE_VALUE (vexpr
{
  tree tempop;
  op = TREE_VALUE (vexpr);


-- 


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



[Bug middle-end/23488] [4.1/4.2 Regression] GCSE load PRE does not work with non sets

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #14 from pinskia at gcc dot gnu dot org  2006-01-20 16:42 
---
Changing GVN PRE for adding decl as references is harder than I thought. :(.


-- 


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



[Bug middle-end/22275] [3.4/4.0/4.1/4.2 Regression] bitfield layout change (regression?)

2006-01-20 Thread matz at suse dot de


--- Comment #37 from matz at suse dot de  2006-01-20 16:36 ---
Hmpf.  One more difficulty.  x86 uses the ADJUST_FIELD_ALIGN macro
to further fiddle with alignments of fields.  On x86 this is used to
adjust the alignment of long long to 4 (instead of the natural 8).
This is used only when the field is not DECL_PACKED (makes sense).
This has the funny side-effect that a struct containing a long long zero-width
bitfield aligns to 4 for unpacked and to 8 for packed structs, i.e. the
packed struct actually is _larger_ than the unpacked struct.  E.g. the
running example with UINT being long long:

typedef int BOOL;
typedef unsigned long long UINT;
#pragma pack(1)
typedef struct {
BOOL fFullPathTitle:1;
BOOL fSaveLocalView:1;
BOOL fNotShell:1;
BOOL fSimpleDefault:1;
BOOL fDontShowDescBar:1;
BOOL fNewWindowMode:1;
BOOL fShowCompColor:1;
BOOL fDontPrettyNames:1;

BOOL fAdminsCreateCommonGroups:1;
UINT fUnusedFlags:7;

UINT :0;
UINT fMenuEnumFilter;
} CABINETSTATE;

This struct being unpacked (only influenced by #pragma) has size 12 after
my patch on i686, and size 16 (!) when being packed via attribute.

What's even more ugly is that pre-3.4 GCC had a size of 16 for both
cases (pragma or attribute packed) on i686 :-(

So, how would we like to handle this?  Doing as pre 3.4 did is probably
possible but not trivially done.  Basically the code doing this is:

  if (! DECL_USER_ALIGN (decl) && ! DECL_PACKED (decl))
{
#ifdef ADJUST_FIELD_ALIGN
  DECL_ALIGN (decl) = ADJUST_FIELD_ALIGN (decl, DECL_ALIGN (decl));
#endif
}

Now, I could just ignore DECL_PACKED for zero-width bitfields, then the
adjustment would be done for both cases and we had a size of 12 with
attribute or pragma, i.e. not the same as pre 3.4 in both.  I also
could never adjust zero-width bitfields, so that they would get their
natural alignment even when the target wanted something else.  Then both
cases would have size 16, being the same as pre 3.4.

I'm leaning towards not doing field adjustments for zero-width bitfields
at all, having the effect that a zero-width bitfield has a user-alignment
set explicitely (of it's base type).  I think if one understands zero-width
bitfields purely as alignment constraints than this implicit DECL_USER_ALIGN
behaviour seems sensible.


-- 


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



[Bug tree-optimization/25860] [4.2 Regression] ice with -g -O2 -fPIC

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-01-20 16:14 ---
(In reply to comment #6)
> This one is actually not a trivial problem to fix ATM (in this case,
> eliminate would need to be changed as well), so it would be best to just
> change the can_PRE_operation to have something like:
> 
> || (TREE_CODE (op) == INDIRECT_REF && !AGGREGATE_TYPE_P (TREE_TYPE
> (op
> 
> 
> If someone wants to bootstrap and test that fix before i get to it in
> the next week or so, that's fine.

That did not work, we get a different ICE:
t.cc: In function 'savewav':
t.cc:11: internal compiler error: in find_or_generate_expression, at
tree-ssa-pre.c:2029
Please submit a full bug report,
with preprocessed source if appropriate.


-- 


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



[Bug c++/25878] Excessive memory and compile-time with std::map init sequence

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-01-20 15:57 ---
Patch which might help:
http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00881.html

It is not a complete patch.


-- 


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



[Bug c/25880] suggestion: a special warning for discarding the ``const'' qualifier

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-20 16:04 ---
Patches should go to [EMAIL PROTECTED]  

The correct quoting style is "%"  as %< and %> gets translated to the
corect quote for the person.

You might just say all the Quals which are discarded, there are only 3,
restrict, const and volatile.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2006-01-20 16:04:23
   date||


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



[Bug c/25880] suggestion: a special warning for discarding the ``const'' qualifier

2006-01-20 Thread roland dot illig at gmx dot de


--- Comment #1 from roland dot illig at gmx dot de  2006-01-20 15:59 ---
Created an attachment (id=10690)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10690&action=view)
Special warning for ``const''.


-- 


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



[Bug c/25880] New: suggestion: a special warning for discarding the ``const'' qualifier

2006-01-20 Thread roland dot illig at gmx dot de
The current gcc warning for discarded qualifiers cannot be easily understood by
beginners:

$ cat const.c
int main(void)
{
const char *pcc;
char *pc;

pcc = "hello, world";
pc = pcc;
return 0;
}

$ gcc -Wall -W const.c 
const.c: In function `main':
const.c:7: warning: assignment discards qualifiers from pointer target type

This warning doesn't give any hint to a programmer not familiar with the ISO
standard's wording. Therefore I suggest to make a special case warning if the
only qualifier that's discarded is ``const''. It would then show up like this:

$ ~/pkg/gcc3/bin/gcc -Wall -W const.c 
const.c: In function `main':
const.c:7: warning: assignment discards ``const'' qualifier from pointer target
type


-- 
   Summary: suggestion: a special warning for discarding the
``const'' qualifier
   Product: gcc
   Version: 3.3.5
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: roland dot illig at gmx dot de
 GCC build triplet: *-*-*
  GCC host triplet: *-*-*
GCC target triplet: *-*-*


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



[Bug c++/25878] Excessive memory and compile-time with std::map init sequence

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-01-20 15:55 ---
The other thing which might help here is trying to find more functions which
can have nothrow on them which should help compile time.  I had a patch which
did this at the tree level but never finished it.


-- 


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



[Bug c++/25878] Excessive memory and compile-time with std::map init sequence

2006-01-20 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2006-01-20 15:53 ---
And we can hope that the SSA inliner will do better on the temporaries, but I
guess the resulting CFG will be unchanged.  Penaltizing try/finally in
estimate_num_insn_1 instead of declaring them "/* Containers have no cost.  */"
will maybe make inlining sane here again (possibly conditional on
-fexceptions).


-- 


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



[Bug rtl-optimization/15792] missed subreg optimization

2006-01-20 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-01-20 15:52 ---
(In reply to comment #4)
> I'm going to experiment with moving where the subreg lowering code occurs and
> moving up the splitting into subregs and see if I can get the desired 
> results. 
> I'm pretty new to GCC, so if any of the above seems like I'm off in the weeds
> then please let me know.

This seems right but the other issue is that register allocator allocates DI as
two consecutive register as one (that might be only part of the cause).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tony dot linthicum at amd
   ||dot com


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



[Bug c++/25878] Excessive memory and compile-time with std::map init sequence

2006-01-20 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-01-20 15:50 ---
At .ssa we have for the posted fragment the following loads of basic blocks
and exception objects:

:
  D.68636_176 = &this_1->iso639_1;
  D.68641_177 = operator[] (D.68636_176, &D.68639);

:
  this_230 = (struct
basic_string,std::allocator > * const)
D.68641_177;
  __s_231 = &"Abkhazian"[0];
  this_232 = this_230;
  __s_233 = __s_231;
  __s_234 = __s_233;
  D.76438_235 = strlen (__s_234);
  D.76432_236 = D.76438_235;
  D.76433_237 = assign (this_232, __s_233, D.76432_236);

:
  D.76434_238 = D.76433_237;
  D.76435_239 = D.76434_238;
  D.76436_240 = D.76435_239;
  D.68642_241 = D.76436_240;
  this.146_242 = (struct new_allocator *) &D.68644;
  this_243 = (struct new_allocator * const) this.146_242;
  __comp_ctor  (&D.68643, &"abk"[0], &D.68644);

:
  D.68637_248 = &this_1->iso639_2;
  D.68645_249 = operator[] (D.68637_248, &D.68643);

:
  this_302 = (struct
basic_string,std::allocator > * const)
D.68645_249;
  __str_303 = (struct
basic_string,std::allocator > &) D.68642_241;
  D.76444_304 = assign (this_302, __str_303);

:
  D.76445_305 = D.76444_304;
  D.76443_306 = D.76445_305;
  this_307 = (struct
basic_string,std::allocator > * const)
&D.68643;
  this_308 = (struct
basic_string,std::allocator > * const)
this_307;
  D.76520_309 = &D.76510;
  D.76521_310 = &this_308->_M_dataplus;
  D.76522_311 = (struct allocator *) D.76521_310;
  this_312 = (struct allocator * const) D.76520_309;
  __a_313 = (struct allocator &) D.76522_311;
  __a.148_314 = (struct new_allocator *) __a_313;
  this.149_315 = (struct new_allocator *) this_312;
  this_316 = (struct new_allocator * const) this.149_315;
  D.76525_317 = (struct new_allocator &) __a.148_314;
  this_318 = (struct
basic_string,std::allocator > * const)
this_307;
  this_319 = this_318;
  D.76534_320 = this_319->_M_dataplus._M_p;
  D.76530_321 = D.76534_320;
  D.76531_322 = (struct _Rep *) D.76530_321;
  D.76532_323 = D.76531_322 + -24B;
  D.76511_324 = D.76532_323;
  this_325 = (struct _Rep * const) D.76511_324;
  __a_326 = (struct allocator &) &D.76510;
  __p_327 = &_S_empty_rep_storage;
  D.76549_328 = (struct _Rep *) __p_327;
  D.76537_329 = D.76549_328;
  D.76538_330 = D.76537_329 != this_325;
  D.76539_331 = __builtin_expect (D.76538_330, 0);
  retval.156_332 = D.76539_331 != 0;
  if (retval.156_332) goto ; else goto ;

:;
  save_filt.202_250 = <<>>;
  save_eptr.201_251 = <<>>;
  this_252 = (struct
basic_string,std::allocator > * const)
&D.68643;
  this_253 = (struct
basic_string,std::allocator > * const)
this_252;
  D.76459_254 = &D.76449;
  D.76460_255 = &this_253->_M_dataplus;
  D.76461_256 = (struct allocator *) D.76460_255;
  this_257 = (struct allocator * const) D.76459_254;
  __a_258 = (struct allocator &) D.76461_256;
  __a.148_259 = (struct new_allocator *) __a_258;
  this.149_260 = (struct new_allocator *) this_257;
  this_261 = (struct new_allocator * const) this.149_260;
  D.76464_262 = (struct new_allocator &) __a.148_259;
  this_263 = (struct
basic_string,std::allocator > * const)
this_252;
  this_264 = this_263;
  D.76473_265 = this_264->_M_dataplus._M_p; 
  D.76469_266 = D.76473_265;
  D.76470_267 = (struct _Rep *) D.76469_266;
  D.76471_268 = D.76470_267 + -24B;
  D.76450_269 = D.76471_268;
  this_270 = (struct _Rep * const) D.76450_269;
  __a_271 = (struct allocator &) &D.76449;
  __p_272 = &_S_empty_rep_storage;
  D.76488_273 = (struct _Rep *) __p_272;
  D.76476_274 = D.76488_273;
  D.76477_275 = D.76476_274 != this_270;
  D.76478_276 = __builtin_expect (D.76477_275, 0);
  retval.156_277 = D.76478_276 != 0; 
  if (retval.156_277) goto ; else goto ;

:;
  D.76482_286 = &this_270->D.16095._M_refcount;
  D.76483_287 = (volatile _Atomic_word *) D.76482_286;
  D.76484_288 = __exchange_and_add (D.76483_287, -1);

:
  retval.157_301 = D.76484_288 <= 0;
  if (retval.157_301) goto ; else goto ;

:;
  _M_destroy (this_270, __a_271);
  goto  ();

:;
  save_filt.198_289 = <<>>;
  save_eptr.197_290 = <<>>;
  this.147_291 = (struct new_allocator *) &D.76449;
  this_292 = (struct new_allocator * const) this.147_291;
  <<>> = save_eptr.197_290;
  <<>> = save_filt.198_289;
  resx;

:;
  this.147_278 = (struct new_allocator *) &D.76449;
  this_279 = (struct new_allocator * const) this.147_278;
  D.76454_280 = &this_252->_M_dataplus;
  this_281 = (struct _Alloc_hider * const) D.76454_280;
  this.150_282 = (struct allocator *) this_281;
  this_283 = (struct allocator * const) this.150_282;
  this.147_284 = (struct new_allocator *) this_283;
  this_285 = (struct new_allocator * const) this.147_284;
  <<>> = save_eptr.201_251;
  <<>> = save_filt.202_250;
  resx;

:;
  save_filt.200_293 = <<>>;
  save_eptr.199_294 = <<>>;
  D.76454_295 = &this_252->_M_dataplus;
  this_296 = (struct _Alloc_hider * const) D.76454_295;
  this.150_297 = (struct allocator *) this_296;
  this_298 = (struct allocator * const) this.150_297;
  this.147_299 = (struct new_allocator *) this_298;
  this_300 = 

  1   2   >