golevka / emacs-clang-complete-async Goto Github PK
View Code? Open in Web Editor NEWAn emacs plugin to complete C and C++ code using libclang
An emacs plugin to complete C and C++ code using libclang
Hi,
I've setup emacs-clang-complete-async
and it is working nicely with some annoyances, see this issue and of course the one I'm opening right now.
Consider this snippet:
#include <vector>
int main(){
std::vector<int> var;
var.|
}
where |
symbolises point
. When I start completion all the member functions of std::vector
show up, however, if I type a
(for restricting the completions to all functions starting with a
), the completion menu is empty (it vanishes).
Edit: I just wanted to state that I know about using C-s
for narrowing the list of completion candidates, however, it would be more consistent if ac-clang
could complete a function in any situation, meaning even after the first letters of a function name are already typed.
My config is (I omitted the require
statements and everything that is not related to configuring it for c-mode
):
;; ac common settings
(setq ac-quick-help-delay 0.5)
(setq ac-auto-start 4) ;; so it starts after the firth letter
(setq ac-auto-show-menu 1)
(setq ac-menu-height 10)
(setq ac-ignore-case nil)
(setq ac-use-menu-map t)
(global-auto-complete-mode t)
(setq ac-dwim t)
(defun ac-cc-mode-clang-setup ()
(message " * calling ac-cc-mode-clang-setup")
(setq ac-clang-complete-executable "~/.emacs.d/site-lisp/emacs-clang-complete-async/clang-complete")
(setq ac-clang-cflags
(mapcar (lambda (item)(concat "-I" item))
(split-string
"
/usr/include/c++/4.7
/usr/include/c++/4.7/x86_64-linux-gnu
/usr/include/c++/4.7/backward
/usr/lib/gcc/x86_64-linux-gnu/4.7/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
"
)))
(setq ac-clang-flags ac-clang-cflags)
;; (setq ac-sources (append '(ac-source-clang-async ac-source-yasnippet) ac-sources))
(setq ac-sources '(ac-source-clang-async))
(ac-clang-launch-completion-process)
(ac-clang-update-cmdlineargs))
(defun ac-cc-mode-clang-config ()
(message " * calling ac-cc-mode-clang-config")
(add-hook 'c-mode-common-hook 'ac-cc-mode-clang-setup)
(add-hook 'auto-complete-mode-hook 'ac-common-setup))
(ac-cc-mode-clang-config)
--- a/src/completion.h 2013-05-26 17:27:46.000000000 +0200
+++ b/src/completion.h 2014-02-11 21:40:18.000000000 +0100
@@ -3,6 +3,7 @@
#include <clang-c/Index.h>
+#include <stdio.h>
typedef struct __completion_Session_struct
This is the config I have and it works fine for a lot of libraries, but the library
as installed on ubuntu 13.04 doesn't work at all. Should one declare the defines
used in thread library like
somewhere in a cflags file ?
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete-20130503.2013/dict")
(setq ac-auto-start 1)
(setq ac-auto-show-menu t)
(ac-config-default)
(require 'auto-complete-clang-async)
(defun ac-cc-mode-setup ()
(setq ac-clang-complete-executable "~/Downloads/emacs-clang-complete-async-master/clang-complete")
(setq ac-clang-cflags
(mapcar (lambda (item)(concat "-I" item))
(split-string
"
/usr/include/c++/4.7
/usr/include/c++/4.7/x86_64-linux-gnu
/usr/include/c++/4.7/backward
/usr/lib/gcc/x86_64-linux-gnu/4.7/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
"
)))
(setq ac-sources '(ac-source-clang-async))
(ac-clang-launch-completion-process)
)
(defun my-ac-config ()
(add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
(add-hook 'auto-complete-mode-hook 'ac-common-setup)
(global-auto-complete-mode t))
(my-ac-config)
Here's an example; I set HOME to an empty directory, started emacs, installed auto-complete from marmalade or melpa, loaded auto-complete-config explicitly (that step is missing from your README), then loaded your .el file and eval'ed the code from README.org.
Then I started editing at https://github.com/llvm-mirror/llvm/blob/master/lib/CodeGen/Analysis.cpp#L37
Note the completions listed are actually global symbols, most (all?) of which aren't valid at that position.
This plugin will run a process named clang-complete
for every single buffer in mode of c++-mode
.
So the number of the process clang-complete
depends on how many buffer I create.
why can't just use a common process?
ld failed when doing make in gentoo amd64
└┌(%:~/.emacs.d/emacs-clang-complete-async)┌- make
"clang" -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/completion_serv.o ./src/completion_serv.c
"clang" -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/parse_results.o ./src/parse_results.c
"clang" -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/msg_dispatcher.o ./src/msg_dispatcher.c
"clang" -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/main.o ./src/main.c
"clang" -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/msg_handlers.o ./src/msg_handlers.c
"clang" -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -Wall -Wextra -pedantic -O3 -I./src src/obj/completion_serv.o src/obj/parse_results.o src/obj/msg_dispatcher.o src/obj/main.o src/obj/msg_handlers.o -L/usr/lib64/llvm -lpthread -lffi -ldl -lm -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMAsmParser -lLLVMTableGen -lLLVMDebugInfo -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Disassembler -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMInterpreter -lLLVMCodeGen -lLLVMipo -lLLVMVectorize -lLLVMScalarOpts -lLLVMInstCombine -lLLVMLinker -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMArchive -lLLVMBitReader -lLLVMBitWriter -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -lstdc++ -lclang -o clang-complete
/usr/bin/x86_64-pc-linux-gnu-ld: warning: libLLVM-3.2svn.so, needed by /usr/lib64/llvm/libclang.so, not found (try using -rpath or -rpath-link)
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::make_absolute(llvm::SmallVectorImpl<char>&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::EnableStatistics()'
/usr/lib64/llvm/libclang.so: undefined reference to vtable for llvm::format_object_base' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::operator<<(llvm::format_object_base const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::SmallPtrSetImpl::FindBucketFor(void const*) const' /usr/lib64/llvm/libclang.so: undefined reference to
vtable for llvm::PrettyStackTraceString'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::raw_ostream::operator<<(unsigned long)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::fs::is_directory(llvm::sys::fs::file_status)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::FoldingSetNodeID::AddPointer(void const*)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::SmallPtrSetImpl::shrink_and_clear()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::APInt(unsigned int, unsigned int, unsigned long const*)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::root_path(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::rename(llvm::Twine const&, llvm::Twine const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::Profile(llvm::FoldingSetNodeID&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::MutexImpl::acquire()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::EqualSlowCase(unsigned long) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringRef::getAsInteger(unsigned int, llvm::APInt&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::DOT::EscapeString(std::string const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringRef::find_first_not_of(llvm::StringRef, unsigned long) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::add(llvm::APFloat const&, llvm::APFloat::roundingMode)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::yaml::Stream::begin()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::rotr(unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::toString(unsigned int, bool) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::urem(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::yaml::Stream::end()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MemoryBuffer::getOpenFile(int, char const_, llvm::OwningPtrllvm::MemoryBuffer&, unsigned long, unsigned long, long, bool)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::path::remove_filename(llvm::SmallVectorImpl<char>&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::Bogus'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Triple::isArch32Bit() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::report_fatal_error(std::string const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::remove(llvm::Twine const&, bool&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator|=(llvm::APInt const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Twine::toVector(llvm::SmallVectorImpl<char>&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::TimeRecord::getCurrentTime(bool)'
/usr/lib64/llvm/libclang.so: undefined reference to typeinfo for llvm::PrettyStackTraceEntry' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::StringRef::find(llvm::StringRef, unsigned long) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::report_fatal_error(char const_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::sdiv_ov(llvm::APInt const&, bool&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetNodeID::AddInteger(int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator*(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::path::system_temp_directory(bool, llvm::SmallVectorImpl<char>&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::ashr(unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::rotl(unsigned int) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::AtomicIncrement(unsigned int volatile*)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetNodeID::AddInteger(unsigned long)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Triple::getVendorName() const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::raw_fd_ostream::raw_fd_ostream(int, bool, bool)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::LockFileManager::LockFileManager(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::slt(llvm::APInt const&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::trunc(unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::SmallPtrSetImpl::~SmallPtrSetImpl()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Process::StandardErrColumns()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::StringRef::upper() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::toString(llvm::SmallVectorImpl&, unsigned int, unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::Regex::isValid(std::string&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Twine::toStringRef(llvm::SmallVectorImpl&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::operator+=(llvm::APInt const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_fd_ostream::~raw_fd_ostream()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::getAsSignedInteger(llvm::StringRef, unsigned int, long long&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::EqualSlowCase(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Program::ChangeStdoutToBinary()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::divide(llvm::APFloat const&, llvm::APFloat::roundingMode)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APFloat::convertFromString(llvm::StringRef, llvm::APFloat::roundingMode)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::system_category()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::convertToDouble() const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::path::native(llvm::Twine const&, llvm::SmallVectorImpl<char>&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MCSectionMachO::ParseSectionSpecifier(llvm::StringRef, llvm::StringRef&, llvm::StringRef&, unsigned int&, bool&, unsigned int&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::Twine::str() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::extension(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::SmallPtrSetImpl::erase_imp(void const_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Triple::getOSVersion(unsigned int&, unsigned int&, unsigned int&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetImpl::GetOrInsertNode(llvm::FoldingSetImpl::Node_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::write(char const*, unsigned long)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::Triple::getOSName() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::AtomicDecrement(unsigned int volatile*)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::MemoryBuffer::getNewMemBuffer(unsigned long, llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::MutexImpl::release()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APFloat::PPCDoubleDouble' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::yaml::ScalarNode::getValue(llvm::SmallVectorImpl&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::StringMapImpl::LookupBucketFor(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::ssub_ov(llvm::APInt const&, bool&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::shlSlowCase(unsigned int) const' /usr/lib64/llvm/libclang.so: undefined reference to
typeinfo for llvm::CrashRecoveryContextCleanup'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::Triple::getOSTypeName(llvm::Triple::OSType)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::IEEEsingle'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::StringRef::compare_lower(llvm::StringRef) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Triple::get64BitArchVariant() const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::path::has_parent_path(llvm::Twine const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::CrashRecoveryContext::Enable()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::raw_ostream::operator<<(long)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator-(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::operator=(unsigned long)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::getDefaultTargetTriple()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::path::parent_path(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::filename(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::operator-=(llvm::APInt const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::outs()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::CrashRecoveryContext::RunSafelyOnThread(void (_)(void_), void_, unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::PrettyStackTraceEntry::PrettyStackTraceEntry()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::smul_ov(llvm::APInt const&, bool&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Timer::stopTimer()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::raw_ostream::operator<<(double)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Triple::setArch(llvm::Triple::ArchType)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APFloat::IEEEquad' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MCContext::MCContext(llvm::MCAsmInfo const&, llvm::MCRegisterInfo const&, llvm::MCObjectFileInfo const_, llvm::SourceMgr const_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::yaml::Stream::~Stream()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::FoldingSetNodeID::ComputeHash() const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::TimeValue::normalize()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator+(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::CrashRecoveryContext::HandleCrash()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::operator=(llvm::APFloat const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::OrSlowCase(llvm::APInt const&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator_=(llvm::APInt const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::unique_file(llvm::Twine const&, int&, llvm::SmallVectorImpl<char>&, bool, unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Triple::getiOSVersion(unsigned int&, unsigned int&, unsigned int&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::sext(unsigned int) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::locale::isPrint(int)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::Path::Path(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::FoldingSetImpl::clear()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::APFloat(llvm::APInt const&, bool)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::subtract(llvm::APFloat const&, llvm::APFloat::roundingMode)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::Path::makeUnique(bool, std::string*)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::PathSeparator'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::FoldingSetNodeID::AddInteger(unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MemoryBuffer::getMemBufferCopy(llvm::StringRef, llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::is_directory(llvm::Twine const&, bool&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::APFloat::fltCategory, bool)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::SmallPtrSetImpl::CopyFrom(llvm::SmallPtrSetImpl const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::x87DoubleExtended'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Triple::get32BitArchVariant() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator--()'
/usr/lib64/llvm/libclang.so: undefined reference to typeinfo for llvm::format_object_base' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::const_iterator::operator!=(llvm::sys::path::const_iterator const&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Triple::setArchName(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MemoryBuffer::getSTDIN(llvm::OwningPtrllvm::MemoryBuffer&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::clearBit(unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::BumpPtrAllocator::getTotalMemory() const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::countLeadingZerosSlowCase() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::makeNaN(llvm::fltSemantics const&, bool, bool, llvm::APInt const_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Triple::setTriple(llvm::Twine const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::CrashRecoveryContextCleanup::~CrashRecoveryContextCleanup()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::detail::directory_iterator_increment(llvm::sys::fs::detail::DirIterState&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Path::GetMainExecutable(char const_, void_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::countLeadingOnes() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::TargetRegistry::lookupTarget(std::string const&, std::string&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::APFloat(double)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::BumpPtrAllocator::PrintStats() const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringRef::lower() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::countPopulationSlowCase() const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::path::is_separator(char)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::FoldingSetNodeID::AddNodeID(llvm::FoldingSetNodeID const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::getNonStreamedMemoryObject(unsigned char const_, unsigned char const_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::APFloat(llvm::APFloat const&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::hashing::detail::fixed_seed_override' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::fs::create_directory(llvm::Twine const&, bool&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Path::canWrite() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::zextOrTrunc(unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::MCAsmParserSemaCallback::~MCAsmParserSemaCallback()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Path::eraseComponent()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::fs::detail::directory_iterator_destruct(llvm::sys::fs::detail::DirIterState&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::StringRef::rfind(llvm::StringRef) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::Profile(llvm::FoldingSetNodeID&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::shl(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::DisablePrettyStackTrace' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::convertToInteger(llvm::APSInt&, llvm::APFloat::roundingMode, bool_) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::raw_string_ostream::~raw_string_ostream()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::FoldingSetImpl::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void_&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::path::stem(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MemoryBuffer::getNewUninitMemBuffer(unsigned long, llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::raw_fd_ostream::close()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::operator<<(void const_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::changeSign()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::SmallPtrSetImpl::swap(llvm::SmallPtrSetImpl&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringMapImpl::StringMapImpl(unsigned int, unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Timer::init(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::IEEEhalf' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Timer::~Timer()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::BumpPtrAllocator::~BumpPtrAllocator()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::BumpPtrAllocator::BumpPtrAllocator(unsigned long, unsigned long, llvm::SlabAllocator&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::Path::Path(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::flush_nonempty()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::BumpPtrAllocator::DefaultSlabAllocator' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::bitwiseIsEqual(llvm::APFloat const&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Triple::getArchName() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Regex::~Regex()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::detail::directory_iterator_construct(llvm::sys::fs::detail::DirIterState&, llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Path::eraseSuffix()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::FoldingSetIteratorImpl::advance()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::end(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Regex::match(llvm::StringRef, llvm::SmallVectorImpl<llvm::StringRef>*)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::BumpPtrAllocator::Reset()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::udiv(llvm::APInt const&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::LockFileManager::waitForUnlock()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::llvm_start_multithreaded()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::append(llvm::SmallVectorImpl&, llvm::sys::path::const_iterator, llvm::sys::path::const_iterator)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::byteSwap() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_fd_ostream::raw_fd_ostream(char const_, std::string&, unsigned int)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::Program::FindProgramByName(std::string const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::SourceMgr::~SourceMgr()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::llvm_execute_on_thread(void (_)(void_), void_, unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_fd_ostream::seek(unsigned long)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::path::const_iterator::operator++()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::locale::columnWidth(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::errs()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::bitcastToAPInt() const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Process::StandardErrHasColors()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::sextOrTrunc(unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeID const&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::IEEEdouble'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::Triple::Triple(llvm::Twine const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::FoldingSetImpl::FoldingSetImpl(unsigned int)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Path::appendSuffix(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Regex::Regex(llvm::StringRef, unsigned int)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::generic_category()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::initSlowCase(llvm::APInt const&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::raw_ostream::SetBufferAndMode(char_, unsigned long, llvm::raw_ostream::BufferKind)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::fs::equivalent(llvm::Twine const&, llvm::Twine const&, bool&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::fs::current_path(llvm::SmallVectorImpl<char>&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::yaml::KeyValueNode::getValue()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::LockFileManager::~LockFileManager()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MemoryBuffer::getFile(llvm::StringRef, llvm::OwningPtrllvm::MemoryBuffer&, long, bool)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::path::append(llvm::SmallVectorImpl<char>&, llvm::Twine const&, llvm::Twine const&, llvm::Twine const&, llvm::Twine const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_svector_ostream::~raw_svector_ostream()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::getAsUnsignedInteger(llvm::StringRef, unsigned int, unsigned long long&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::BumpPtrAllocator::BumpPtrAllocator(unsigned long, unsigned long, llvm::SlabAllocator&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::APInt(unsigned int, llvm::ArrayRef<unsigned long>)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::LockFileManager::getState() const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::CrashRecoveryContext::RunSafely(void (_)(void_), void_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::write_escaped(llvm::StringRef, bool)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::yaml::KeyValueNode::getKey()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::XorSlowCase(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::Triple::setOSName(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::BumpPtrAllocator::AlignPtr(char*, unsigned long)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::TimeRecord::print(llvm::TimeRecord const&, llvm::raw_ostream&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::print(llvm::raw_ostream&, bool) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::CrashRecoveryContext::registerCleanup(llvm::CrashRecoveryContextCleanup_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::createNullStreamer(llvm::MCContext&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APSInt::Profile(llvm::FoldingSetNodeID&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::zext(unsigned int) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::sadd_ov(llvm::APInt const&, bool&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Twine::print(llvm::raw_ostream&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::CrashRecoveryContext::~CrashRecoveryContext()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::initSlowCase(unsigned int, unsigned long, bool)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::BumpPtrAllocator::~BumpPtrAllocator()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::compare(llvm::APFloat const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetImpl::~FoldingSetImpl()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::~APFloat()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetNodeID::AddString(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::yaml::MappingNode::increment()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::FoldingSetIteratorImpl::FoldingSetIteratorImpl(void__)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Path::eraseFromDisk(bool, std::string_) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::yaml::Stream::Stream(llvm::StringRef, llvm::SourceMgr&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::CrashRecoveryContext::unregisterCleanup(llvm::CrashRecoveryContextCleanup_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::getSmallest(llvm::fltSemantics const&, bool)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::write(unsigned char)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::MemoryBuffer::getFile(char const_, llvm::OwningPtrllvm::MemoryBuffer&, long, bool)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::install_fatal_error_handler(void ()(void, std::string const&), void*)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Path::appendComponent(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::SmallPtrSetImpl::SmallPtrSetImpl(void const**, llvm::SmallPtrSetImpl const&)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::MCAsmParser::setTargetParser(llvm::MCTargetAsmParser&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::ult(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Path::createDirectoryOnDisk(bool, std::string_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::CrashRecoveryContext::Disable()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::format_object_base::home()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::SmallVectorBase::grow_pod(void_, unsigned long, unsigned long)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringMapImpl::RehashTable()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::APFloat(llvm::fltSemantics const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::BumpPtrAllocator::Allocate(unsigned long, unsigned long)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::fs::exists(llvm::Twine const&, bool&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Timer::startTimer()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::CrashRecoveryContext::GetCurrent()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::report_fatal_error(llvm::Twine const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Twine::toNullTerminatedStringRef(llvm::SmallVectorImpl&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::lshr(unsigned int) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::replace_extension(llvm::SmallVectorImpl&, llvm::Twine const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::createMCAsmParser(llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::is_absolute(llvm::Twine const&)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::fs::copy_file(llvm::Twine const&, llvm::Twine const&, llvm::sys::fs::copy_option)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::StringRef::split(llvm::SmallVectorImplllvm::StringRef&, llvm::StringRef, int, bool) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APInt::AssignSlowCase(llvm::APInt const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string_)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::begin(llvm::StringRef)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::MutexImpl::MutexImpl(bool)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::raw_ostream::write_hex(unsigned long long)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::MCContext::~MCContext()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::getLargest(llvm::fltSemantics const&, bool)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::raw_svector_ostream::str()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::StringRef::edit_distance(llvm::StringRef, bool, unsigned int)'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::Path::canExecute() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::operator++()'
/usr/lib64/llvm/libclang.so: undefined reference totypeinfo for llvm::FoldingSetImpl' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::getHostCPUName()'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::error_code::message() const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Path::isRegularFile() const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::sys::PathWithStatus::getFileStatus(bool, std::string_) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::AndSlowCase(llvm::APInt const&) const'
/usr/lib64/llvm/libclang.so: undefined reference tollvm::APInt::sshl_ov(unsigned int, bool&) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::convert(llvm::fltSemantics const&, llvm::APFloat::roundingMode, bool_)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::SourceMgr::FindBufferContainingLoc(llvm::SMLoc) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::PrettyStackTraceEntry::~PrettyStackTraceEntry()'
/usr/lib64/llvm/libclang.so: undefined reference to typeinfo for llvm::MCAsmParserSemaCallback' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::Program::ExecuteAndWait(llvm::sys::Path const&, char const**, char const**, llvm::sys::Path const*, unsigned int, unsigned int, std::string)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::sys::PrintStackTraceOnErrorSignal()' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APInt::toString(llvm::SmallVectorImpl&, unsigned int, bool, bool) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::multiply(llvm::APFloat const&, llvm::APFloat::roundingMode)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::MemoryBuffer::getMemBuffer(llvm::StringRef, llvm::StringRef, bool)'
/usr/lib64/llvm/libclang.so: undefined reference to vtable for llvm::raw_string_ostream' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::MutexImpl::~MutexImpl()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::APFloat::copySign(llvm::APFloat const&)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::convertFromAPInt(llvm::APInt const&, bool, llvm::APFloat::roundingMode)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringMapImpl::FindKey(llvm::StringRef) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::yaml::Document::parseBlockNode()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::StringRef::find_first_of(llvm::StringRef, unsigned long) const' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::yaml::SequenceNode::increment()'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::Triple::normalize(llvm::StringRef)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::APFloat::APFloat(llvm::fltSemantics const&, unsigned long)'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::SmallPtrSetImpl::insert_imp(void const*)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::fs::directory_entry::status(llvm::sys::fs::file_status&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::FoldingSetImpl::InsertNode(llvm::FoldingSetImpl::Node*, void*)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::Triple::getMacOSXVersion(unsigned int&, unsigned int&, unsigned int&) const'
/usr/lib64/llvm/libclang.so: undefined reference to llvm::raw_ostream::indent(unsigned int)' /usr/lib64/llvm/libclang.so: undefined reference to
llvm::sys::path::is_relative(llvm::Twine const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [clang-complete] 错误 1
I've noticed the message:
/usr/bin/x86_64-pc-linux-gnu-ld: warning: libLLVM-3.2svn.so, needed by /usr/lib64/llvm/libclang.so, not found (try using -rpath or -rpath-link)
After adding this to LDFLAGS,problem fixed.
LDLIBS :=
Hi, I have no completion of local variables & objects methods.
I use emacs 24.2. Compile with clang 3.1.
I have completion of namespaces & class names.
when I type
std::
completion show vector;
std::vector abc;
but when type ab no completion "abc" is appear & after
type: abc.
no methods.
Thanks.
Hi - I am unable to get autocompletion suggestions for anything when I am editing C files in C-mode. I'm using the emacs-w32 package from Cygwin on Windows 7.
(emacs-version)
"GNU Emacs 24.3.1 (i686-pc-cygwin)
of 2013-03-11 on fiona"
I was able to build it successfully
alex ~/.emacs.d/emacs-clang-complete-async>make
cc -std=c99 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/msg_handlers.o ./src/msg_handlers.c
cc -std=c99 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/main.o ./src/main.c
cc -std=c99 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/msg_dispatcher.o ./src/msg_dispatcher.c
cc -std=c99 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/parse_results.o ./src/parse_results.c
cc -std=c99 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/completion_serv.o ./src/completion_serv.c
cc -std=c99 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -g -Wall -Wextra -pedantic -O3 -I./src src/obj/msg_handlers.o src/obj/main.o src/obj/msg_dispatcher.o src/obj/parse_results.o src/obj/completion_serv.o -L/usr/lib -lpthread -lffi -lm -lclang -o clang-complete
alex ~/.emacs.d/emacs-clang-complete-async>
The llvm-config version I used is:
alex ~/.emacs.d/emacs-clang-complete-async>llvm-config --version
3.1
I have this in my .emacs.d/init.el
;; Emacs Clang Complete Async
(require 'auto-complete-clang-async)
(defun ac-cc-mode-setup ()
(setq ac-clang-complete-executable "~/.emacs.d/clang-complete")
(setq ac-sources '(ac-source-clang-async))
(ac-clang-launch-completion-process)
)
(defun my-ac-config ()
(add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
(global-auto-complete-mode t))
(my-ac-config)
(setq ac-clang-flags
(mapcar (lambda (item)(concat "-I" item))
(split-string
"
/cygdrive/c/gcc-arm-embedded/lib/gcc/arm-none-eabi/4.7.4/include
/cygdrive/c/gcc-arm-embedded/lib/gcc/arm-none-eabi/4.7.4/include-fixed
/cygdrive/c/gcc-arm-embedded/arm-non-eabi/include
"
)))
When I evaluate
ac-sources
with C-x-e in a C-mode buffer, it lists ac-source-clang-async in the minibuffer.
The clang project has created something called JSON Compilation Database as defined by:
http://clang.llvm.org/docs/JSONCompilationDatabase.html
This makes for a standardized way of storing per file compiler flags, which would be very nice if clang-complete supported.
In your setup guide, clang complete async is activated when c-mode-common-hook executes. This causes clang complete async to be incorrectly activated in other modes that are submodes of cc-mode, like java-mode. I was trying to place the ac-cc-mode-setup in c++-mode-hook. It works without problem when I directly opened a C++ source file, but fails to work when I created a new C++ source file in Emacs.
Hi there,
I'm collecting the various sources for AC under the newly minted auto-complete organization. We would like to make this source the "official" clang source and make the canonical repo at the auto-complete organization. You would obviously have full access to the repo.
If you don't like that idea, we can also just mirror the repo.
The auto-completion is not working.
clang-complete compile without problem, but the error is generated using auto-completion in Emacs
My system:
Ubuntu: 13.1
clang 3.4
llvm 3.4
emacs 24.3.1
This is the error captured in the clang buffer:
error while loading shared libraries: libclang.so: cannot open shared object file: No such file or directory..
Thanks
It appears that ac-clang-cflags aren't getting written into the temporary Makefile generated for/by flymake(?) I get fatal errors from ac-clang-syntax-check trying to #include any of the files in my project. Standard headers like , , etc., work fine.
Backtrace
Debugger entered--Lisp error: (error "SIGPIPE raised on process clang-complete; closed it")
process-send-string(# "my code")
(save-restriction (widen) (process-send-string proc (format "source_length:%d\n" ...)) (process-send-string proc (buffer-substring-no-properties ... ...)) (process-send-string proc "\n\n"))
ac-clang-send-source-code(#)
(save-restriction (widen) (process-send-string proc "SOURCEFILE\n") (ac-clang-send-source-code proc) (process-send-string proc "REPARSE\n\n"))
(if (eq (process-status "clang-complete") (quote run)) (save-restriction (widen) (process-send-string proc "SOURCEFILE\n") (ac-clang-send-source-code proc) (process-send-string proc "REPARSE\n\n")))
ac-clang-send-reparse-request(#)
ac-clang-launch-completion-process-with-file("my code path")
(if filename (ac-clang-launch-completion-process-with-file filename))
(let ((filename ...)) (if filename (ac-clang-launch-completion-process-with-file filename)))
ac-clang-launch-completion-process()
ac-cc-mode-setup()
run-hooks(c-mode-common-hook c++-mode-hook)
apply(run-hooks (c-mode-common-hook c++-mode-hook))
run-mode-hooks(c-mode-common-hook c++-mode-hook)
c++-mode()
set-auto-mode-0(c++-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(# "my code path" (144 2052))
find-file-noselect("my code path" nil nil t)
find-file("my code path" t)
call-interactively(find-file nil nil)
Consider the following code:
class MyClass
{
MyClass();
};
int main (void)
{
M|
}
Where the |
represents the cursor position. I would like to complete the type name MyClass
. However, when I press TAB (or RET) here, it completes to MyClass()
The completion I want is being passed back from the async process, because the clang-complete buffer includes:
COMPLETION: MyClass
COMPLETION: MyClass : MyClass()
So something in the elisp is causing the completion of the type to be ignored, but only when there is a constructor. If I don't declare the constructor in my example above, I can complete MyClass
.
Yeah, I realize this might be considered out-of-scope for your project, but when it works it works so well! So it would be awesome if there were some explanation in the README of how to use this effectively with CEDET.
When one of the header files is changed, the makefile should rebuild the appropriate object files and the binary. But it does not. For example:
┌(toojays@kano)─(540)─(0)─(2013 06 05 20:15:40)
└─(~/src/emacs-clang-complete-async)─> touch src/msg_callback.h
┌(toojays@kano)─(541)─(0)─(2013 06 05 20:15:50)
└─(~/src/emacs-clang-complete-async)─> make LLVM_CONFIG=llvm-config-3.4
make: `clang-complete' is up to date.
It should have recognized that msg_callback.h had changed, and rebuilt the objects which depend on it.
I've installed llvm using brew, but encountered another error while compiling
In file included from ./src/completion_serv.c:3:
./src/completion.h:5:10: fatal error: 'clang-c/Index.h' file not found
#include <clang-c/Index.h>
^
1 error generated.
make: *** [src/obj/completion_serv.o] Error 1
How can I install or find the required header and library? brew doesn't seem to have a formula for clang
I comile this on mingw, everything goes well, but when begin to link, there're a lot of errors as below:
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1bb): undefined reference to llvm::sys::MutexImpl::~MutexImpl()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x212): undefined reference toclang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x25c): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x4ae): undefined reference toclang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
Will you fix this problem in the future?
PS: I use clang and llvm version 2.9.
I'm not exactly sure if it's problem of this program or gentoo distribution in general.
Trying to compile gives me /usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: libLLVM-3.1.so, needed by /usr/lib/llvm/libclang.so, not found (try using -rpath or -rpath-link)
and a bunch of undefined references like so /usr/lib/llvm/libclang.so: undefined reference to
llvm::APFloat::APFloat(llvm::fltSemantics const&, unsigned long long)'`
After doing ln -s /usr/lib/llvm/libLLVM-3.1.so /usr/lib/libLLVM-3.1.so
all compiled fine.
Linux 3.2.21-gentoo i686,
llvm-3.1-r2 USE="libffi -debug -gold -multitarget -ocaml -test -udis86 -vim-syntax"
clang-3.1-r5 USE="static-analyzer -debug -multitarget -test"
compiling worked on os x lion after editing makefile.mk as follows:
remove these lines:
LOADLIBES += \
-Xlinker --start-group \
$(addprefix -Xlinker , $(EXTERNAL_LIBS)) \
-Xlinker --end-group
and replace with this:
LOADLIBS += $(addprefix -Xlinker , $(EXTERNAL_LIBS))
Hey,
If I use ac-clang-async
to complete member functions which have different signatures, the
function name gets inserted twice. I think its best to show you the problem using images:
First Step: Completion menu shows all member function and also that the function has three signatures.
Second Step: I have hit ret
and the function's base name is inserted, now I'm selecting the function signature. At this step the function's name is already inserted twice.
Third Step: I accept the completion candidate (hitting ret
) and the malformatted function was inserted.
I wrote about this emacs mode here and there writing that's "Golevka/clang-complete", but wait Golevka is nickname of package's developer :P .
Frome http://www.emacswiki.org/emacs/CategoryCompletion , there's a couple of completition modes like , this ; can you name your tool and just add it to the wiki, Golevka : ?
Some completions are available in modes that provide command interaction.
EshellCompletion – Input filename completion.
GCCSense – Development tool for C/C++ using GCC’s code analyzers.
SubprocessCompletion – Handling completion by a subprocess such as a shell or a debugger, rather than by Emacs.
Anything – Lisp:anything-complete.el replaces Emacs Completion.
CSense – Completion extension.
irony-mode – Completion based on clang
CLang – Completion extension based on CLang.
function-args – C++ completion extension for CEDET.
<<
best regards paul424.
When clang-complete process dies for some reason, any attempt to save buffer (via save-buffer or via write-file) leads to an error:
save-restriction: Process clang-complete not running
This happens both with master and test branches.
In the Makefile there is a shell call to llvm-config
but the command for the version of llvm that my package manager gives me is llvm-config-3.0
. Editing the Makefile to use the newer command worked.
I guess making it work across multiple versions is more difficult...
See also: https://bugs.launchpad.net/ubuntu/+source/llvm/+bug/768143
edit: I guess this may not be the correct "fix" because it only worked inconsistently. It's possible that I just got the wrong llvm package.
I think this is an anti-pattern because people can't use eval-after-load
etc.
Sorry for this stupid question. But, em..
I work in 10.8, XCode 4.5.1. and GNU Emacs 24.1 . When I make this project, the Makefile need llvm-config. But it not in /usr, /usr/local, /opt/local(I use macport) and /Application/Xcode/Contents/Developer/usr.
There is a way build emacs-clang-complete-async without llvm-config ?
When I try this :
namespace User
{
class MyClass
{
MyClass(int a);
};
};
using namespace User;
int main(int argc, char *argv[])
{
MyClass *myclass1 = new MyCla|;
return 0;
}
Where |
is the cursor. When I complete, it works fine, it expands with all the arguments etc :
MyClass *myclass1 = new MyClass(int a)
But when I try like this :
User::MyClass *myclass2 = new User::MyCla|
It doesn't expand properly, it's only giving me the name of the constructor without the arguments :
User::MyClass *myclass2 = new User::MyClass|
Setup everything as given in the help me file.
My auto-complete.el that I use to load is attached.
When I try to auto-complete I sometimes get unrelated completions
as shown in snapshot1.png
But when I delete vec and start again, I get the right results as shown
in snapshot2.png.
(add-to-list 'load-path "/workset/emacs/pkgs/ac")/.emacs.d/")
(add-to-list 'load-path "
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
(add-to-list 'load-path "/.emacs.d/")/.emacs.d/ac-dict")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "
(ac-config-default)
(require 'auto-complete-clang)
(setq clang-completion-suppress-error 't)
;; echo "" | g++ -v -x c++ -E -
(setq ac-clang-flags
(mapcar (lambda (item)(concat "-I" item))
(split-string
"
/usr/include/c++/4.7
/usr/include/c++/4.7/x86_64-linux-gnu
/usr/include/c++/4.7/backward
/usr/lib/gcc/x86_64-linux-gnu/4.7/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
"
)))
(defun my-ac-clang-mode-common-hook()
(define-key c-mode-base-map (kbd "M-/") 'ac-complete-clang)
)
(add-hook 'c-mode-common-hook 'my-ac-clang-mode-common-hook)
(require 'auto-complete-clang-async)
(defun ac-cc-mode-setup ()
(setq ac-clang-complete-executable "~/workset/emacs/pkgs/ac/clang-complete")
(setq ac-sources '(ac-source-clang-async))
(ac-clang-launch-completion-process)
)
(defun my-ac-config ()
(add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
(add-hook 'auto-complete-mode-hook 'ac-common-setup)
(global-auto-complete-mode t))
auto-complete-clang-async recommends (setq ac-sources '(ac-source-clang-async))
, but there are other useful sources (e.g., yasnippet) I want to use. I tried it with other sources, but AC does not show candidates from clang, for example when I insert foo.
. Although it looks like that merging candidates from different sources is not possible due to limitation in AC (tkf/emacs-jedi#57), having multiple ac-sources
is possible. Take a look at my emacs-jedi. It includes AC source for Python and I can use it with other AC sources.
On windows, I found sometimes the completion couldn't be shown
Clang completion buffer keeps flushing
After enabled some "message" traces, I found Message buffer keeps showing
"ac-clang-candidate triggered - fetching candidates..."
(defun ac-clang-candidate ()
(case ac-clang-status
(idle
(message "ac-clang-candidate triggered - fetching candidates...")
More debugging shows that somehow after the status set to idle in ac-clang-filter-output at:
(otherwise
(setq ac-clang-current-candidate (ac-clang-parse-completion-results proc))
(message "ac-clang results arrived")
(setq ac-clang-status 'acknowledged)
(ac-start :force-init t)
(ac-update)
(setq ac-clang-status 'idle) <<<
Then the ac-clang-candidate is somehow called again and triggered ac-clang-filter-output again...
This makes a infinite loop and stops the completion working.
I'm able to work around by remove that setq line, not sure how the nature of the problem should be though.
Environment: win7+emacs24.3(official binary)+auto-completion1.3.1
Hi everybody,
I'm posting here because I had much trouble compiling this project on my brand new Opensuse 13.10 64 bit, so I wanted to share the solutions i found to help those who might be experiencing the same problems.
Since my Opensuse was freshly installed, I think that I'm going to list about all the various stuff needed on your computer to be able to use the command "make" on that project.
First, after having cloned the repo, you find out that gcc doesn't recognize the "-Wcovered-switch-default" flag. It's normal, you need to compile with clang, using the command :
make CC=clang
You will need various clang-llvm packages, libs, development packages (I don't remember exactly which ones, but i trust you to figure it out).
The last one you will need is the zlib-development package (if you have the error 'cannot find -lz' at linkage).
In my case, i was able to compile the project only after having installed all those packages. I used YaST2 with the default repos to find all of them.
I hope this post will be of some help for some people. Please correct me if anything I stated here is wrong or inaccurate.
Have a good day and a good compilation =)
Banzaï.
EDIT: I got less lazy, and here are the exact packages I downloaded to make it work:
libclang 3.3-6.4.1
llvm-clang 3.3-6.4.1
llvm-clang-devel 3.3-6.4.1
llvm 3.3-6.4.1
libLLVM 3.3-6.4.1
llvm-devel 3.3-6.4.1
zlib-devel
After build success. I copy the el and the binary in my setting path, and write the setting file and load it.
While I edit a c source file , run the auto-complete function. Not output and no error show. But when I try to kill the buffer, emacs show message: "clang-complete is no running."
PS. It can be used in objc-mode?
Hi,
I added a MELPA recipe so that easily-installable packages of auto-complete-clang-async.el
are available.
Next, I'm adding a Homebrew formula so that clang-complete
are available effortlessly on Mac OS X. But it is pending, so Homebrew formula needs versioned download (See #19499).
For the above reason, please add a version tag?
Cheers!
--Yasuyuki
I noticed that clang_complete server will be launched for every source buffer in emacs.
When emacs opend too many source files, there are too many clang_complete server runs.
Here is a patch to enable it run only one instance and switch the buffer and files when you enter a new source buffer.
diff -Nur emacs-clang-complete-async-master/auto-complete-clang-async.el emacs-clang-complete-async-mastern/auto-complete-clang-async.el
--- emacs-clang-complete-async-master/auto-complete-clang-async.el 2012-12-04 22:51:26.237823425 +0800
+++ emacs-clang-complete-async-mastern/auto-complete-clang-async.el 2012-12-04 22:52:26.942833706 +0800
@@ -1,4 +1,4 @@
-;;; auto-complete-clang-async.el --- Auto Completion source for clang for GNU Emacs
+;;; auto-complete-clang-async-once.el --- Auto Completion source for clang for GNU Emacs
;; Copyright (C) 2010 Brian Jiang
;; Copyright (C) 2012 Taylan Ulrich Bayirli/Kammer
@@ -6,6 +6,7 @@
;; Authors: Brian Jiang [email protected]
;; Golevka(?) [https://github.com/Golevka]
;; Taylan Ulrich Bayirli/Kammer [email protected]
+;; Cjacker [email protected]
;; Many others
;; Keywords: completion, convenience
;; Version: 0
@@ -29,7 +30,7 @@
;; Auto Completion source for clang.
;; Uses a "completion server" process to utilize libclang.
+;; Cjacker: Made clang-complete server only run once for one emacs instance, and change the source file internally
;;; Code:
@@ -396,9 +397,11 @@
(defvar ac-clang-completion-process nil)
(defvar ac-clang-saved-prefix "")
-(make-variable-buffer-local 'ac-clang-status)
-(make-variable-buffer-local 'ac-clang-current-candidate)
-(make-variable-buffer-local 'ac-clang-completion-process)
+(defvar current-clang-file "")
+
+;;(make-variable-buffer-local 'ac-clang-status)
+;;(make-variable-buffer-local 'ac-clang-current-candidate)
+;;(make-variable-buffer-local 'ac-clang-completion-process)
;;;
;;; Functions to speak with the clang-complete process
@@ -423,6 +426,8 @@
(process-send-string proc "REPARSE\n\n")))
(defun ac-clang-send-completion-request (proc)
(ac-clang-filechanged))
+(defun ac-clang-send-filechanged (proc)
(process-send-string proc (format "%s " arg)))
+(defun ac-clang-filechanged ()
(defun ac-clang-send-shutdown-command (proc)
(if (eq (process-status "clang-complete") 'run)
(process-send-string proc "SHUTDOWN\n"))
@@ -494,8 +520,8 @@
(case ac-clang-status
(idle
;; (message "ac-clang-candidate triggered - fetching candidates...")
(setq ac-clang-saved-prefix ac-prefix)
(setq ac-clang-saved-prefix ac-prefix)
;; NOTE: although auto-complete would filter the result for us, but when there's
;; a HUGE number of candidates avaliable it would cause auto-complete to
;; block. So we filter it uncompletely here, then let auto-complete filter
@@ -541,20 +567,29 @@
(setq ac-clang-status 'preempted)))
(defun ac-clang-launch-completion-process ()
(interactive)
(if ac-clang-completion-process
(ac-clang-filechanged)
(ac-clang-launch-completion-process-internal)))
+(defun ac-clang-launch-completion-process-internal ()
(interactive)
(setq ac-clang-completion-process
(let ((process-connection-type nil))
(apply 'start-process
"clang-complete" "clang-complete"
ac-clang-complete-executable
(append (ac-clang-build-complete-args)
(list (buffer-file-name))))))
(list (buffer-file-name)))
+)))
(set-process-filter ac-clang-completion-process 'ac-clang-filter-output)
(set-process-query-on-exit-flag ac-clang-completion-process nil)
;; Pre-parse source code.
(ac-clang-send-reparse-request ac-clang-completion-process)
(add-hook 'kill-buffer-hook 'ac-clang-shutdown-process nil t)
+;; (add-hook 'kill-buffer-hook 'ac-clang-shutdown-process nil t)
(add-hook 'kill-emacs-hook 'ac-clang-shutdown-process nil t)
(add-hook 'before-save-hook 'ac-clang-reparse-buffer)
(local-set-key (kbd ".") 'ac-clang-async-preemptive)
diff -Nur emacs-clang-complete-async-master/src/msg_callback.h emacs-clang-complete-async-mastern/src/msg_callback.h
--- emacs-clang-complete-async-master/src/msg_callback.h 2012-10-28 00:51:28.000000000 +0800
+++ emacs-clang-complete-async-mastern/src/msg_callback.h 2012-12-04 22:52:01.296830076 +0800
@@ -46,6 +46,7 @@
void completion_doCompletion(completion_Session session, FILE *fp); / COMPLETION /
void completion_doSourcefile(completion_Session *session, FILE *fp); / SOURCEFILE /
void completion_doCmdlineArgs(completion_Session *session, FILE *fp); / CMDLINEARGS /
+void completion_doFileChanged(completion_Session *session, FILE *fp); / FILECHANGED /
void completion_doReparse(completion_Session *session, FILE *fp); / REPARSE /
void completion_doSyntaxCheck(completion_Session *session, FILE *fp); / SYNTAXCHECK /
void completion_doShutdown(completion_Session *session, FILE *fp); / SHUTDOWN */
diff -Nur emacs-clang-complete-async-master/src/msg_dispatcher.c emacs-clang-complete-async-mastern/src/msg_dispatcher.c
--- emacs-clang-complete-async-master/src/msg_dispatcher.c 2012-10-28 00:51:28.000000000 +0800
+++ emacs-clang-complete-async-mastern/src/msg_dispatcher.c 2012-12-04 22:52:01.296830076 +0800
@@ -17,6 +17,7 @@
{"COMPLETION", completion_doCompletion},
{"SOURCEFILE", completion_doSourcefile},
{"CMDLINEARGS", completion_doCmdlineArgs},
+/* Update command line arguments and source files passing to clang translation unit. Format
filename: [#new filename#]
num_args: [#n_args#]
arg1 arg2 ... (there should be n_args items here)
/\* fetch an argument from message */
fscanf(fp, "%s", arg);
/\* and add it to cmdline_args */
session->cmdline_args[i_arg] = (char*)calloc(sizeof(char), strlen(arg) + 1);
strcpy(session->cmdline_args[i_arg], arg);
take place */
/_ Handle syntax checking request, message format:
source_length: [#src_length#]
<# SOURCE CODE #>
OS Windows 7, gnu make 3.81
Executing mingw32-make results in
process_begin: CreateProcess(NULL, llvm-config --ldflags, ...) failed. process_begin: CreateProcess(NULL, llvm-config --libs all, ...) failed. process_begin: CreateProcess(NULL, llvm-config --cflags, ...) failed. cc -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/completion_serv.o ./src/ completion_serv.c process_begin: CreateProcess(NULL, cc -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/completion_serv.o ./src/completion_serv.c, ...) failed. make (e=2): The system cannot find the file specified. mingw32-make: *** [src/obj/completion_serv.o] Error 2
clang_codeCompleteAt returns NULL on completion failure.
After call to completion_codeCompleteAt, res == NULL.
Further usage of the NULL pointer leads to crash on line: clang_sortCodeCompletionResults(res->Results, res->NumResults);
emacs-clang-complete-async really auto-complete faster than auto-complete-clang when using c++. However there seems no easy way to make auto-complete for it triggered by ac-trigger-key
, actually I am wondering whether there is a way to temporarily stop auto-complete. I have set ac-auto-start
as nil
, but no effect. Also there seems no c source code completion for me(c++ is triggered with .,:,->, although it omits other completion cases).
cc -pipe -std=c99 -I/usr/local/include -pipe -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -g -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wall -Wextra -pedantic -O3 -I./src -c -o src/obj/completion_serv.o ./src/completion_serv.c
cc: error: unrecognized command line option ‘-Wcovered-switch-default’
To test this:
*clang-complete*
bufferYou will get the following error:
Process clang-complete not running
So the kill-buffer-hook
to end the completion for a c/c++ buffer causes trouble.
I'm having trouble getting it to work, but I was noticing that the clang-complete process was never running. Trying to run it resulted in crashes. I'm using a recent git build of clang.
$ gdb --args ./clang-complete
Reading symbols from /home/marsenau/.emacs.d/clang-complete...done.
(gdb) r
Starting program: /home/marsenau/.emacs.d/clang-complete
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff519f700 (LWP 18021)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff519f700 (LWP 18021)]
0x00007ffff65eb7a6 in clang_parseTranslationUnit_Impl (UserData=0x7fffffffda90)
at /home/marsenau/src/llvm/tools/clang/tools/libclang/CIndex.cpp:2571
2571 if (strcmp(command_line_args[I], "-fno-spell-checking") == 0 ||
(gdb) bt
#0 0x00007ffff65eb7a6 in clang_parseTranslationUnit_Impl (UserData=0x7fffffffda90)
at /home/marsenau/src/llvm/tools/clang/tools/libclang/CIndex.cpp:2571
#1 0x00007ffff66ace25 in llvm::CrashRecoveryContext::RunSafely (this=0x7fffffffdad0,
Fn=0x7ffff65eb414 <clang_parseTranslationUnit_Impl(void*)>, UserData=0x7fffffffda90)
at /home/marsenau/src/llvm/lib/Support/CrashRecoveryContext.cpp:308
#2 0x00007ffff66acf2d in RunSafelyOnThread_Dispatch (UserData=0x7fffffffda00)
at /home/marsenau/src/llvm/lib/Support/CrashRecoveryContext.cpp:339
#3 0x00007ffff66cda23 in ExecuteOnThread_Dispatch (Arg=0x7fffffffd970)
at /home/marsenau/src/llvm/lib/Support/Threading.cpp:75
#4 0x00007ffff59b7e9a in start_thread (arg=0x7ffff519f700) at pthread_create.c:308
#5 0x00007ffff5ec34bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6 0x0000000000000000 in ?? ()
(gdb) p command_line_args
$1 = (const char * const *) 0x0
I built this against llvm’s trunk:
libclang: crash detected in code completion
/Users/dave/bin/clang-complete: line 2: 13871 Segmentation fault: 11 DYLD_LIBRARY_PATH=/usr/local/llvm-trunk/lib ~/src/emacs-clang-complete-async/clang-complete "$*"
Process clang-complete exited abnormally with code 139
I’ll try building against clang-3.2 now
First of all: my english is bad, sorry!
My environment: mingw32, gcc version 4.7.0, clang 3.1
I try to make, but i got some errors: LINE_MAX wasn't define, so i try to add "#define LINE_MAX 4096", this time i still got errors:
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1bb): undefined reference to llvm::sys::MutexImpl::~MutexImpl()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x212): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x25c): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x4ae): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x4cf): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5d8): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x60c): more undefined references to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' follow C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x61e): undefined reference to
clang::SourceManager::getMacroArgExpandedLocation(clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x68f): undefined reference to clang::ASTUnit::Save(llvm::StringRef)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x92b): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9e5): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xa84): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb21): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc76): undefined reference to
clang::Stmt::getLocStart() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xcfc): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd43): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdad): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdfc): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xeef): undefined reference to clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xf36): more undefined references to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' follow
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12a5): undefined reference to llvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12b8): undefined reference to
clang::DeclarationName::printName(llvm::raw_ostream&) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12c0): undefined reference to llvm::raw_svector_ostream::str()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12e4): undefined reference to
llvm::raw_svector_ostream::~raw_svector_ostream()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1325): undefined reference to clang::DeclarationName::getObjCSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1346): undefined reference to
clang::Selector::getAsString() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1377): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x145d): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15bc): undefined reference to clang::Stmt::getSourceRange() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15ee): undefined reference to
clang::Stmt::getSourceRange() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1738): undefined reference to clang::ASTUnit::mapLocationFromPreamble(clang::SourceLocation)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1746): undefined reference to
clang::ASTUnit::mapLocationFromPreamble(clang::SourceLocation)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1891): undefined reference to clang::SourceManager::getFileIDSize(clang::FileID) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1a44): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1a60): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1b0d): undefined reference to
operator new(unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1b9c): undefined reference toclang::Lexer::MeasureTokenLength(clang::SourceLocation, clang::SourceManager const&, clang::LangOptions const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1be3): undefined reference to
clang::SourceManager::isMacroArgExpansion(clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1bf7): undefined reference toclang::SourceManager::getExpansionRange(clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1c0c): undefined reference to
clang::SourceManager::getSpellingLocSlowCase(clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1e19): undefined reference toclang::TypeLoc::getBeginLoc() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1e43): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1e80): undefined reference toclang::TypeLoc::getBeginLoc() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1eab): undefined reference to
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1f96): undefined reference tollvm::DisablePrettyStackTrace' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1f9c): undefined reference to
llvm::CrashRecoveryContext::Enable()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1fa8): undefined reference tollvm::sys::MutexImpl::acquire()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1fbd): undefined reference to
llvm::sys::MutexImpl::release()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1fc9): undefined reference tooperator new(unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1fe0): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::_S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1fe7): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2041): undefined reference to
llvm::install_fatal_error_handler(void ()(void, std::basic_string<char, std::char_traits, std::allocator > const&), void*)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2046): undefined reference tollvm::llvm_start_multithreaded()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x207b): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2089): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2093): undefined reference to
operator delete(void*)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x20c5): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x20ed): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x218a): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x219a): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::assign(std::basic_string<char, std::char_traits, std::allocator > const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x21bd): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const_, std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x21f5): undefined reference to
clang::ASTUnit::LoadFromASTFile(std::basic_string<char, std::char_traits, std::allocator > const&, llvm::IntrusiveRefCntPtrclang::DiagnosticsEngine, clang::FileSystemOptions const&, bool, std::pair<std::basic_string<char, std::char_traits, std::allocator >, llvm::PointerUnion<char const, llvm::MemoryBuffer const> >, unsigned int, bool, bool)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2202): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2229): undefined reference to
clang::DiagnosticsEngine::~DiagnosticsEngine()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2231): undefined reference to operator delete(void*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x224a): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::_S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x228a): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x22b9): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::_M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2392): undefined reference to clang::ASTUnit::getOriginalSourceFileName()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x248f): undefined reference to
clang::FileManager::getFile(llvm::StringRef, bool, bool)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x24da): undefined reference to clang::HeaderSearch::isFileMultipleIncludeGuarded(clang::FileEntry const*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x26d0): undefined reference to
clang::LabelStmt::getName() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x277c): undefined reference to clang::DeclarationName::getAsString() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x27a7): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::_S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x27e3): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2810): undefined reference to
clang::DeclarationName::getAsString() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x283b): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x288c): undefined reference to
clang::DeclarationName::getAsString() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x28b7): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x28fa): undefined reference to
clang::LabelStmt::getName() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x29a3): undefined reference to clang::QualType::getAsString(clang::Type const*, clang::Qualifiers)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x29ce): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::_S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2a5c): undefined reference to clang::DeclarationName::getAsString() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2a87): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::_S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2aea): undefined reference to clang::DeclarationName::getAsString() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2b16): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::~basic_string()'
:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2b5d): undefined reference to clang::QualType::getAsString(clang::Type const*, clang::Qualifiers)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2b88): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2d78): undefined reference to clang::ASTContext::getTypeDeclTypeSlow(clang::TypeDecl const*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2dec): undefined reference to
clang::DeclarationName::getAsString() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2e17): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2e76): undefined reference to
clang::DeclarationName::getAsString() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x2ea1): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x31a3): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::basic_string<char, std::char_traits, std::allocator > const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x31bc): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x31d5): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::basic_string<char, std::char_traits, std::allocator > const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3329): undefined reference to llvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x333c): undefined reference to
clang::DeclarationName::printName(llvm::raw_ostream&) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3344): undefined reference to clang::FunctionDecl::getPrimaryTemplate() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x339a): undefined reference to
clang::FunctionDecl::getNumParams() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x33bc): undefined reference to clang::FunctionDecl::getNumParams() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x33d5): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3408): undefined reference to clang::QualType::getAsStringInternal(clang::Type const*, clang::Qualifiers, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, clang::PrintingPolicy const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3426): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3436): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x34b8): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x34c5): undefined reference to clang::FunctionDecl::isVariadic() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x34fb): undefined reference to
llvm::raw_svector_ostream::str()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3523): undefined reference to llvm::raw_svector_ostream::~raw_svector_ostream()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3555): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x356b): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3581): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x35c0): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x35fe): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3631): undefined reference to llvm::raw_ostream::write(char const_, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3684): undefined reference to
llvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3697): undefined reference toclang::DeclarationName::printName(llvm::raw_ostream&) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x380b): undefined reference to
llvm::raw_ostream::write(char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x383d): undefined reference tollvm::raw_svector_ostream::str()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3865): undefined reference to
llvm::raw_svector_ostream::~raw_svector_ostream()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3938): undefined reference tollvm::raw_ostream::write(char const_, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3959): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3966): undefined reference to clang::FunctionDecl::getNumParams() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x39b2): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x39f1): undefined reference to clang::QualType::getAsStringInternal(clang::Type const*, clang::Qualifiers, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, clang::PrintingPolicy const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3a0f): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3a1f): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3a56): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3aaa): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3ae8): undefined reference to
clang::QualType::getAsStringInternal(clang::Type const, clang::Qualifiers, std::basic_string<char, std::char_traits, std::allocator >&, clang::PrintingPolicy const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3b16): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3b55): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3b7e): undefined reference to llvm::raw_ostream::write(char const*, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3b9f): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3bc0): undefined reference to llvm::raw_ostream::write(char const_, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3c1c): undefined reference to
llvm::raw_ostream::write(char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3c69): undefined reference tollvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3c7c): undefined reference to
clang::DeclarationName::printName(llvm::raw_ostream&) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3caa): undefined reference toclang::TemplateSpecializationType::PrintTemplateArgumentList(clang::TemplateArgument const_, unsigned int, clang::PrintingPolicy const&, bool)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3ccb): undefined reference to
llvm::raw_ostream::write(char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3cdb): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3ced): undefined reference to
llvm::raw_svector_ostream::str()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3d15): undefined reference to llvm::raw_svector_ostream::~raw_svector_ostream()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3d83): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3e05): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3e47): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3eaf): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x3ef6): undefined reference to
llvm::llvm_unreachable_internal(char const, char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x501e): undefined reference to clang::Decl::getASTContext() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x52c8): undefined reference to
clang::Stmt::getLocStart() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5375): undefined reference to clang::Decl::getASTContext() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5488): undefined reference to
clang::Decl::getASTContext() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x54f5): undefined reference to clang::Decl::getASTContext() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5562): undefined reference to
clang::Decl::getASTContext() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x55fc): undefined reference to clang::TypeLoc::getBeginLoc() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x56a9): undefined reference to
clang::Decl::getASTContext() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5716): undefined reference to clang::Decl::getASTContext() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5829): undefined reference to
clang::Decl::getASTContext() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5b31): undefined reference to clang::DeclarationName::getObjCSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5b4f): undefined reference to
clang::Selector::getNumArgs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5c04): undefined reference to clang::DeclarationName::getObjCSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5c37): undefined reference to
clang::getStandardSelectorLoc(unsigned int, clang::Selector, bool, llvm::ArrayRefclang::ParmVarDecl*, clang::SourceLocation)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5fbc): undefined reference to clang::ObjCMessageExpr::getSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x5fe1): undefined reference to
clang::Selector::getNumArgs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6089): undefined reference to clang::DeclarationName::getObjCSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x60ae): undefined reference to
clang::Selector::getNumArgs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x60fd): undefined reference to clang::ObjCMessageExpr::getSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6122): undefined reference to
clang::Selector::getNumArgs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6171): undefined reference to clang::ObjCMessageExpr::getSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x61a5): undefined reference to
clang::getStandardSelectorLoc(unsigned int, clang::Selector, bool, llvm::ArrayRefclang::Expr*, clang::SourceLocation)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x61c0): undefined reference to clang::DeclarationName::getObjCSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x61e5): undefined reference to
clang::Selector::getNumArgs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6243): undefined reference to clang::DeclarationName::getObjCSelector() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6277): undefined reference to
clang::getStandardSelectorLoc(unsigned int, clang::Selector, bool, llvm::ArrayRefclang::ParmVarDecl*, clang::SourceLocation)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6d9f): undefined reference to clang::UsingDirectiveDecl::getNominatedNamespace()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6e0b): undefined reference to
clang::Decl::getASTContext() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6e17): undefined reference to clang::VarDecl::getDefinition(clang::ASTContext&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6e34): undefined reference to
clang::TagDecl::getDefinition() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6e6b): undefined reference to clang::FunctionDecl::getBody(clang::FunctionDecl const*&) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6f46): undefined reference to
clang::FunctionDecl::getBody(clang::FunctionDecl const&) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6fce): undefined reference to clang::ObjCInterfaceDecl::getImplementation() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x6ffe): undefined reference to
clang::DeclarationName::getObjCSelector() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7012): undefined reference to clang::ObjCContainerDecl::getMethod(clang::Selector, bool) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7082): undefined reference to
clang::ObjCCategoryDecl::getImplementation() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7249): undefined reference to clang::ObjCInterfaceDecl::getImplementation() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x74c7): undefined reference to
clang::ObjCCategoryImplDecl::getCategoryDecl() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x78bb): undefined reference to clang::Decl::getASTContext() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x78d8): undefined reference to
clang::SourceManager::getCharacterData(clang::SourceLocation, bool) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x78f5): undefined reference to clang::SourceManager::getCharacterData(clang::SourceLocation, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7912): undefined reference to
clang::SourceManager::getSpellingLineNumber(clang::SourceLocation, bool) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x792f): undefined reference to clang::SourceManager::getSpellingColumnNumber(clang::SourceLocation, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x794c): undefined reference to
clang::SourceManager::getSpellingLineNumber(clang::SourceLocation, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7969): undefined reference toclang::SourceManager::getSpellingColumnNumber(clang::SourceLocation, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7ab4): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7b18): undefined reference toclang::SourceManager::getBufferData(clang::FileID, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7cb8): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7cd1): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7cec): undefined reference to
clang::SourceManager::getDecomposedSpellingLocSlowCase(clang::SrcMgr::SLocEntry const, unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7d46): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7f11): undefined reference to
clang::NamedDecl::getLinkage() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x7fbd): undefined reference to clang::Decl::getAvailability(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x81a7): undefined reference to
clang::Decl::castFromDeclContext(clang::DeclContext const)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x82b2): undefined reference to clang::Decl::castFromDeclContext(clang::DeclContext const_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8419): undefined reference to
operator new[](unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x85f6): undefined reference toclang::CXXMethodDecl::begin_overridden_methods() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8600): undefined reference to
clang::CXXMethodDecl::end_overridden_methods() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8766): undefined reference tooperator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8853): undefined reference to
clang::ASTUnit::ConcurrencyState::start()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x88ba): undefined reference tollvm::CrashRecoveryContext::~CrashRecoveryContext()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x88c2): undefined reference to
clang::ASTUnit::ConcurrencyState::finish()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8a27): undefined reference toclang::getClangFullVersion()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8a56): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x8a92): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x93b0): undefined reference to
clang::Stmt::children()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9459): undefined reference toclang::StmtIteratorBase::NextVA()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9474): undefined reference to
clang::StmtIteratorBase::GetDeclExpr() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x94c0): undefined reference toclang::StmtIteratorBase::NextDecl(bool)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9556): undefined reference to
llvm::llvm_unreachable_internal(char const, char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x959e): undefined reference to clang::CXXDependentScopeMemberExpr::isImplicitAccess() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x95aa): undefined reference to
clang::CXXDependentScopeMemberExpr::isImplicitAccess() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9610): undefined reference to clang::WhileStmt::getConditionVariable() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x963c): undefined reference to
clang::SwitchStmt::getConditionVariable() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x978c): undefined reference to clang::IfStmt::getConditionVariable() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x98ae): undefined reference to
clang::ForStmt::getConditionVariable() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9b20): undefined reference to clang::UnresolvedMemberExpr::isImplicitAccess() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9b30): undefined reference to
clang::UnresolvedMemberExpr::isImplicitAccess() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9e0b): undefined reference to clang::Expr::isImplicitCXXThis() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9e4b): undefined reference to
clang::LambdaExpr::getBody() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x9fc4): undefined reference to clang::Stmt::children()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xa093): undefined reference to
clang::DesignatedInitExpr::getArrayRangeEnd(clang::DesignatedInitExpr::Designator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xa0a8): undefined reference to clang::DesignatedInitExpr::getArrayRangeStart(clang::DesignatedInitExpr::Designator const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xa7bd): undefined reference to
clang::DesignatedInitExpr::getArrayIndex(clang::DesignatedInitExpr::Designator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xab37): undefined reference to clang::StmtIteratorBase::GetDeclExpr() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb23c): undefined reference to
llvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb25c): undefined reference to operator new(unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb2a7): undefined reference to
llvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb4eb): undefined reference to llvm::llvm_unreachable_internal(char const_, char const_, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb696): undefined reference to
clang::ASTUnit::RealizeTopLevelDeclsFromPreamble()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xb6b9): undefined reference toclang::ASTUnit::RealizeTopLevelDeclsFromPreamble()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xba22): undefined reference to
llvm::llvm_unreachable_internal(char const, char const, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xbcfc): undefined reference to operator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xbfc9): undefined reference to
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc044): undefined reference toclang::Decl::getAttrs() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc058): undefined reference to
clang::Decl::getAttrs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc129): undefined reference toclang::InjectedClassNameType::getDecl() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc4c9): undefined reference to
clang::TagType::getDecl() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc4ff): undefined reference toclang::TagType::getDecl() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc5a4): undefined reference to
clang::TagType::getDecl() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc814): undefined reference toclang::ASTContext::getObjCIdDecl() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc8c8): undefined reference to
clang::ASTContext::getTypeDeclTypeSlow(clang::TypeDecl const*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc8d5): undefined reference toclang::ASTContext::getObjCSelDecl() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc904): undefined reference to
clang::ASTContext::getObjCClassDecl() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc98b): undefined reference toclang::TemplateName::getKind() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xc9ac): undefined reference to
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xcabe): undefined reference toclang::TemplateName::getAsTemplateDecl() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xcd76): undefined reference to
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd1f2): undefined reference tooperator delete[](void*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd230): undefined reference to
llvm::APInt::initSlowCase(llvm::APInt const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd634): undefined reference toclang::DeclarationName::getNameKind() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd655): undefined reference to
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd685): undefined reference toclang::DeclarationName::getNameKind() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd692): undefined reference to
clang::DeclarationName::getNameKind() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xd69f): undefined reference toclang::DeclarationName::getNameKind() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdd18): undefined reference to
clang::NestedNameSpecifier::getKind() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdd31): undefined reference toclang::NestedNameSpecifierLoc::getTypeLoc() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdd5d): undefined reference to
clang::NestedNameSpecifierLoc::getLocalSourceRange() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdd69): undefined reference toclang::NestedNameSpecifier::getAsNamespaceAlias() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xdde6): undefined reference to
clang::NestedNameSpecifierLoc::getLocalSourceRange() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xddf2): undefined reference toclang::NestedNameSpecifier::getAsNamespace() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xe0c6): undefined reference to
operator delete'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xe102): undefined reference tollvm::APInt::initSlowCase(llvm::APInt const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xe758): undefined reference to
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xeda3): undefined reference toclang::LambdaExpr::explicit_capture_begin() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xedb1): undefined reference to
clang::LambdaExpr::explicit_capture_end() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xee51): undefined reference toclang::LambdaExpr::getCallOperator() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xf1ee): undefined reference to
clang::NestedNameSpecifier::getKind() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xf287): undefined reference toclang::NestedNameSpecifier::getAsNamespaceAlias() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xf2e9): undefined reference to
clang::NestedNameSpecifier::getAsNamespace() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xf3b0): undefined reference toclang::TagType::getDecl() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xf769): undefined reference to
clang::ObjCPropertyDecl::findPropertyDecl(clang::DeclContext const*, clang::IdentifierInfo*)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0xff6b): undefined reference tollvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10229): undefined reference to
clang::TypeLoc::IgnoreParensImpl(clang::TypeLoc)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10463): undefined reference toclang::DeclContext::decls_begin() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1046f): undefined reference to
clang::DeclContext::decls_end() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10740): undefined reference toclang::DeclContext::decls_begin() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1074a): undefined reference to
clang::DeclContext::decls_end() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x107b5): undefined reference tollvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x109a2): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10a9c): undefined reference toclang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10b08): undefined reference to
llvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10b2d): undefined reference tollvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10dfa): undefined reference to
clang::ObjCInterfaceDecl::LoadExternalDefinition() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10e24): undefined reference toclang::ObjCInterfaceDecl::LoadExternalDefinition() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10e3c): undefined reference to
clang::ObjCInterfaceDecl::LoadExternalDefinition() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10e58): undefined reference toclang::ObjCInterfaceDecl::LoadExternalDefinition() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x10e74): undefined reference to
clang::ObjCInterfaceDecl::LoadExternalDefinition() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11169): undefined reference toclang::Decl::getASTContext() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x111de): undefined reference to
clang::Decl::getASTContext() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11643): undefined reference tooperator delete[](void*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11680): undefined reference to
llvm::APInt::initSlowCase(llvm::APInt const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x117f6): undefined reference toclang::PreprocessingRecord::getPreprocessedEntitiesInRange(clang::SourceRange)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1194f): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1196f): undefined reference toclang::SourceManager::getFileIDSlow(unsigned int) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11a5c): undefined reference to
clang::SourceManager::getFileLocSlowCase(clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11a7c): undefined reference toclang::SourceManager::getFileLocSlowCase(clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11b81): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11ba0): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11bb9): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11bd4): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11c72): undefined reference to
clang::ASTUnit::mapLocationToPreamble(clang::SourceLocation)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11c86): undefined reference to clang::ASTUnit::mapLocationToPreamble(clang::SourceLocation)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11c97): undefined reference to
clang::ASTUnit::isInPreambleFileID(clang::SourceLocation)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11cbc): undefined reference to clang::ASTUnit::getEndOfPreambleFileID()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11d8c): undefined reference to
clang::ASTUnit::getStartOfMainFileID()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11e27): undefined reference to clang::ASTUnit::findFileRegionDecls(clang::FileID, unsigned int, unsigned int, llvm::SmallVectorImpl<clang::Decl*>&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11e3c): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x11ea4): undefined reference to clang::ASTUnit::findFileRegionDecls(clang::FileID, unsigned int, unsigned int, llvm::SmallVectorImpl<clang::Decl*>&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1205a): undefined reference to
clang::Decl::castFromDeclContext(clang::DeclContext const_)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1207c): undefined reference to clang::DeclContext::classof(clang::Decl const_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12216): undefined reference to
clang::Decl::castFromDeclContext(clang::DeclContext const*)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12378): undefined reference toclang::SourceManager::getDecomposedExpansionLocSlowCase(clang::SrcMgr::SLocEntry const_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x123f0): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12410): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12434): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12444): undefined reference to clang::DeclContext::classof(clang::Decl const_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12454): undefined reference to
clang::Decl::castToDeclContext(clang::Decl const*)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x124c5): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1277c): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x127cc): undefined reference toclang::SourceManager::getFileIDSize(clang::FileID) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12860): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12a08): undefined reference toclang::SourceManager::getFileLocSlowCase(clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12a23): undefined reference to
clang::SourceManager::getFileLocSlowCase(clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12b32): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12b50): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12b70): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12b90): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12ba9): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12bc2): more undefined references to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const' follow
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12c65): undefined reference to clang::Lexer::GetBeginningOfToken(clang::SourceLocation, clang::SourceManager const&, clang::LangOptions const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12cf9): undefined reference to
clang::SourceManager::isMacroArgExpansion(clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12dfb): undefined reference to operator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x12e90): undefined reference to
clang::ASTUnit::ConcurrencyState::start()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x132f7): undefined reference toclang::ASTUnit::ConcurrencyState::finish()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x135d4): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x13668): undefined reference toclang::SourceManager::getFileIDSlow(unsigned int) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1381c): undefined reference to
operator delete(void*)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x13b1b): undefined reference tooperator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x13b6a): undefined reference to
operator delete(void_)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x13bf8): undefined reference to clang::SourceManager::getBufferData(clang::FileID, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x13c8c): undefined reference to
clang::Lexer::Lexer(clang::SourceLocation, clang::LangOptions const&, char const_, char const_, char const_)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x13d22): undefined reference to clang::Lexer::LexTokenInternal(clang::Token&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14094): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14103): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1411c): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14135): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14206): undefined reference to
clang::Lexer::LexTokenInternal(clang::Token&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14257): undefined reference tollvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x143b3): undefined reference to
operator new(unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14505): undefined reference tooperator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14718): undefined reference to
operator new(unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14860): undefined reference tooperator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14bf9): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14c12): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x14d6c): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool_) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15011): undefined reference to clang::DeclarationName::getNameKind() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1533d): undefined reference to
clang::NestedNameSpecifierLoc::getSourceRange() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x154d6): undefined reference to clang::NestedNameSpecifierLoc::getSourceRange() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x155f2): undefined reference to
clang::NestedNameSpecifierLoc::getSourceRange() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15836): undefined reference to clang::ASTUnit::ConcurrencyState::start()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15842): undefined reference to
operator new(unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1585d): undefined reference to llvm::CrashRecoveryContext::GetCurrent()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1587b): undefined reference to
operator new(unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1589b): undefined reference to llvm::CrashRecoveryContext::registerCleanup(llvm::CrashRecoveryContextCleanup*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15915): undefined reference to
llvm::MemoryBuffer::getMemBufferCopy(llvm::StringRef, llvm::StringRef)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15935): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15972): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::basic_string<char, std::char_traits, std::allocator > const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1598f): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x159d0): undefined reference to
clang::ASTUnit::Reparse(std::pair<std::basic_string<char, std::char_traits, std::allocator >, llvm::PointerUnion<char const*, llvm::MemoryBuffer const*> >, unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x159fa): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15a15): undefined reference to
operator delete(void)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15a1d): undefined reference to operator delete(void*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15a29): undefined reference to
clang::ASTUnit::ConcurrencyState::finish()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15a6b): undefined reference to llvm::CrashRecoveryContext::unregisterCleanup(llvm::CrashRecoveryContextCleanup*)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15aae): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15afa): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15bc5): undefined reference to
clang::ASTUnit::ConcurrencyState::start()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15c73): undefined reference to clang::SourceManager::getFileIDSlow(unsigned int) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15d17): undefined reference to
clang::SourceManager::getFileIDSlow(unsigned int) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15db6): undefined reference to clang::ASTUnit::ConcurrencyState::finish()' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15df9): undefined reference to
clang::ASTUnit::ConcurrencyState::finish()'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15f2b): undefined reference to clang::SourceManager::getBufferData(clang::FileID, bool*) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x15fc9): undefined reference to
clang::Lexer::Lexer(clang::SourceLocation, clang::LangOptions const&, char const, char const, char const_)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x160aa): undefined reference to clang::Lexer::LexTokenInternal(clang::Token&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x163b2): undefined reference to
vtable for clang::Lexer'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x163bb): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x163d1): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::Rep::S_empty_rep_storage'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x163e7): undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16406): undefined reference to
vtable for clang::PreprocessorLexer'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16430): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16450): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16470): undefined reference toclang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16490): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16526): undefined reference to clang::Preprocessor::LookUpIdentifierInfo(clang::Token&) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x165ad): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x165c8): undefined reference to clang::SourceManager::loadSLocEntry(unsigned int, bool_) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x165e3): undefined reference to
clang::SourceManager::loadSLocEntry(unsigned int, bool*) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16689): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x166bb): undefined reference to
std::basic_string<char, std::char_traits, std::allocator >::_Rep::M_destroy(std::allocator const&)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x166ed): undefined reference tostd::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16890): undefined reference to
clang::Decl::getAttrs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x169da): undefined reference tollvm::llvm_unreachable_internal(char const_, char const_, unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16e11): undefined reference to
clang::Stmt::getLocStart() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16e30): undefined reference toclang::Stmt::getLocStart() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16e59): undefined reference to
clang::Stmt::getLocStart() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16f06): undefined reference toclang::TypeLoc::getBeginLoc() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16f32): undefined reference to
clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x16f56): undefined reference toclang::SourceManager::getSpellingLocSlowCase(clang::SourceLocation) const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17016): undefined reference to
clang::Decl::getAttrs() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1704f): undefined reference toclang::Decl::getAttrs() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x170f1): undefined reference to
operator new(unsigned int)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17247): undefined reference tooperator delete(void_)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17367): undefined reference to
clang::TypeLoc::getBeginLoc() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17436): undefined reference tooperator new(unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17589): undefined reference to
operator delete(void)'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x176c6): undefined reference to operator new(unsigned int)' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x176f1): undefined reference to
llvm::BumpPtrAllocator::getTotalMemory() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17736): undefined reference to llvm::BumpPtrAllocator::getTotalMemory() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17778): undefined reference to
clang::SelectorTable::getTotalMemory() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x177b4): undefined reference to clang::ASTContext::getSideTableAllocatedMemory() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x1781e): undefined reference to
llvm::BumpPtrAllocator::getTotalMemory() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x17863): undefined reference to llvm::BumpPtrAllocator::getTotalMemory() const' C:/MinGW/lib/libclang.a(CIndex.o):CIndex.cpp:(.text+0x178a6): undefined reference to
clang::SourceManager::getMemoryBufferSizes() const'
C:/MinGW/lib/libclang.a(CIndex.o):CIndex.c
Hey,
Usually, when i use the normal auto-complete, it goes in the other buffers to search for propositions. For instance, when I open a header file with some function proptotypes in a new buffer, i can in another buffer start to type a function name included in the header file and be proposed to complete it.
That functionality seems to be disabled when I load auto-complete-clang-async at the same time.
Has anyone experienced the same issue ?
emacs-clang-complete-async f01488
auto-complete 1.4ish (a4f83db)
yasnippet 0.8beta (20130218.2229 from MELPA)
When expanding a non-overloaded function, snippet expansion does not occur.
For example:
#include <stdio.h>
void main (void)
{
fclos
}
with the cursor after "fclos", the completion fclose(FILE *__stream) will be offered. But when pressing RET to expand, point is moved after fclose(FILE *__stream), and snippet expansion does not occur.
Hi,
Maybe this is more a request for a yasnippet
snippet, however, I don't know where else to ask.
When creating a Heap variable using clang you need to do a lot of manual work. You write the variable's type (Without completion because otherwise it becomes the constructor), then its name, then the string = new
, again the type and finally can use clang
to auto-complete the constructor. I think it would be useful to have a yasnippet (conveniently using the "N" key) which asks for a type (maybe with namespace), a name and which constructor to use and expands this to
$VarType$ * $VarName$ = new $Namespace$::$VarType$( $ConstructorArgs$ );
When there is a great number of potential completion candidates, I often find that autocomplete stalls for a second or so (and clang-complete blows up to several megabytes). I have tried to fix this by only returning candidates beginning with ac-clang-saved-prefix; also, no more than ac-candidate-limit candidates are returned. This seems to work for me, but I'm not sure whether my changes are good enough for a pull request. Comments greatly appreciated
run-hooks: Symbol's function definition is void: ac-common-setup
Error in post-command-hook (global-auto-complete-mode-check-buffers): (void-function ac-common-setup)
On Ubuntu 13.04
Installed auto-complete in emacs 24 using package system
From documentation -- C-h m , your ecca does not have any steering commands.
Especially I would like to have command like CEDET/semantic M-x senator-force-tag-refresh to be able to parse and ad tags to the database. I recently wanted to add OGRE3d lib header files to the auto completition database . Only what I could was to open all header files from /usr/include/OGRE. and pray that the computer would not choke off to death ( waited 15 minutes and finally it worked ) !
So what I ask you is not to implement in new features to resemeble existing software,
I just ask you present meaningful interface to the user.
( That we have a nice bunch of commands via C-h m ) :) .
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.