http://llvm.org/bugs/show_bug.cgi?id=15539

            Bug ID: 15539
           Summary: __has_include seems to be broken under #ifdef
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
    Classification: Unclassified

#if FOO
#elif __has_include(<foo>)
#endif

compiles without error, however

#ifdef FOO
#elif __has_include(<foo>)
#endif

produces:

typeinfo.cpp:2:7: error: __has_include must be used within a preprocessing
directive
#elif __has_include(<foo>)
      ^
typeinfo.cpp:2:7: error: invalid token at start of a preprocessor expression
<scratch space>:2:1: note: expanded from here
0
^
2 errors generated.

(discovered in a change to libc++, r177297)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to