diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-05 22:42:53 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-05 22:42:53 +0000 |
commit | efa31a9831951de6222b65594f3c48bd36d28f9f (patch) | |
tree | 988f053661234feec25fd3bc4b659ded1a7add98 /llvm/lib | |
parent | 2f7711242a53dbe44ad2a0d85a8ccf62aa1929ca (diff) | |
download | bcm5719-llvm-efa31a9831951de6222b65594f3c48bd36d28f9f.tar.gz bcm5719-llvm-efa31a9831951de6222b65594f3c48bd36d28f9f.zip |
AsmParser: add a warning for compatibility parsing
This adds a warning when linker_private or linker_private_weak is provided and
we handle it in a compatible manner.
Suggested by Chris Lattner!
llvm-svn: 205681
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/AsmParser/LLLexer.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/AsmParser/LLLexer.h | 4 | ||||
-rw-r--r-- | llvm/lib/AsmParser/LLParser.cpp | 2 |
3 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp index 4fec7e60fa6..c717a53f3a9 100644 --- a/llvm/lib/AsmParser/LLLexer.cpp +++ b/llvm/lib/AsmParser/LLLexer.cpp @@ -34,6 +34,10 @@ bool LLLexer::Error(LocTy ErrorLoc, const Twine &Msg) const { return true; } +void LLLexer::Warning(LocTy WarningLoc, const Twine &Msg) const { + SM.PrintMessage(WarningLoc, SourceMgr::DK_Warning, Msg); +} + //===----------------------------------------------------------------------===// // Helper functions. //===----------------------------------------------------------------------===// diff --git a/llvm/lib/AsmParser/LLLexer.h b/llvm/lib/AsmParser/LLLexer.h index 85703c766b0..ad11d49b259 100644 --- a/llvm/lib/AsmParser/LLLexer.h +++ b/llvm/lib/AsmParser/LLLexer.h @@ -63,6 +63,10 @@ namespace llvm { bool Error(LocTy L, const Twine &Msg) const; bool Error(const Twine &Msg) const { return Error(getLoc(), Msg); } + + void Warning(LocTy WarningLoc, const Twine &Msg) const; + void Warning(const Twine &Msg) const { return Warning(getLoc(), Msg); } + std::string getFilename() const; private: diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index b53b4ce7c0e..b5c7f16ea2b 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -1312,6 +1312,8 @@ bool LLParser::ParseOptionalLinkage(unsigned &Res, bool &HasLinkage) { case lltok::kw_linker_private: case lltok::kw_linker_private_weak: + Lex.Warning("'" + Lex.getStrVal() + "' is deprecated, treating as" + " PrivateLinkage"); Lex.Lex(); // treat linker_private and linker_private_weak as PrivateLinkage Res = GlobalValue::PrivateLinkage; |