[llvm-dev] error: reference to 'Optional' is ambiguous building with gcc-4.9.3
Leslie Zhai via llvm-dev
llvm-dev at lists.llvm.org
Wed Sep 5 22:04:31 PDT 2018
Hi,
It failed to build LLVM[1] 8-master with gcc-4.9.3[2] for mips64el:
[ 94%] Building CXX object
tools/llvm-dwp/CMakeFiles/llvm-dwp.dir/llvm-dwp.cpp.o
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/llvm-dwp.cpp: In function
‘int main(int, char**)’:
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/llvm-dwp.cpp:700:3: error:
reference to ‘Optional’ is ambiguous
Optional<buffer_ostream> BOS;
^
In file included from
/home/loongson/zhaixiang/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.inc:19:0,
from
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/llvm-dwp.cpp:30:
/home/loongson/zhaixiang/llvm/include/llvm/Support/CommandLine.h:112:3:
note: candidates are: llvm::cl::NumOccurrencesFlag Optional
Optional = 0x00, // Zero or One occurrence
^
In file included from
/home/loongson/zhaixiang/llvm/include/llvm/ADT/STLExtras.h:20:0,
from
/home/loongson/zhaixiang/llvm/include/llvm/Support/Error.h:18,
from
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/DWPError.h:4,
from
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/llvm-dwp.cpp:14:
/home/loongson/zhaixiang/llvm/include/llvm/ADT/Optional.h:131:29:
note: template<class T> class llvm::Optional
template <typename T> class Optional {
^
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/llvm-dwp.cpp:700:26: error:
expected primary-expression before ‘>’ token
Optional<buffer_ostream> BOS;
^
/home/loongson/zhaixiang/llvm/tools/llvm-dwp/llvm-dwp.cpp:700:28: error:
‘BOS’ was not declared in this scope
Optional<buffer_ostream> BOS;
^
tools/llvm-dwp/CMakeFiles/llvm-dwp.dir/build.make:62: recipe for target
'tools/llvm-dwp/CMakeFiles/llvm-dwp.dir/llvm-dwp.cpp.o' failed
----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< ---
So workaround might be:
diff --git a/tools/llvm-dwp/llvm-dwp.cpp b/tools/llvm-dwp/llvm-dwp.cpp
index 4a1835a..8444a00 100644
--- a/tools/llvm-dwp/llvm-dwp.cpp
+++ b/tools/llvm-dwp/llvm-dwp.cpp
@@ -14,6 +14,7 @@
#include "DWPError.h"
#include "DWPStringPool.h"
#include "llvm/ADT/MapVector.h"
+#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
@@ -697,7 +698,7 @@ int main(int argc, char **argv) {
// Create the output file.
std::error_code EC;
raw_fd_ostream OutFile(OutputFilename, EC, sys::fs::F_None);
- Optional<buffer_ostream> BOS;
+ llvm::Optional<buffer_ostream> BOS;
raw_pwrite_stream *OS;
if (EC)
return error(Twine(OutputFilename) + ": " + EC.message(), Context);
1. $ clang -v
Loongson clang version 8.0.0 (git at github.com:llvm-mirror/clang.git
56fc90882612ab774dae937ca8d997c59364f7f8)
(git at github.com:llvm-mirror/llvm.git
3419b04cf0c0a57577865f0d17fefb205deed048) (based on LLVM 8.0.0svn)
Target: mips64el-redhat-linux
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation:
/usr/bin/../lib/gcc/mips64el-redhat-linux/4.9.3
Found candidate GCC installation: /usr/lib/gcc/mips64el-redhat-linux/4.9.3
Selected GCC installation: /usr/bin/../lib/gcc/mips64el-redhat-linux/4.9.3
Candidate multilib: .;
Selected multilib: .;
2. $ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/mips64el-redhat-linux/4.9.3/lto-wrapper
Target: mips64el-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
--enable-shared --enable-threads=posix --enable-checking=release
--enable-multilib --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-arch=loongson3a
--enable-languages=c,c++,objc,obj-c++,fortran,go,lto --enable-plugin
--disable-libgcj
--with-isl=/builddir/build/BUILD/gcc-4.9.3/obj-mips64el-redhat-linux/isl-install
--with-cloog=/builddir/build/BUILD/gcc-4.9.3/obj-mips64el-redhat-linux/cloog-install
--enable-gnu-indirect-function --with-long-double-128
--build=mips64el-redhat-linux
Thread model: posix
gcc version 4.9.3 20150626 (Red Hat 4.9.3-8) (GCC)
--
Regards,
Leslie Zhai
More information about the llvm-dev
mailing list