]> granicus.if.org Git - clang/commitdiff
Fix a typo in r204164 that made *all* keywords available in OpenCL mode.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 18 Mar 2014 22:43:19 +0000 (22:43 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 18 Mar 2014 22:43:19 +0000 (22:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204196 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/IdentifierTable.cpp
test/Parser/opencl-keywords.cl [new file with mode: 0644]

index 0993b2335e4bc19b39dc0b1cb31dd26cd3d0d90a..3b8aeec5b87507fd7b4a6374fa9c48b0057a6ebd 100644 (file)
@@ -130,7 +130,7 @@ static void AddKeyword(StringRef Keyword,
   else if (LangOpts.MicrosoftExt && (Flags & KEYMS)) AddResult = 1;
   else if (LangOpts.Borland && (Flags & KEYBORLAND)) AddResult = 1;
   else if (LangOpts.Bool && (Flags & BOOLSUPPORT)) AddResult = 2;
-  else if (LangOpts.Half && (Flags && HALFSUPPORT)) AddResult = 2;
+  else if (LangOpts.Half && (Flags & HALFSUPPORT)) AddResult = 2;
   else if (LangOpts.WChar && (Flags & WCHARSUPPORT)) AddResult = 2;
   else if (LangOpts.AltiVec && (Flags & KEYALTIVEC)) AddResult = 2;
   else if (LangOpts.OpenCL && (Flags & KEYOPENCL)) AddResult = 2;
diff --git a/test/Parser/opencl-keywords.cl b/test/Parser/opencl-keywords.cl
new file mode 100644 (file)
index 0000000..5bc7054
--- /dev/null
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only
+// expected-no-diagnostics
+
+void f(half *h) {
+  bool b;
+  int wchar_t;
+  int constexpr;
+}