On Jun 25, 2010, at 3:49 AM, "pluto at agmk dot net" <gcc-bugzi...@gcc.gnu.org
> wrote:
hi,
the latest llvm/clang++ reports an error during parsing <tr1/tuple>
included from <tr1/functional>:
Both of these are c++0x only headers and really are only supported
when compiling in c++0x mode.
In file included from t00.cpp:1:
In file included from /usr/include/c++/4.5.0/tr1/functional:39:
/usr/include/c++/4.5.0/tr1/tuple:68:30: error: variadic templates
are only
allowed in C++0x
template<int _Idx, typename... _Elements>
afaics there's no #ifdef __GXX_EXPERIMENTAL... guards but...
http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01.html#manual.intro.status.standard.200x
(...)
In this implementation -std=gnu++0x or -std=c++0x flags must be used
to enable language and library features. The pre-defined symbol
__GXX_EXPERIMENTAL_CXX0X__ is used to check for the presence of
the required flag.
(...)
--
Summary: missed GXX_EXPERIMENTAL guards in <tr1/tuple>?
Product: gcc
Version: 4.5.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
GCC host triplet: x86_64-gnu-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44663