From 5a37ee34c8094290014c510e282f7d92dd003ee9 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Tue, 4 Mar 2014 22:07:09 +0000 Subject: [PATCH] TokenKinds: _Atomic isn't a keyword in MS mode Summary: This is needed to allow MSVC's header to properly parse. It uses _Atomic as a class-id. Reviewers: rnk Reviewed By: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2948 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202901 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/TokenKinds.def | 2 +- test/SemaCXX/MicrosoftCompatibility.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/clang/Basic/TokenKinds.def b/include/clang/Basic/TokenKinds.def index b64ad05cd0..2ffd000131 100644 --- a/include/clang/Basic/TokenKinds.def +++ b/include/clang/Basic/TokenKinds.def @@ -267,7 +267,7 @@ KEYWORD(volatile , KEYALL) KEYWORD(while , KEYALL) KEYWORD(_Alignas , KEYALL) KEYWORD(_Alignof , KEYALL) -KEYWORD(_Atomic , KEYALL) +KEYWORD(_Atomic , KEYALL|KEYNOMS) KEYWORD(_Bool , KEYNOCXX) KEYWORD(_Complex , KEYALL) KEYWORD(_Generic , KEYALL) diff --git a/test/SemaCXX/MicrosoftCompatibility.cpp b/test/SemaCXX/MicrosoftCompatibility.cpp index a3b96da448..fb7d9751d1 100644 --- a/test/SemaCXX/MicrosoftCompatibility.cpp +++ b/test/SemaCXX/MicrosoftCompatibility.cpp @@ -3,6 +3,7 @@ typedef unsigned short char16_t; typedef unsigned int char32_t; +struct _Atomic {}; typename decltype(3) a; // expected-warning {{expected a qualified name after 'typename'}} -- 2.40.0