[Bug c++/57831] New: pointer to member function inaccessible through using statement (or ICE)

2013-07-05 Thread t-gcc-bugzilla at snowelm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57831

Bug ID: 57831
   Summary: pointer to member function inaccessible through using
statement (or ICE)
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t-gcc-bugzilla at snowelm dot com

g++ 4.8.1 rejects the following code saying "B::base::f is inaccessible". 
I believe the code is valid (and compiled without error by Clang).
Moreover, when I use the trunk head g++, it crashes with ICE.

struct A {
  void f();
};
template  struct B : T {
  typedef T base;
  using base::f; // If I write "using B::f" it's ok
  void g( ) {
B::f();   // This is OK as expected
(this->*&T::f)();// This is also OK
(this->*&B::f)(); // This causes error
  }
};
template struct B< A >;

It is strange to see "inaccessible" error, since everything in the code is
public.
The oldest g++ in my environment (g++ 4.4) also rejects the code.
Coupiler output for g++ 4.8.1 and g++ trunk are attached below
Possibly related to PR 57658 or PR 53549.

--
$ g++-4.8 -v
Using built-in specs.
COLLECT_GCC=g++-4.8
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local --program-suffix=-4.8
--enable-languages=c,c++,lto
Thread model: posix
gcc version 4.8.1 (GCC)
$ g++-4.8 hoge.ii
hoge.ii: In instantiation of 'void B::g() [with T = A]':
hoge.ii:13:17:   required from here
hoge.ii:6:14: error: 'using B::base::f' is inaccessible
  using base::f;
  ^
hoge.ii:10:13: error: within this context
 (this->*&B::f)();
 ^
hoge.ii:10:10: error: pointer to member type 'B::base' incompatible with
object type 'B'
 (this->*&B::f)();
--
$ g++-4.9 -v
Using built-in specs.
COLLECT_GCC=g++-4.9
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local --program-suffix=-4.9
--enable-languages=c,c++,lto
Thread model: posix
gcc version 4.9.0 20130705 (experimental) (GCC)
$ g++-4.9 hoge.ii
hoge.ii: In instantiation of 'void B::g() [with T = A]':
hoge.ii:13:17:   required from here
hoge.ii:10:13: internal compiler error: in tsubst_copy, at cp/pt.c:12616
 (this->*&B::f)();
 ^
0x59f08b tsubst_copy
../../gcc/cp/pt.c:12616
0x5b4bb9 tsubst_qualified_id
../../gcc/cp/pt.c:12013
0x58062b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:13684
0x57f906 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:13738
0x57e66b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:14013
0x5874f2 tsubst_expr
../../gcc/cp/pt.c:13429
0x587a4f tsubst_expr
../../gcc/cp/pt.c:12908
0x586f93 tsubst_expr
../../gcc/cp/pt.c:12894
0x587d64 tsubst_expr
../../gcc/cp/pt.c:13084
0x5858bc instantiate_decl(tree_node*, int, bool)
../../gcc/cp/pt.c:19157
0x5c14ff instantiate_pending_templates(int)
../../gcc/cp/pt.c:19256
0x5fd809 cp_write_global_declarations()
../../gcc/cp/decl2.c:4063
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
--


[Bug c++/57658] ICE in tsubst_copy, at cp/pt.c:12213

2013-06-21 Thread t-gcc-bugzilla at snowelm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57658

--- Comment #3 from Takaki Makino  ---
Created attachment 30336
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30336&action=edit
Reduced testcase

Hi Paolo,
Thank you for referring to the useful resource.
Using these tools I've got a reduced version (attached)
I believe this is a valid code.

$ g++-4.9 -std=c++11  testcase.cpp
testcase.cpp: In instantiation of 'X::f() [with T = int]::':
testcase.cpp:11:11:   required from 'struct X::f() [with T =
int]::'
testcase.cpp:11:9:   required from 'bool X::f() [with T = int]'
testcase.cpp:16:16:   required from here
testcase.cpp:12:62: internal compiler error: in tsubst_copy, at cp/pt.c:12213
 typename remove_reference < decltype (a) >::type t;
  ^
0x59f7f0 tsubst_copy
../../gcc/cp/pt.c:12213
0x57cee9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:14484
0x59081c tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:11807
0x59c8fa tsubst_template_args
../../gcc/cp/pt.c:9640
0x59d2fe tsubst_aggr_type
../../gcc/cp/pt.c:9837
0x590a25 tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:11695
0x5a1581 tsubst_decl
../../gcc/cp/pt.c:10652
0x5913b4 tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:11101
0x586eef tsubst_expr
../../gcc/cp/pt.c:12931
0x587284 tsubst_expr
../../gcc/cp/pt.c:13070
0x5864b3 tsubst_expr
../../gcc/cp/pt.c:12880
0x587284 tsubst_expr
../../gcc/cp/pt.c:13070
0x584e5b instantiate_decl(tree_node*, int, bool)
../../gcc/cp/pt.c:19112
0x5bcb67 instantiate_class_template_1
../../gcc/cp/pt.c:9018
0x5bcb67 instantiate_class_template(tree_node*)
../../gcc/cp/pt.c:9086
0x647dcb complete_type(tree_node*)
../../gcc/cp/typeck.c:131
0x57dd30 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:14581
0x586a12 tsubst_expr
../../gcc/cp/pt.c:13415
0x586f6f tsubst_expr
../../gcc/cp/pt.c:12894
0x5864b3 tsubst_expr
../../gcc/cp/pt.c:12880
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.


[Bug c++/57658] ICE in tsubst_copy, at cp/pt.c:12213

2013-06-20 Thread t-gcc-bugzilla at snowelm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57658

--- Comment #1 from Takaki Makino  ---
It seems that the attachment file size was 1000.3KB and rejected by bugzilla.
Anyway please download preprocessed source from the URL above.


[Bug c++/57658] New: ICE in tsubst_copy, at cp/pt.c:12213

2013-06-20 Thread t-gcc-bugzilla at snowelm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57658

Bug ID: 57658
   Summary: ICE in tsubst_copy, at cp/pt.c:12213
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t-gcc-bugzilla at snowelm dot com

Maybe similar to PR 57109, but the attached source for the PR was compiled
without problem in my environment, so I post this one as a new bug.

Due to bugzilla size limit, I had to compress the preprocessed source with
lzma.
If you need, please download the uncompressed version at
http://www.sat.t.u-tokyo.ac.jp/~mak/temp/parser.cpp.1.ii

$ g++-4.9 -v
Using built-in specs.
COLLECT_GCC=g++-4.9
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local --program-suffix=-4.9
--enable-languages=c,c++,lto
Thread model: posix
gcc version 4.9.0 20130620 (experimental) (GCC)

$ g++-4.9 -std=c++11 src/parser.cpp.1.ii
../../src/parser.cpp: In instantiation of
'pomdp::parsed_POMDP<_POMDP_traits>::parse(std::istream&) [with _POMDP_traits =
pomdp::POMDP_sparse_traits; std::istream =
std::basic_istream]::':
../../src/parser.cpp:291:42:   required from 'struct
pomdp::parsed_POMDP<_POMDP_traits>::parse(std::istream&) [with _POMDP_traits =
pomdp::POMDP_sparse_traits; std::istream =
std::basic_istream]::'
../../src/parser.cpp:290:6:   required from 'bool
pomdp::parsed_POMDP<_POMDP_traits>::parse(std::istream&) [with _POMDP_traits =
pomdp::POMDP_sparse_traits; std::istream = std::basic_istream]'
../../src/parser.cpp:433:16:   required from here
../../src/parser.cpp:291:103: internal compiler error: in tsubst_copy, at
cp/pt.c:12213
  matOS_.operator[]([this,&a,&s1](matOS const &d, unused_type,
unused_type){ forall(a){ rewar[a].makeCompressed(); forall(s1) {
rewar[a].col(s1) = d.transpose() * O(a).col(s1); }}})
   
   ^
0x59f7f0 tsubst_copy
../../gcc/cp/pt.c:12213
0x57cee9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:14484
0x59081c tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:11807
0x59c8fa tsubst_template_args
../../gcc/cp/pt.c:9640
0x59d2fe tsubst_aggr_type
../../gcc/cp/pt.c:9837
0x590a25 tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:11695
0x57d852 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:13601
0x57f21c tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:13724
0x57e940 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:14154
0x586a12 tsubst_expr
../../gcc/cp/pt.c:13415
0x5890de tsubst_expr
../../gcc/cp/pt.c:12973
0x5864b3 tsubst_expr
../../gcc/cp/pt.c:12880
0x587284 tsubst_expr
../../gcc/cp/pt.c:13070
0x5864b3 tsubst_expr
../../gcc/cp/pt.c:12880
0x587284 tsubst_expr
../../gcc/cp/pt.c:13070
0x584e5b instantiate_decl(tree_node*, int, bool)
../../gcc/cp/pt.c:19112
0x5bcb67 instantiate_class_template_1
../../gcc/cp/pt.c:9018
0x5bcb67 instantiate_class_template(tree_node*)
../../gcc/cp/pt.c:9086
0x647dcb complete_type(tree_node*)
../../gcc/cp/typeck.c:131
0x57dd30 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:14581
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


[Bug sanitizer/56393] SIGSEGV when -fsanitize=address and dynamic lib with global objects

2013-02-22 Thread t-gcc-bugzilla at snowelm dot com


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



--- Comment #20 from Takaki Makino  
2013-02-22 09:01:30 UTC ---

I understand why dynamic libasan is important.

Still it seems for me -static-libasan can be default, except when -shared is

given.

(just because I have no idea how the shared case could be solved...)


[Bug sanitizer/56393] SIGSEGV when -fsanitize=address and dynamic lib with global objects

2013-02-21 Thread t-gcc-bugzilla at snowelm dot com


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



--- Comment #17 from Takaki Makino  
2013-02-22 06:38:33 UTC ---

(In reply to comment #15)

> r196201 landed the fresh asan run-time into gcc.

> -static-libasan should work well now, please try.



It works for me, thank you very much for your efforts.

Why don't you set -static-libasan as default?

Because I still don't understand in which case dynamic libasan is useful...


[Bug sanitizer/56393] SIGSEGV when -fsanitize=address and dynamic lib with global objects

2013-02-19 Thread t-gcc-bugzilla at snowelm dot com


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



--- Comment #5 from Takaki Makino  
2013-02-19 15:26:41 UTC ---

To reply Kostya's comment,

As shown in the reduced testcase, the program crashes before 

ASAN_OPTIONS=verbosity=1 takes effect.


[Bug sanitizer/56393] SIGSEGV when -fsanitize=address and dynamic lib with global objects

2013-02-19 Thread t-gcc-bugzilla at snowelm dot com


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



--- Comment #4 from Takaki Makino  
2013-02-19 15:22:38 UTC ---

Created attachment 29499

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29499

reduced testcase



I tried to made a fairly reduced testcase from boost.

Attached please find the tarball.



make CXX=/your/head/gcc



two programs are built and run.

The statically linked one, a.out.static, runs happily, 

while a.out.dynamic, the dynamically linked one, fails with SIGSEGV.

Tested on linux x86_64.


[Bug sanitizer/56393] SIGSEGV when -fsanitize=address and dynamic lib with global objects

2013-02-19 Thread t-gcc-bugzilla at snowelm dot com


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



--- Comment #2 from Takaki Makino  
2013-02-19 14:02:13 UTC ---

Thanks Kostya.



Unfortunately -static-libasan didn't help:



$ g++ -g -fsanitize=address -I/usr/local/include hoge2.cpp -o a.out

-lboost_thread-mt-d -lboost_system-mt-d -static-libasan

$ ./a.out

Segmentation fault (core dumped


[Bug sanitizer/56393] New: SIGSEGV when -fsanitize=address and dynamic lib with global objects

2013-02-19 Thread t-gcc-bugzilla at snowelm dot com


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



 Bug #: 56393

   Summary: SIGSEGV when -fsanitize=address and dynamic lib with

global objects

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: sanitizer

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: t-gcc-bugzi...@snowelm.com

CC: do...@gcc.gnu.org, dvyu...@gcc.gnu.org,

ja...@gcc.gnu.org, k...@gcc.gnu.org





Created attachment 29493

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29493

gdb session log



When linked with a dynamic library with a globally initialized class object, a

compiled code with address sanitizer dies with SIGSEGV.  I think this is a 

typical usecase...



Test case: 

(boost 1.53 was installed with --build-type=complete.

 tested by libs compiled with g++ 4.7.2 as well as libs compiled with head gcc)

-

#include 

#include 

int main() {

printf("hello\n");

boost::upgrade_mutex m;

}

--



$ g++ -g -fsanitize=address -I/usr/local/include hoge2.cpp -o a.out

-lboost_thread -lboost_system

$ ./a.out

Segmentation fault (core dumped)



The segfault is before the printf.

Without -fsanitize=address it runs normally.  If the program is linked with

static libs (-lboost_thread-mt-s -lboost_system-mt-s), it runs normally.

Note that the libraries are compiled without -fsanitize=address.



I investigated the situation by gdb (with -lboost_thread-mt-d

-lboost_system-mt-d). Please see the attached log.

For me it seems that some initializer in the shared lib kicks sanitized code of

some object constructor before the sanitizer gets ready.


[Bug c++/56323] New: [C++11] cannot compile inherited constructor for typedef'ed base class

2013-02-14 Thread t-gcc-bugzilla at snowelm dot com


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



 Bug #: 56323

   Summary: [C++11] cannot compile inherited constructor for

typedef'ed base class

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: t-gcc-bugzi...@snowelm.com





Consider the following code that uses inherited constructor from a typedef'ed

type:





struct A {

A(int i);

};



typedef A B;



struct C : B {

using B::B; // compile error by gcc

};



struct D : B {

using B::A; // this is compiled as inherited constructor

};



C c(0);

D d(0);





I believe that C should be valid, while D should be reported as invalid. 

However I cannot find anything about this problem in the C++11 standard...



In template programming, using inherited constructor is sometimes virtually

impossible, as in the following example.





struct A {

A(int i);

};



template 

struct E {

typedef T type;

};



template 

struct F : E::type {

using E::type::type; // error: E::type is a typedef

};



F f(0);




[Bug c++/56215] New: Cannot create constexpr struct with unnamed unions

2013-02-05 Thread t-gcc-bugzilla at snowelm dot com

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

 Bug #: 56215
   Summary: Cannot create constexpr struct with unnamed unions
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: t-gcc-bugzi...@snowelm.com


Similar to PR c++/51675, but the trunk GCC fails to compile the following code:
--
struct foo {
union
{
int x;
short y;
};
constexpr foo() : x( 0 ) { }
};
--

$ g++ --std=c++11 hoge.cpp
hoge.cpp: In constructor ‘constexpr foo::foo()’:
hoge.cpp:7:33: error: uninitialized member ‘foo::’ in ‘constexpr’
constructor
  constexpr foo() : x( 0 ) { }
 ^

What I actually want to do is a specialization of std::pair to provide
efficient comparison.  Since this requires an unnamed struct within an unnamed
union, and
the bug seems very sensitive to details like that, I put the code too.
GCC trunk also fails compiling the following.

--
#include 
#include 

namespace std {
template <>
struct pair< uint32_t, uint32_t > {
union
{
struct {
uint32_t first;
uint32_t second;
};
uint64_t paired;
};
constexpr pair() : paired( ) { }
constexpr pair(uint32_t a, uint32_t b) : first(a), second(b) { }
};
constexpr bool operator==
( pair a, pair b )
{
return a.paired == b.paired;
}
constexpr bool operator<
( pair a, pair b )
{ // only for little endian
return ((a.paired<<32)|(a.paired>>32)) < ((b.paired<<32)|(b.paired>>32));
}
} // namespace

std::pair x(1, 2);
--


[Bug c++/35099] [OpenMP] ICE in remove_unreachable_regions with -O -fopenmp

2008-02-06 Thread t-gcc-bugzilla at snowelm dot com


--- Comment #1 from t-gcc-bugzilla at snowelm dot com  2008-02-06 08:03 
---
Created an attachment (id=15103)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15103&action=view)
Testcase


-- 


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



[Bug c++/35099] New: [OpenMP] ICE in remove_unreachable_regions with -O -fopenmp

2008-02-06 Thread t-gcc-bugzilla at snowelm dot com
g++ on the trunk (revision 132140) produces ICE when compiling the attached
test1.ii.  I tried to reduce the code but I couldn't.

$ g++-4.3 -E test.cpp -o test1.ii
$ g++-4.3 -O -fopenmp test1.ii
hoge.cpp: In function 'void
_Z15test_learnervecP15EnvironmentBaseRSt6vectorIP11LearnerBaseSaIS3_EEiSs.omp_fn.0(void*)':
hoge.cpp:85: internal compiler error: in remove_unreachable_regions, at
except.c:693
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[EMAIL PROTECTED]:~/src/tdn$ g++-4.3 -v 
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../configure --prefix=/home/mak/local --program-suffix=-4.3 :
(reconfigured) ../configure --prefix=/home/mak/local --program-suffix=-4.3
CPPFLAGS=-I/home/mak/local/include LDFLAGS=-L/home/mak/local/lib
--enable-languages=c,c++,fortran,java,objc --no-create --no-recursion
Thread model: posix
gcc version 4.3.0 20080206 (experimental) (GCC)


-- 
   Summary: [OpenMP] ICE in remove_unreachable_regions with -O -
fopenmp
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: t-gcc-bugzilla at snowelm 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=35099



[Bug c/34825] New: ICE (SIGSEGV) in compiling valid code with -funsafe-math-optimizations

2008-01-16 Thread t-gcc-bugzilla at snowelm dot com
gcc reports ICE when compiling SVMlight software package
(http://svmlight.joachims.org/) on x86_64 with -funsafe-math-optimizations.
The following is the reduced code from the svm_hideo.c in SVMlight 6.01.

Occurs on: gcc-4.2.2 on x86_64, gcc-4.3.0 on x86_64,  
   gcc-4.2.3 on i386, gcc-4.3.0 on i386
Doesn't occur on: gcc-4.1.3 on x86_64, gcc-4.1.3 on i386

$ cat >test.i <<__END__
double optimize_hildreth_despo(long n,long b1,long b2, double *g, double *g0,
double *ce, double *ce0, double *low, double *up, double *init)
{
double t;

if(ce[b1] != ce[b2]) {
t = 0;
}
else if(((g[b1*n+b1]>0) || (g[b2*n+b2]>0))) {
   
t=((ce[b2]/ce[b1])*g0[b1]-g0[b2]+ce0[0]*(g[b1*n+b1]*ce[b2]/ce[b1]-g[b1*n+b2]/ce[b1]))/((ce[b2]*ce[b2]/(ce[b1]*ce[b1]))*g[b1*n+b1]+g[b2*n+b2]-2*(g[b1*n+b2]*ce[b2]/ce[b1]))-init[b2];
if((up[b2]-init[b2]) < t) {
t=up[b2]-init[b2];
}
if((init[b2]-low[b2]) < -t) {
t=-(init[b2]-low[b2]);
}
if((up[b1]-init[b1]) < -t) {
t=-(up[b1]-init[b1]);
}
if((init[b1]-low[b1]) < t) {
t=init[b1]-low[b1];
}
}
return t;
}
__END__
$ gcc-4.3 -funsafe-math-optimizations -O -c test.i
test.i: In function 'optimize_hildreth_despo':
test.i:2: 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.
$ gcc-4.3 -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3-20080104-1'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.0 20080104 (experimental) [trunk revision 131316] (Debian
4.3-20080104-1) 
$ uname -a
Linux rainbow 2.6.22-3-amd64 #1 SMP Thu Oct 11 15:23:23 UTC 2007 x86_64
GNU/Linux


-- 
   Summary: ICE (SIGSEGV) in compiling valid code with -funsafe-
math-optimizations
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: t-gcc-bugzilla at snowelm dot com
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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