From 4996bf487a8954a33dee629c5a80ed0881030f53 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Fri, 7 Oct 2016 21:41:00 +0000 Subject: [PATCH] Driver: use StringRef instead of raw pointer in lookupTypeForExtension() (NFC) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283611 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Driver/ToolChain.h | 2 +- include/clang/Driver/Types.h | 5 ++++- lib/Driver/ToolChain.cpp | 2 +- lib/Driver/ToolChains.cpp | 2 +- lib/Driver/ToolChains.h | 2 +- lib/Driver/Types.cpp | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/clang/Driver/ToolChain.h b/include/clang/Driver/ToolChain.h index 9365bf4d79..073a0a2aae 100644 --- a/include/clang/Driver/ToolChain.h +++ b/include/clang/Driver/ToolChain.h @@ -233,7 +233,7 @@ public: /// LookupTypeForExtension - Return the default language type to use for the /// given extension. - virtual types::ID LookupTypeForExtension(const char *Ext) const; + virtual types::ID LookupTypeForExtension(StringRef Ext) const; /// IsBlocksDefault - Does this tool chain enable -fblocks by default. virtual bool IsBlocksDefault() const { return false; } diff --git a/include/clang/Driver/Types.h b/include/clang/Driver/Types.h index 75780e7e1a..ff8c00493f 100644 --- a/include/clang/Driver/Types.h +++ b/include/clang/Driver/Types.h @@ -13,6 +13,9 @@ #include "clang/Driver/Phases.h" #include "llvm/ADT/SmallVector.h" +namespace llvm { +class StringRef; +} namespace clang { namespace driver { namespace types { @@ -79,7 +82,7 @@ namespace types { /// lookupTypeForExtension - Lookup the type to use for the file /// extension \p Ext. - ID lookupTypeForExtension(const char *Ext); + ID lookupTypeForExtension(llvm::StringRef Ext); /// lookupTypeForTypSpecifier - Lookup the type to use for a user /// specified type name. diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index 863bd0a164..9023265965 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -370,7 +370,7 @@ std::string ToolChain::GetLinkerPath() const { return GetProgramPath(DefaultLinker); } -types::ID ToolChain::LookupTypeForExtension(const char *Ext) const { +types::ID ToolChain::LookupTypeForExtension(StringRef Ext) const { return types::lookupTypeForExtension(Ext); } diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 6f55a3b593..28233ba1b8 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -54,7 +54,7 @@ MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) Darwin::Darwin(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) : MachO(D, Triple, Args), TargetInitialized(false) {} -types::ID MachO::LookupTypeForExtension(const char *Ext) const { +types::ID MachO::LookupTypeForExtension(StringRef Ext) const { types::ID Ty = types::lookupTypeForExtension(Ext); // Darwin always preprocesses assembly files (unless -x is used explicitly). diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index 6a86b7db83..36773b2181 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -312,7 +312,7 @@ public: /// @name ToolChain Implementation /// { - types::ID LookupTypeForExtension(const char *Ext) const override; + types::ID LookupTypeForExtension(StringRef Ext) const override; bool HasNativeLLVMSupport() const override; diff --git a/lib/Driver/Types.cpp b/lib/Driver/Types.cpp index d4568295dc..f324cec591 100644 --- a/lib/Driver/Types.cpp +++ b/lib/Driver/Types.cpp @@ -170,7 +170,7 @@ bool types::isCuda(ID Id) { } } -types::ID types::lookupTypeForExtension(const char *Ext) { +types::ID types::lookupTypeForExtension(llvm::StringRef Ext) { return llvm::StringSwitch(Ext) .Case("c", TY_C) .Case("C", TY_CXX) -- 2.40.0