From: Craig Topper Date: Thu, 8 May 2014 06:41:40 +0000 (+0000) Subject: [C++11] Use 'nullptr'. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=603e37c3dd2933111c6e34c1c866a03c45d163b6;p=clang [C++11] Use 'nullptr'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208280 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Builtins.cpp b/lib/Basic/Builtins.cpp index 2fd00dd0b4..6c78dc3594 100644 --- a/lib/Basic/Builtins.cpp +++ b/lib/Basic/Builtins.cpp @@ -20,7 +20,7 @@ using namespace clang; static const Builtin::Info BuiltinInfo[] = { - { "not a builtin function", 0, 0, 0, ALL_LANGUAGES }, + { "not a builtin function", nullptr, nullptr, nullptr, ALL_LANGUAGES}, #define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES }, #define LANGBUILTIN(ID, TYPE, ATTRS, BUILTIN_LANG) { #ID, TYPE, ATTRS, 0, BUILTIN_LANG }, #define LIBBUILTIN(ID, TYPE, ATTRS, HEADER, BUILTIN_LANG) { #ID, TYPE, ATTRS, HEADER,\ @@ -37,7 +37,7 @@ const Builtin::Info &Builtin::Context::GetRecord(unsigned ID) const { Builtin::Context::Context() { // Get the target specific builtins from the target. - TSRecords = 0; + TSRecords = nullptr; NumTSRecords = 0; } @@ -116,7 +116,7 @@ bool Builtin::Context::isLike(unsigned ID, unsigned &FormatIdx, ++Like; assert(::strchr(Like, ':') && "Format specifier must end with a ':'"); - FormatIdx = ::strtol(Like, 0, 10); + FormatIdx = ::strtol(Like, nullptr, 10); return true; } diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp index f50754830f..8cef9d5b19 100644 --- a/lib/Basic/Diagnostic.cpp +++ b/lib/Basic/Diagnostic.cpp @@ -41,9 +41,9 @@ DiagnosticsEngine::DiagnosticsEngine( DiagnosticOptions *DiagOpts, DiagnosticConsumer *client, bool ShouldOwnClient) : Diags(diags), DiagOpts(DiagOpts), Client(client), - OwnsDiagClient(ShouldOwnClient), SourceMgr(0) { + OwnsDiagClient(ShouldOwnClient), SourceMgr(nullptr) { ArgToStringFn = DummyArgToStringFn; - ArgToStringCookie = 0; + ArgToStringCookie = nullptr; AllExtensionsSilenced = 0; IgnoreAllWarnings = false; @@ -157,7 +157,7 @@ DiagnosticsEngine::GetDiagStatePointForLoc(SourceLocation L) const { if (LastStateChangePos.isValid() && Loc.isBeforeInTranslationUnitThan(LastStateChangePos)) Pos = std::upper_bound(DiagStatePoints.begin(), DiagStatePoints.end(), - DiagStatePoint(0, Loc)); + DiagStatePoint(nullptr, Loc)); --Pos; return Pos; } @@ -612,7 +612,7 @@ static const char *getTokenDescForDiagnostic(tok::TokenKind Kind) { case tok::identifier: return "identifier"; default: - return 0; + return nullptr; } } @@ -672,7 +672,7 @@ FormatDiagnostic(const char *DiagStr, const char *DiagEnd, // The digit is a number from 0-9 indicating which argument this comes from. // The modifier is a string of digits from the set [-a-z]+, arguments is a // brace enclosed string. - const char *Modifier = 0, *Argument = 0; + const char *Modifier = nullptr, *Argument = nullptr; unsigned ModifierLen = 0, ArgumentLen = 0; // Check to see if we have a modifier. If so eat it. diff --git a/lib/Basic/DiagnosticIDs.cpp b/lib/Basic/DiagnosticIDs.cpp index 5334ae88d1..47798596cc 100644 --- a/lib/Basic/DiagnosticIDs.cpp +++ b/lib/Basic/DiagnosticIDs.cpp @@ -109,7 +109,7 @@ static const StaticDiagInfoRec *GetDiagInfo(unsigned DiagID) { // Out of bounds diag. Can't be in the table. using namespace diag; if (DiagID >= DIAG_UPPER_LIMIT || DiagID <= DIAG_START_COMMON) - return 0; + return nullptr; // Compute the index of the requested diagnostic in the static table. // 1. Add the number of diagnostics in each category preceding the @@ -139,7 +139,7 @@ CATEGORY(ANALYSIS, SEMA) // Avoid out of bounds reads. if (ID + Offset >= StaticDiagInfoSize) - return 0; + return nullptr; assert(ID < StaticDiagInfoSize && Offset < StaticDiagInfoSize); @@ -148,7 +148,7 @@ CATEGORY(ANALYSIS, SEMA) // happen when this function is called with an ID that points into a hole in // the diagID space. if (Found->DiagID != DiagID) - return 0; + return nullptr; return Found; } @@ -216,7 +216,7 @@ static const StaticDiagCategoryRec CategoryNameTable[] = { #define CATEGORY(X, ENUM) { X, STR_SIZE(X, uint8_t) }, #include "clang/Basic/DiagnosticGroups.inc" #undef GET_CATEGORY_TABLE - { 0, 0 } + { nullptr, 0 } }; /// getNumberOfCategories - Return the number of categories @@ -301,9 +301,7 @@ namespace clang { // Common Diagnostic implementation //===----------------------------------------------------------------------===// -DiagnosticIDs::DiagnosticIDs() { - CustomDiagInfo = 0; -} +DiagnosticIDs::DiagnosticIDs() { CustomDiagInfo = nullptr; } DiagnosticIDs::~DiagnosticIDs() { delete CustomDiagInfo; @@ -316,7 +314,7 @@ DiagnosticIDs::~DiagnosticIDs() { /// \param FormatString A fixed diagnostic format string that will be hashed and /// mapped to a unique DiagID. unsigned DiagnosticIDs::getCustomDiagID(Level L, StringRef FormatString) { - if (CustomDiagInfo == 0) + if (!CustomDiagInfo) CustomDiagInfo = new diag::CustomDiagInfo(); return CustomDiagInfo->getOrCreateDiagID(L, FormatString, *this); } diff --git a/lib/Basic/FileManager.cpp b/lib/Basic/FileManager.cpp index 5d7d9390d2..940fcaf417 100644 --- a/lib/Basic/FileManager.cpp +++ b/lib/Basic/FileManager.cpp @@ -70,7 +70,7 @@ FileManager::~FileManager() { void FileManager::addStatCache(FileSystemStatCache *statCache, bool AtBeginning) { assert(statCache && "No stat cache provided?"); - if (AtBeginning || StatCache.get() == 0) { + if (AtBeginning || !StatCache.get()) { statCache->setNextStatCache(StatCache.release()); StatCache.reset(statCache); return; @@ -103,7 +103,7 @@ void FileManager::removeStatCache(FileSystemStatCache *statCache) { } void FileManager::clearStatCaches() { - StatCache.reset(0); + StatCache.reset(nullptr); } /// \brief Retrieve the directory that the given file name resides in. @@ -112,10 +112,10 @@ static const DirectoryEntry *getDirectoryFromFile(FileManager &FileMgr, StringRef Filename, bool CacheFailure) { if (Filename.empty()) - return NULL; + return nullptr; if (llvm::sys::path::is_separator(Filename[Filename.size() - 1])) - return NULL; // If Filename is a directory. + return nullptr; // If Filename is a directory. StringRef DirName = llvm::sys::path::parent_path(Filename); // Use the current directory if file has no path component. @@ -179,8 +179,8 @@ const DirectoryEntry *FileManager::getDirectory(StringRef DirName, // See if there was already an entry in the map. Note that the map // contains both virtual and real directories. if (NamedDirEnt.getValue()) - return NamedDirEnt.getValue() == NON_EXISTENT_DIR - ? 0 : NamedDirEnt.getValue(); + return NamedDirEnt.getValue() == NON_EXISTENT_DIR ? nullptr + : NamedDirEnt.getValue(); ++NumDirCacheMisses; @@ -193,11 +193,11 @@ const DirectoryEntry *FileManager::getDirectory(StringRef DirName, // Check to see if the directory exists. FileData Data; - if (getStatValue(InterndDirName, Data, false, 0 /*directory lookup*/)) { + if (getStatValue(InterndDirName, Data, false, nullptr /*directory lookup*/)) { // There's no real directory at the given path. if (!CacheFailure) SeenDirEntries.erase(DirName); - return 0; + return nullptr; } // It exists. See if we have already opened a directory with the @@ -227,7 +227,7 @@ const FileEntry *FileManager::getFile(StringRef Filename, bool openFile, // See if there is already an entry in the map. if (NamedFileEnt.getValue()) return NamedFileEnt.getValue() == NON_EXISTENT_FILE - ? 0 : NamedFileEnt.getValue(); + ? nullptr : NamedFileEnt.getValue(); ++NumFileCacheMisses; @@ -245,25 +245,25 @@ const FileEntry *FileManager::getFile(StringRef Filename, bool openFile, // without a 'sys' subdir will get a cached failure result. const DirectoryEntry *DirInfo = getDirectoryFromFile(*this, Filename, CacheFailure); - if (DirInfo == 0) { // Directory doesn't exist, file can't exist. + if (DirInfo == nullptr) { // Directory doesn't exist, file can't exist. if (!CacheFailure) SeenFileEntries.erase(Filename); - - return 0; + + return nullptr; } // FIXME: Use the directory info to prune this, before doing the stat syscall. // FIXME: This will reduce the # syscalls. // Nope, there isn't. Check to see if the file exists. - vfs::File *F = 0; + vfs::File *F = nullptr; FileData Data; - if (getStatValue(InterndFileName, Data, true, openFile ? &F : 0)) { + if (getStatValue(InterndFileName, Data, true, openFile ? &F : nullptr)) { // There's no real file at the given path. if (!CacheFailure) SeenFileEntries.erase(Filename); - - return 0; + + return nullptr; } assert((openFile || !F) && "undesired open file"); @@ -314,7 +314,7 @@ FileManager::getVirtualFile(StringRef Filename, off_t Size, NamedFileEnt.setValue(NON_EXISTENT_FILE); addAncestorsAsVirtualDirs(Filename); - FileEntry *UFE = 0; + FileEntry *UFE = nullptr; // Now that all ancestors of Filename are in the cache, the // following call is guaranteed to find the DirectoryEntry from the @@ -327,7 +327,7 @@ FileManager::getVirtualFile(StringRef Filename, off_t Size, // Check to see if the file exists. If so, drop the virtual file FileData Data; const char *InterndFileName = NamedFileEnt.getKeyData(); - if (getStatValue(InterndFileName, Data, true, 0) == 0) { + if (getStatValue(InterndFileName, Data, true, nullptr) == 0) { Data.Size = Size; Data.ModTime = ModificationTime; UFE = &UniqueRealFiles[Data.UniqueID]; diff --git a/lib/Basic/FileSystemStatCache.cpp b/lib/Basic/FileSystemStatCache.cpp index 9d87999509..44ba48aa2f 100644 --- a/lib/Basic/FileSystemStatCache.cpp +++ b/lib/Basic/FileSystemStatCache.cpp @@ -96,7 +96,7 @@ bool FileSystemStatCache::get(const char *Path, FileData &Data, bool isFile, // fstat rarely fails. If it does, claim the initial open didn't // succeed. R = CacheMissing; - *F = 0; + *F = nullptr; } } } @@ -110,7 +110,7 @@ bool FileSystemStatCache::get(const char *Path, FileData &Data, bool isFile, // If not, close the file if opened. if (F && *F) { (*F)->close(); - *F = 0; + *F = nullptr; } return true; diff --git a/lib/Basic/IdentifierTable.cpp b/lib/Basic/IdentifierTable.cpp index 3b8aeec5b8..943d2060b2 100644 --- a/lib/Basic/IdentifierTable.cpp +++ b/lib/Basic/IdentifierTable.cpp @@ -42,8 +42,8 @@ IdentifierInfo::IdentifierInfo() { RevertedTokenID = false; OutOfDate = false; IsModulesImport = false; - FETokenInfo = 0; - Entry = 0; + FETokenInfo = nullptr; + Entry = nullptr; } //===----------------------------------------------------------------------===// @@ -527,7 +527,7 @@ Selector SelectorTable::getSelector(unsigned nKeys, IdentifierInfo **IIV) { llvm::FoldingSetNodeID ID; MultiKeywordSelector::Profile(ID, IIV, nKeys); - void *InsertPos = 0; + void *InsertPos = nullptr; if (MultiKeywordSelector *SI = SelTabImpl.Table.FindNodeOrInsertPos(ID, InsertPos)) return Selector(SI); @@ -555,7 +555,7 @@ const char *clang::getOperatorSpelling(OverloadedOperatorKind Operator) { switch (Operator) { case OO_None: case NUM_OVERLOADED_OPERATORS: - return 0; + return nullptr; #define OVERLOADED_OPERATOR(Name,Spelling,Token,Unary,Binary,MemberOnly) \ case OO_##Name: return Spelling; diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp index e75485dbd6..f689c733d9 100644 --- a/lib/Basic/Module.cpp +++ b/lib/Basic/Module.cpp @@ -27,10 +27,10 @@ using namespace clang; Module::Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent, const FileEntry *File, bool IsFramework, bool IsExplicit) : Name(Name), DefinitionLoc(DefinitionLoc), Parent(Parent), ModuleMap(File), - Umbrella(), ASTFile(0), IsMissingRequirement(false), IsAvailable(true), - IsFromModuleFile(false), IsFramework(IsFramework), IsExplicit(IsExplicit), - IsSystem(false), IsExternC(false), IsInferred(false), - InferSubmodules(false), InferExplicitSubmodules(false), + Umbrella(), ASTFile(nullptr), IsMissingRequirement(false), + IsAvailable(true), IsFromModuleFile(false), IsFramework(IsFramework), + IsExplicit(IsExplicit), IsSystem(false), IsExternC(false), + IsInferred(false), InferSubmodules(false), InferExplicitSubmodules(false), InferExportWildcard(false), ConfigMacrosExhaustive(false), NameVisibility(Hidden) { if (Parent) { @@ -192,8 +192,8 @@ void Module::markUnavailable(bool MissingRequirement) { Module *Module::findSubmodule(StringRef Name) const { llvm::StringMap::const_iterator Pos = SubModuleIndex.find(Name); if (Pos == SubModuleIndex.end()) - return 0; - + return nullptr; + return SubModules[Pos->getValue()]; } diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index c78c285e31..d2d556288d 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -89,7 +89,7 @@ const llvm::MemoryBuffer *ContentCache::getBuffer(DiagnosticsEngine &Diag, bool *Invalid) const { // Lazily create the Buffer for ContentCaches that wrap files. If we already // computed it, just return what we have. - if (Buffer.getPointer() || ContentsEntry == 0) { + if (Buffer.getPointer() || !ContentsEntry) { if (Invalid) *Invalid = isBufferInvalid(); @@ -163,7 +163,7 @@ const llvm::MemoryBuffer *ContentCache::getBuffer(DiagnosticsEngine &Diag, .StartsWith("\x0E\xFE\xFF", "SDSU") .StartsWith("\xFB\xEE\x28", "BOCU-1") .StartsWith("\x84\x31\x95\x33", "GB-18030") - .Default(0); + .Default(nullptr); if (InvalidBOM) { Diag.Report(Loc, diag::err_unsupported_bom) @@ -272,7 +272,7 @@ const LineEntry *LineTableInfo::FindNearestLineEntry(FileID FID, // Do a binary search to find the maximal element that is still before Offset. std::vector::const_iterator I = std::upper_bound(Entries.begin(), Entries.end(), Offset); - if (I == Entries.begin()) return 0; + if (I == Entries.begin()) return nullptr; return &*--I; } @@ -286,7 +286,7 @@ void LineTableInfo::AddEntry(FileID FID, /// getLineTableFilenameID - Return the uniqued ID for the specified filename. /// unsigned SourceManager::getLineTableFilenameID(StringRef Name) { - if (LineTable == 0) + if (!LineTable) LineTable = new LineTableInfo(); return LineTable->getLineTableFilenameID(Name); } @@ -309,7 +309,7 @@ void SourceManager::AddLineNote(SourceLocation Loc, unsigned LineNo, // Remember that this file has #line directives now if it doesn't already. const_cast(FileInfo).setHasLineDirectives(); - if (LineTable == 0) + if (!LineTable) LineTable = new LineTableInfo(); LineTable->AddLineNote(LocInfo.first, LocInfo.second, LineNo, FilenameID); } @@ -339,7 +339,7 @@ void SourceManager::AddLineNote(SourceLocation Loc, unsigned LineNo, // Remember that this file has #line directives now if it doesn't already. const_cast(FileInfo).setHasLineDirectives(); - if (LineTable == 0) + if (!LineTable) LineTable = new LineTableInfo(); SrcMgr::CharacteristicKind FileKind; @@ -361,7 +361,7 @@ void SourceManager::AddLineNote(SourceLocation Loc, unsigned LineNo, } LineTableInfo &SourceManager::getLineTable() { - if (LineTable == 0) + if (!LineTable) LineTable = new LineTableInfo(); return *LineTable; } @@ -374,9 +374,9 @@ SourceManager::SourceManager(DiagnosticsEngine &Diag, FileManager &FileMgr, bool UserFilesAreVolatile) : Diag(Diag), FileMgr(FileMgr), OverridenFilesKeepOriginalName(true), UserFilesAreVolatile(UserFilesAreVolatile), - ExternalSLocEntries(0), LineTable(0), NumLinearScans(0), - NumBinaryProbes(0), FakeBufferForRecovery(0), - FakeContentCacheForRecovery(0) { + ExternalSLocEntries(nullptr), LineTable(nullptr), NumLinearScans(0), + NumBinaryProbes(0), FakeBufferForRecovery(nullptr), + FakeContentCacheForRecovery(nullptr) { clearIDTables(); Diag.setSourceManager(this); } @@ -413,7 +413,7 @@ void SourceManager::clearIDTables() { LoadedSLocEntryTable.clear(); SLocEntryLoaded.clear(); LastLineNoFileIDQuery = FileID(); - LastLineNoContentCache = 0; + LastLineNoContentCache = nullptr; LastFileIDLookup = FileID(); if (LineTable) @@ -680,7 +680,7 @@ void SourceManager::disableFileContentsOverride(const FileEntry *File) { return; const SrcMgr::ContentCache *IR = getOrCreateContentCache(File); - const_cast(IR)->replaceBuffer(0); + const_cast(IR)->replaceBuffer(nullptr); const_cast(IR)->ContentsEntry = IR->OrigEntry; assert(OverriddenFilesInfo); @@ -1148,7 +1148,7 @@ unsigned SourceManager::getColumnNumber(FileID FID, unsigned FilePos, // See if we just calculated the line number for this FilePos and can use // that to lookup the start of the line instead of searching for it. if (LastLineNoFileIDQuery == FID && - LastLineNoContentCache->SourceLineCache != 0 && + LastLineNoContentCache->SourceLineCache != nullptr && LastLineNoResult < LastLineNoContentCache->NumLines) { unsigned *SourceLineCache = LastLineNoContentCache->SourceLineCache; unsigned LineStart = SourceLineCache[LastLineNoResult - 1]; @@ -1312,7 +1312,7 @@ unsigned SourceManager::getLineNumber(FileID FID, unsigned FilePos, // If this is the first use of line information for this buffer, compute the /// SourceLineCache for it on demand. - if (Content->SourceLineCache == 0) { + if (!Content->SourceLineCache) { bool MyInvalid = false; ComputeLineNumbers(Diag, Content, ContentCacheAlloc, *this, MyInvalid); if (Invalid) @@ -1696,7 +1696,8 @@ FileID SourceManager::translateFile(const FileEntry *SourceFile) const { if (SLoc.isFile()) { const ContentCache *FileContentCache = SLoc.getFile().getContentCache(); - const FileEntry *Entry =FileContentCache? FileContentCache->OrigEntry : 0; + const FileEntry *Entry = FileContentCache ? FileContentCache->OrigEntry + : nullptr; if (Entry && *SourceFileName == llvm::sys::path::filename(Entry->getName())) { if (Optional EntryUID = @@ -1748,7 +1749,7 @@ SourceLocation SourceManager::translateLineCol(FileID FID, // If this is the first use of line information for this buffer, compute the // SourceLineCache for it on demand. - if (Content->SourceLineCache == 0) { + if (!Content->SourceLineCache) { bool MyInvalid = false; ComputeLineNumbers(Diag, Content, ContentCacheAlloc, *this, MyInvalid); if (MyInvalid) @@ -2124,7 +2125,7 @@ void SourceManager::PrintStats() const { unsigned NumLineNumsComputed = 0; unsigned NumFileBytesMapped = 0; for (fileinfo_iterator I = fileinfo_begin(), E = fileinfo_end(); I != E; ++I){ - NumLineNumsComputed += I->second->SourceLineCache != 0; + NumLineNumsComputed += I->second->SourceLineCache != nullptr; NumFileBytesMapped += I->second->getSizeBytesMapped(); } unsigned NumMacroArgsComputed = MacroArgsCacheMap.size(); diff --git a/lib/Basic/TargetInfo.cpp b/lib/Basic/TargetInfo.cpp index 01eced2093..4d0664857d 100644 --- a/lib/Basic/TargetInfo.cpp +++ b/lib/Basic/TargetInfo.cpp @@ -69,7 +69,7 @@ TargetInfo::TargetInfo(const llvm::Triple &T) : TargetOpts(), Triple(T) { FloatFormat = &llvm::APFloat::IEEEsingle; DoubleFormat = &llvm::APFloat::IEEEdouble; LongDoubleFormat = &llvm::APFloat::IEEEdouble; - DescriptionString = 0; + DescriptionString = nullptr; UserLabelPrefix = "_"; MCountName = "mcount"; RegParmMax = 0; diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 0e47d328b7..84ecd71691 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1345,7 +1345,7 @@ namespace { void getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const override { // No aliases. - Aliases = 0; + Aliases = nullptr; NumAliases = 0; } bool validateAsmConstraint(const char *&Name, @@ -1472,13 +1472,13 @@ public: void getGCCRegNames(const char * const *&Names, unsigned &numNames) const override { - Names = NULL; + Names = nullptr; numNames = 0; } void getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const override { - Aliases = NULL; + Aliases = nullptr; NumAliases = 0; } @@ -1489,7 +1489,7 @@ public: void getTargetBuiltins(const Builtin::Info *&Records, unsigned &NumRecords) const override { - Records = NULL; + Records = nullptr; NumRecords = 0; } @@ -1818,7 +1818,7 @@ public: } void getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const override { - Aliases = 0; + Aliases = nullptr; NumAliases = 0; } void getGCCAddlRegNames(const AddlRegName *&Names, @@ -4092,7 +4092,7 @@ public: .Cases("cortex-m3", "cortex-m4", "7M") .Case("cortex-m0", "6M") .Cases("cortex-a53", "cortex-a57", "8A") - .Default(0); + .Default(nullptr); } static const char *getCPUProfile(StringRef Name) { return llvm::StringSwitch(Name) @@ -4895,7 +4895,7 @@ public: return llvm::StringSwitch(Name) .Case("hexagonv4", "4") .Case("hexagonv5", "5") - .Default(0); + .Default(nullptr); } bool setCPU(const std::string &Name) override { @@ -5227,7 +5227,7 @@ public: void getTargetBuiltins(const Builtin::Info *&Records, unsigned &NumRecords) const override { // FIXME: Implement. - Records = 0; + Records = nullptr; NumRecords = 0; } @@ -5236,7 +5236,7 @@ public: void getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const override { // No aliases. - Aliases = 0; + Aliases = nullptr; NumAliases = 0; } bool validateAsmConstraint(const char *&Name, @@ -5333,7 +5333,7 @@ namespace { void getTargetBuiltins(const Builtin::Info *&Records, unsigned &NumRecords) const override { // FIXME: Implement. - Records = 0; + Records = nullptr; NumRecords = 0; } bool hasFeature(StringRef Feature) const override { @@ -5344,7 +5344,7 @@ namespace { void getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const override { // No aliases. - Aliases = 0; + Aliases = nullptr; NumAliases = 0; } bool validateAsmConstraint(const char *&Name, @@ -6002,13 +6002,13 @@ public: void PNaClTargetInfo::getGCCRegNames(const char * const *&Names, unsigned &NumNames) const { - Names = NULL; + Names = nullptr; NumNames = 0; } void PNaClTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const { - Aliases = NULL; + Aliases = nullptr; NumAliases = 0; } } // end anonymous namespace. @@ -6142,7 +6142,7 @@ public: } void getGCCRegAliases(const GCCRegAlias *&Aliases, unsigned &NumAliases) const override { - Aliases = NULL; + Aliases = nullptr; NumAliases = 0; } bool validateAsmConstraint(const char *&Name, @@ -6173,7 +6173,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { switch (Triple.getArch()) { default: - return NULL; + return nullptr; case llvm::Triple::arm64: if (Triple.isOSDarwin()) @@ -6351,7 +6351,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { case llvm::Triple::NaCl: return new NaClTargetInfo(Triple); default: - return NULL; + return nullptr; } case llvm::Triple::ppc: @@ -6540,13 +6540,13 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { case llvm::Triple::spir: { if (Triple.getOS() != llvm::Triple::UnknownOS || Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) - return NULL; + return nullptr; return new SPIR32TargetInfo(Triple); } case llvm::Triple::spir64: { if (Triple.getOS() != llvm::Triple::UnknownOS || Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) - return NULL; + return nullptr; return new SPIR64TargetInfo(Triple); } } @@ -6562,26 +6562,26 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, std::unique_ptr Target(AllocateTarget(Triple)); if (!Target) { Diags.Report(diag::err_target_unknown_triple) << Triple.str(); - return 0; + return nullptr; } Target->setTargetOpts(Opts); // Set the target CPU if specified. if (!Opts->CPU.empty() && !Target->setCPU(Opts->CPU)) { Diags.Report(diag::err_target_unknown_cpu) << Opts->CPU; - return 0; + return nullptr; } // Set the target ABI if specified. if (!Opts->ABI.empty() && !Target->setABI(Opts->ABI)) { Diags.Report(diag::err_target_unknown_abi) << Opts->ABI; - return 0; + return nullptr; } // Set the fp math unit. if (!Opts->FPMath.empty() && !Target->setFPMath(Opts->FPMath)) { Diags.Report(diag::err_target_unknown_fpmath) << Opts->FPMath; - return 0; + return nullptr; } // Compute the default target features, we need the target to handle this @@ -6607,7 +6607,7 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, ie = Features.end(); it != ie; ++it) Opts->Features.push_back((it->second ? "+" : "-") + it->first().str()); if (!Target->handleTargetFeatures(Opts->Features, Diags)) - return 0; + return nullptr; return Target.release(); } diff --git a/lib/Basic/TokenKinds.cpp b/lib/Basic/TokenKinds.cpp index 92fc2a221d..3b1f8fe34b 100644 --- a/lib/Basic/TokenKinds.cpp +++ b/lib/Basic/TokenKinds.cpp @@ -19,14 +19,14 @@ static const char * const TokNames[] = { #define TOK(X) #X, #define KEYWORD(X,Y) #X, #include "clang/Basic/TokenKinds.def" - 0 + nullptr }; const char *tok::getTokenName(TokenKind Kind) { if (Kind < tok::NUM_TOKENS) return TokNames[Kind]; llvm_unreachable("unknown TokenKind"); - return 0; + return nullptr; } const char *tok::getPunctuatorSpelling(TokenKind Kind) { @@ -35,7 +35,7 @@ const char *tok::getPunctuatorSpelling(TokenKind Kind) { #include "clang/Basic/TokenKinds.def" default: break; } - return 0; + return nullptr; } const char *tok::getKeywordSpelling(TokenKind Kind) { @@ -44,5 +44,5 @@ const char *tok::getKeywordSpelling(TokenKind Kind) { #include "clang/Basic/TokenKinds.def" default: break; } - return 0; + return nullptr; } diff --git a/lib/Basic/VirtualFileSystem.cpp b/lib/Basic/VirtualFileSystem.cpp index 94a6c3dca6..fae6a35a92 100644 --- a/lib/Basic/VirtualFileSystem.cpp +++ b/lib/Basic/VirtualFileSystem.cpp @@ -473,7 +473,7 @@ class VFSFromYAMLParser { yaml::MappingNode *M = dyn_cast(N); if (!M) { error(N, "expected mapping node for file or directory entry"); - return NULL; + return nullptr; } KeyStatusPair Fields[] = { @@ -501,32 +501,32 @@ class VFSFromYAMLParser { // parsing value. SmallString<256> Buffer; if (!parseScalarString(I->getKey(), Key, Buffer)) - return NULL; + return nullptr; if (!checkDuplicateOrUnknownKey(I->getKey(), Key, Keys)) - return NULL; + return nullptr; StringRef Value; if (Key == "name") { if (!parseScalarString(I->getValue(), Value, Buffer)) - return NULL; + return nullptr; Name = Value; } else if (Key == "type") { if (!parseScalarString(I->getValue(), Value, Buffer)) - return NULL; + return nullptr; if (Value == "file") Kind = EK_File; else if (Value == "directory") Kind = EK_Directory; else { error(I->getValue(), "unknown value for 'type'"); - return NULL; + return nullptr; } } else if (Key == "contents") { if (HasContents) { error(I->getKey(), "entry already has 'contents' or 'external-contents'"); - return NULL; + return nullptr; } HasContents = true; yaml::SequenceNode *Contents = @@ -534,7 +534,7 @@ class VFSFromYAMLParser { if (!Contents) { // FIXME: this is only for directories, what about files? error(I->getValue(), "expected array"); - return NULL; + return nullptr; } for (yaml::SequenceNode::iterator I = Contents->begin(), @@ -543,22 +543,22 @@ class VFSFromYAMLParser { if (Entry *E = parseEntry(&*I)) EntryArrayContents.push_back(E); else - return NULL; + return nullptr; } } else if (Key == "external-contents") { if (HasContents) { error(I->getKey(), "entry already has 'contents' or 'external-contents'"); - return NULL; + return nullptr; } HasContents = true; if (!parseScalarString(I->getValue(), Value, Buffer)) - return NULL; + return nullptr; ExternalContentsPath = Value; } else if (Key == "use-external-name") { bool Val; if (!parseScalarBool(I->getValue(), Val)) - return NULL; + return nullptr; UseExternalName = Val ? FileEntry::NK_External : FileEntry::NK_Virtual; } else { llvm_unreachable("key missing from Keys"); @@ -566,20 +566,20 @@ class VFSFromYAMLParser { } if (Stream.failed()) - return NULL; + return nullptr; // check for missing keys if (!HasContents) { error(N, "missing key 'contents' or 'external-contents'"); - return NULL; + return nullptr; } if (!checkMissingKeys(N, Keys)) - return NULL; + return nullptr; // check invalid configuration if (Kind == EK_Directory && UseExternalName != FileEntry::NK_NotSet) { error(N, "'use-external-name' is not supported for directories"); - return NULL; + return nullptr; } // Remove trailing slash(es), being careful not to remove the root path @@ -591,7 +591,7 @@ class VFSFromYAMLParser { // Get the last component StringRef LastComponent = sys::path::filename(Trimmed); - Entry *Result = 0; + Entry *Result = nullptr; switch (Kind) { case EK_File: Result = new FileEntry(LastComponent, std::move(ExternalContentsPath), @@ -722,14 +722,14 @@ VFSFromYAML *VFSFromYAML::create(MemoryBuffer *Buffer, yaml::Node *Root = DI->getRoot(); if (DI == Stream.end() || !Root) { SM.PrintMessage(SMLoc(), SourceMgr::DK_Error, "expected root node"); - return NULL; + return nullptr; } VFSFromYAMLParser P(Stream); std::unique_ptr FS(new VFSFromYAML(ExternalFS)); if (!P.parse(Root, FS.get())) - return NULL; + return nullptr; return FS.release(); }