From: Yaxun Liu Date: Sun, 18 Dec 2016 06:35:06 +0000 (+0000) Subject: Attempt to fix build failure and regressions due to r290056 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d9acbb08aab0b7af637d0c385581191091d498f0;p=clang Attempt to fix build failure and regressions due to r290056 Add llvm:: namespace to StringRef. Make conversion between bool and uint64_t explicit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290058 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/OpenCLOptions.h b/include/clang/Basic/OpenCLOptions.h index 9fb4dbb7ba..a51494fa2e 100644 --- a/include/clang/Basic/OpenCLOptions.h +++ b/include/clang/Basic/OpenCLOptions.h @@ -32,24 +32,24 @@ class OpenCLOptions { }; llvm::StringMap OptMap; public: - bool isKnown(StringRef Ext) const { + bool isKnown(llvm::StringRef Ext) const { return OptMap.find(Ext) != OptMap.end(); } - bool isEnabled(StringRef Ext) const { + bool isEnabled(llvm::StringRef Ext) const { return OptMap.find(Ext)->second.Enabled; } // Is supported as either an extension or an (optional) core feature for // OpenCL version \p CLVer. - bool isSupported(StringRef Ext, unsigned CLVer) const { + bool isSupported(llvm::StringRef Ext, unsigned CLVer) const { auto I = OptMap.find(Ext)->getValue(); return I.Supported && I.Avail <= CLVer; } // Is supported (optional) OpenCL core features for OpenCL version \p CLVer. // For supported extension, return false. - bool isSupportedCore(StringRef Ext, unsigned CLVer) const { + bool isSupportedCore(llvm::StringRef Ext, unsigned CLVer) const { auto I = OptMap.find(Ext)->getValue(); return I.Supported && I.Avail <= CLVer && I.Core != ~0U && CLVer >= I.Core; @@ -57,13 +57,13 @@ public: // Is supported OpenCL extension for OpenCL version \p CLVer. // For supported (optional) core feature, return false. - bool isSupportedExtension(StringRef Ext, unsigned CLVer) const { + bool isSupportedExtension(llvm::StringRef Ext, unsigned CLVer) const { auto I = OptMap.find(Ext)->getValue(); return I.Supported && I.Avail <= CLVer && (I.Core == ~0U || CLVer < I.Core); } - void enable(StringRef Ext, bool V = true) { + void enable(llvm::StringRef Ext, bool V = true) { OptMap[Ext].Enabled = V; } @@ -71,7 +71,7 @@ public: /// \param Ext name of the extension optionally prefixed with /// '+' or '-' /// \param Enable used when \p Ext is not prefixed by '+' or '-' - void support(StringRef Ext, bool V = true) { + void support(llvm::StringRef Ext, bool V = true) { assert(!Ext.empty() && "Extension is empty."); switch (Ext[0]) { diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index d6324b41d6..066261c021 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -3167,8 +3167,8 @@ ASTReader::ReadASTBlock(ModuleFile &F, unsigned ClientLoadCapabilities) { for (unsigned I = 0, E = Record.size(); I != E; ) { auto Name = ReadString(Record, I); auto &Opt = OpenCLExtensions.OptMap[Name]; - Opt.Supported = Record[I++]; - Opt.Enabled = Record[I++]; + Opt.Supported = Record[I++] != 0; + Opt.Enabled = Record[I++] != 0; Opt.Avail = Record[I++]; Opt.Core = Record[I++]; } diff --git a/lib/Serialization/ASTWriter.cpp b/lib/Serialization/ASTWriter.cpp index 493941a3ef..6d79ea53b6 100644 --- a/lib/Serialization/ASTWriter.cpp +++ b/lib/Serialization/ASTWriter.cpp @@ -3944,8 +3944,8 @@ void ASTWriter::WriteOpenCLExtensions(Sema &SemaRef) { for (const auto &I:Opts.OptMap) { AddString(I.getKey(), Record); auto V = I.getValue(); - Record.push_back(V.Supported); - Record.push_back(V.Enabled); + Record.push_back(V.Supported ? 1 : 0); + Record.push_back(V.Enabled ? 1 : 0); Record.push_back(V.Avail); Record.push_back(V.Core); }