[LLVMbugs] [Bug 19043] New: Clang cannot parse MSVC's <atomic> header due to C11 _Atomic keyword clash

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 4 10:06:28 PST 2014


            Bug ID: 19043
           Summary: Clang cannot parse MSVC's <atomic> header due to C11
                    _Atomic keyword clash
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: rnk at google.com
                CC: benny.kra at gmail.com, chandlerc at gmail.com,
                    david.majnemer at gmail.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The fallacy of the implementers namespace strikes back!

MSVC has a template class named "_Atomic" in <atomic>, despite the fact that
it's a C11 keyword.   So far as we know, MSVC only aims to implement C99, so
this clash isn't a problem for them.  libc++ apparently uses _Atomic if it's
available, which means we probably can't build a compatibility mode that works
for both the MSVC STL and libc++.  We could use the -stdlib= flag to decide
whether to provide the _Atomic keyword, but either way the user has to pass
flags and that is sad.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140304/67511218/attachment.html>

More information about the llvm-bugs mailing list