summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclPrinter.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2019-09-23 22:01:49 +0000
committerAdrian Prantl <aprantl@apple.com>2019-09-23 22:01:49 +0000
commitbf9c8ffb54943c6d77398adbedddf05ef9724007 (patch)
tree501d720e93a0927fb2146be78c5cf467c0e01b68 /clang/lib/AST/DeclPrinter.cpp
parent144276bfe43b088390ad11ba0c82cab9158e42e6 (diff)
downloadbcm5719-llvm-bf9c8ffb54943c6d77398adbedddf05ef9724007.tar.gz
bcm5719-llvm-bf9c8ffb54943c6d77398adbedddf05ef9724007.zip
Support for DWARF-5 C++ language tags.
This patch provides support for DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14 tags in the Clang C++ frontend. Patch by Sourabh Singh Tomar! Differential Revision: https://reviews.llvm.org/D67613 llvm-svn: 372663
Diffstat (limited to 'clang/lib/AST/DeclPrinter.cpp')
-rw-r--r--clang/lib/AST/DeclPrinter.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp
index f5c69944034..608b0b44072 100644
--- a/clang/lib/AST/DeclPrinter.cpp
+++ b/clang/lib/AST/DeclPrinter.cpp
@@ -1001,12 +1001,19 @@ void DeclPrinter::VisitCXXRecordDecl(CXXRecordDecl *D) {
void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl *D) {
const char *l;
- if (D->getLanguage() == LinkageSpecDecl::lang_c)
+ switch (D->getLanguage()) {
+ case LinkageSpecDecl::lang_c:
l = "C";
- else {
- assert(D->getLanguage() == LinkageSpecDecl::lang_cxx &&
- "unknown language in linkage specification");
+ break;
+ case LinkageSpecDecl::lang_cxx_14:
+ l = "C++14";
+ break;
+ case LinkageSpecDecl::lang_cxx_11:
+ l = "C++11";
+ break;
+ case LinkageSpecDecl::lang_cxx:
l = "C++";
+ break;
}
Out << "extern \"" << l << "\" ";
OpenPOWER on IntegriCloud