invalid-token-lexed.cpp:1:5: error: builtin feature check macro requires a parenthesized identifier #if __has_feature('x' ^ clang-3.6: /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/LiteralSupport.cpp:1041: clang::CharLiteralParser::CharLiteralParser(const char *, const char *, clang::SourceLocation, clang::Preprocessor &, tok::TokenKind): Assertion `begin[0] == '\'' && "Invalid token lexed"' failed. #0 0x7f7722f5f130 llvm::sys::PrintStackTrace(_IO_FILE*) /home/sliedes/projects/llvm/llvm.src/lib/Support/Unix/Signals.inc:422:15 #1 0x7f7722f64ed3 SignalHandler(int) /home/sliedes/projects/llvm/llvm.src/lib/Support/Unix/Signals.inc:198:3 #2 0x7f7720821180 (/lib/x86_64-linux-gnu/libc.so.6+0x35180) #3 0x7f7720821107 gsignal /build/glibc-NmptCx/glibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #4 0x7f77208224e8 abort /build/glibc-NmptCx/glibc-2.19/stdlib/abort.c:91:0 #5 0x7f772081a226 __assert_fail_base /build/glibc-NmptCx/glibc-2.19/assert/assert.c:92:0 #6 0x7f772081a2d2 (/lib/x86_64-linux-gnu/libc.so.6+0x2e2d2) #7 0x7f771cf8f18f clang::CharLiteralParser::CharLiteralParser(char const*, char const*, clang::SourceLocation, clang::Preprocessor&, clang::tok::TokenKind) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/LiteralSupport.cpp:1041:3 #8 0x7f771d046ee5 EvaluateValue((anonymous namespace)::PPValue&, clang::Token&, DefinedTracker&, bool, clang::Preprocessor&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/PPExpressions.cpp:289:23 #9 0x7f771d045ef1 clang::Token::isNot(clang::tok::TokenKind) const /home/sliedes/projects/llvm/llvm.src/tools/clang/include/clang/Lex/Token.h:92:40 #10 0x7f771d045ef1 clang::Preprocessor::EvaluateDirectiveExpression(clang::IdentifierInfo*&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/PPExpressions.cpp:758:0 #11 0x7f771d029946 clang::Preprocessor::HandleIfDirective(clang::Token&, bool) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/PPDirectives.cpp:2261:32 #12 0x7f771d02669f clang::Preprocessor::HandleDirective(clang::Token&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/PPDirectives.cpp:754:14 #13 0x7f771cf80303 clang::Lexer::LexTokenInternal(clang::Token&, bool) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/Lexer.cpp:3641:7 #14 0x7f771cf6f2ee clang::Lexer::Lex(clang::Token&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/Lexer.cpp:2896:3 #15 0x7f771d0d70e7 clang::Preprocessor::Lex(clang::Token&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Lex/Preprocessor.cpp:691:23 #16 0x7f771cab1921 clang::OpaquePtr::OpaquePtr() /home/sliedes/projects/llvm/llvm.src/tools/clang/include/clang/Sema/Ownership.h:52:32 #17 0x7f771cab1921 clang::ParseAST(clang::Sema&, bool, bool) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Parse/ParseAST.cpp:130:0 #18 0x7f77217ffb81 clang::FrontendAction::Execute() /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Frontend/FrontendAction.cpp:428:8 #19 0x7f7721752488 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Frontend/CompilerInstance.cpp:804:7 #20 0x7f77213bc2c3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:222:18 #21 0x420258 cc1_main(llvm::ArrayRef, char const*, void*) /home/sliedes/projects/llvm/llvm.src/tools/clang/tools/driver/cc1_main.cpp:110:13 #22 0x419925 ExecuteCC1Tool(llvm::ArrayRef, llvm::StringRef) /home/sliedes/projects/llvm/llvm.src/tools/clang/tools/driver/driver.cpp:369:12 #23 0x419925 main /home/sliedes/projects/llvm/llvm.src/tools/clang/tools/driver/driver.cpp:415:0 #24 0x7f772080db45 __libc_start_main /build/glibc-NmptCx/glibc-2.19/csu/libc-start.c:321:0 #25 0x40b328 _start (/home/sliedes/local/llvm-trunk-rel/bin/clang-3.6+0x40b328) Stack dump: 0. Program arguments: /home/sliedes/local/llvm-trunk-rel/bin/clang-3.6 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name invalid-token-lexed.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -resource-dir /home/sliedes/local/llvm-trunk-rel/bin/../lib/clang/3.6.0 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/backward -internal-isystem /usr/local/include -internal-isystem /home/sliedes/local/llvm-trunk-rel/bin/../lib/clang/3.6.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /home/sliedes/t/clang/bug/min -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o /tmp/invalid-token-lexed-fc1496.o -x c++ invalid-token-lexed.cpp 1. invalid-token-lexed.cpp:1:2: current parser token 'if' clang-3.6: error: unable to execute command: Aborted clang-3.6: error: clang frontend command failed due to signal (use -v to see invocation)