On Mon, Jan 16, 2012 at 9:27 AM, David Chisnall <[email protected]> wrote:
> Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=148242&r1=148241&r2=148242&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original)
> +++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Mon Jan 16 11:27:18 2012
> @@ -626,12 +626,14 @@
>            .Case("arc_cf_code_audited", true)
>            // C11 features
>            .Case("c_alignas", LangOpts.C11)
> +           .Case("c_atomic", LangOpts.C11)
>            .Case("c_generic_selections", LangOpts.C11)
>            .Case("c_static_assert", LangOpts.C11)
>            // C++0x features
>            .Case("cxx_access_control_sfinae", LangOpts.CPlusPlus0x)
>            .Case("cxx_alias_templates", LangOpts.CPlusPlus0x)
>            .Case("cxx_alignas", LangOpts.CPlusPlus0x)
> +           .Case("cxx_atomic", LangOpts.CPlusPlus0x)

Unfortunately, I'm not sure we can use the name "cxx_atomic"; shipping
versions of libc++ check for cxx_atomic, but are not compatible with
the current implementation.


I'm not sure the semantic analysis here is working quite correctly;
for example, the following doesn't compile:

_Atomic(long) x;
int f() { return x; }

Also, the following:

_Atomic(long) x = 10;

I don't have time to look more closely at it at the moment.

-Eli

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to