octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3.1.52 fails to build in hppa/linux


From: Rafael Laboissiere
Subject: Re: 3.1.52 fails to build in hppa/linux
Date: Sun, 22 Feb 2009 22:43:14 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

* John W. Eaton <address@hidden> [2009-02-22 16:18]:

> Yeah, it would be bad if Octave doesn't build with the latest GCC,
> even if it is only fails on some platforms.  This would cause trouble
> for getting Octave into Debian testing, for example.

Yes.

> Assuming these are bugs in GCC, can anyone easily check to see if they
> are fixed in the current GCC sources (what will become GCC 4.x)?

There is a gcc-snapshot package in Debian:

$ apt-get install gcc-snapshot
$ LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH 
PATH=/usr/lib/gcc-snapshot/bin:$PATH g++ --version
g++ (Debian 20090129-1) 4.4.0 20090129 (experimental) [trunk revision 143770]

When I use this version of g++ to compile oct-inttype.cc with "#undef
OCTAVE_INT_USE_LONG_DOUBLE" in config.h, I can still replicate the
"ambiguous template specialization" compilation failure on amd64.

Also:

$ cat test.cc
#include <iostream>
class A
{
public:
  class B {};
  template <class T, class X> void x(X a) { std::cout << a; }
  template <class T> void x(int a);
};

template <class T>
void A::x (int a)
{
  std::cout << 'x' << a;
}
template void A::x<A::B> (int a);
$ LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH 
PATH=/usr/lib/gcc-snapshot/bin:$PATH g++ -c test.cc
test.cc:15: error: ambiguous template specialization 'x<A::B>' for 'void 
A::x(int)'

Too bad :-(

-- 
Rafael


reply via email to

[Prev in Thread] Current Thread [Next in Thread]