summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-04-05 22:42:53 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-04-05 22:42:53 +0000
commitefa31a9831951de6222b65594f3c48bd36d28f9f (patch)
tree988f053661234feec25fd3bc4b659ded1a7add98 /llvm/lib
parent2f7711242a53dbe44ad2a0d85a8ccf62aa1929ca (diff)
downloadbcm5719-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.cpp4
-rw-r--r--llvm/lib/AsmParser/LLLexer.h4
-rw-r--r--llvm/lib/AsmParser/LLParser.cpp2
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;
OpenPOWER on IntegriCloud