[LLVMbugs] [Bug 14238] New: CommandLine.h cl::bits fails to compile with clang++ and g++ 4.7
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Nov 1 16:21:58 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=14238
Bug #: 14238
Summary: CommandLine.h cl::bits fails to compile with clang++
and g++ 4.7
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Keywords: compile-fail
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: scott+llvm+bugzilla at pakin.org
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 9484
--> http://llvm.org/bugs/attachment.cgi?id=9484
Reproducer that compiles with g++ 4.6 but not g++ 4.7 or clang++
The attached LLVM pass compiles fine with GCC 4.6:
$ g++ --version | head -1
g++ (GCC) 4.6.1
$ llvm-config --cxxflags
-I/ssdsata/pakin/byfl/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g
-fvisibility-inlines-hidden -fno-exceptions -fno-rtti -fPIC
-Woverloaded-virtual -Wcast-qual
$ g++ `llvm-config --cxxflags` hello.cpp -c
...but not with GCC 4.7:
$ g++ --version | head -1
g++ (GCC) 4.7.1
$ g++ `llvm-config --cxxflags` hello.cpp -c
In file included from hello.cpp:4:0:
/ssdsata/pakin/byfl/include/llvm/Support/CommandLine.h: In instantiation of
‘bool llvm::cl::bits<DataType, Storage, ParserClass>::handleOccurrence(unsigned
int, llvm::StringRef, llvm::StringRef) [with DataType = {anonymous}::FailType;
Storage = bool; ParserClass = llvm::cl::parser<{anonymous}::FailType>]’:
hello.cpp:32:72: required from here
/ssdsata/pakin/byfl/include/llvm/Support/CommandLine.h:1510:5: error:
‘addValue’ was not declared in this scope, and no declarations were found by
argument-dependent lookup at the point of instantiation [-fpermissive]
/ssdsata/pakin/byfl/include/llvm/Support/CommandLine.h:1510:5: note:
declarations in dependent base ‘llvm::cl::bits_storage<{anonymous}::FailType,
bool>’ are not found by unqualified lookup
/ssdsata/pakin/byfl/include/llvm/Support/CommandLine.h:1510:5: note: use
‘this->addValue’ instead
...or with Clang++:
$ clang++ `llvm-config --cxxflags` hello.cpp -c
In file included from hello.cpp:4:
/ssdsata/pakin/byfl/include/llvm/Support/CommandLine.h:1510:5: error: use of
undeclared identifier 'addValue'
addValue(Val);
^
this->
hello.cpp:11:3: note: in instantiation of member function
'llvm::cl::bits<<anonymous>::FailType, bool,
llvm::cl::parser<<anonymous>::FailType> >::handleOccurrence' requested here
Fail("fail", cl::NotHidden, cl::CommaSeparated, cl::ValueOptional,
^
/ssdsata/pakin/byfl/include/llvm/Support/CommandLine.h:1476:8: note: must
qualify identifier to find this declaration in dependent base class
void addValue(const T &V) {
^
1 error generated.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list