summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-05-28 08:20:36 +0000
committerJohn McCall <rjmccall@apple.com>2010-05-28 08:20:36 +0000
commit2177a9b65a637e2c978e90f467c2d6fe07ac920e (patch)
treeb9e7b68f07d66cccb0282f0823fde8b656b64b1a /clang/lib/Frontend
parent08bede4c7b26416572dd49d1d8b60f62ba38b49e (diff)
downloadbcm5719-llvm-2177a9b65a637e2c978e90f467c2d6fe07ac920e.tar.gz
bcm5719-llvm-2177a9b65a637e2c978e90f467c2d6fe07ac920e.zip
Add a new attribute on records, __attribute__((adl_invisible)), and define
the x86-64 __va_list_tag with this attribute. The attribute causes the affected type to behave like a fundamental type when considered by ADL. (x86-64 is the only target we currently provide with a struct-based __builtin_va_list) Fixes PR6762. llvm-svn: 104941
Diffstat (limited to 'clang/lib/Frontend')
-rw-r--r--clang/lib/Frontend/PCHReaderDecl.cpp1
-rw-r--r--clang/lib/Frontend/PCHWriterDecl.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Frontend/PCHReaderDecl.cpp b/clang/lib/Frontend/PCHReaderDecl.cpp
index 1ef0441ebf6..8af146d676c 100644
--- a/clang/lib/Frontend/PCHReaderDecl.cpp
+++ b/clang/lib/Frontend/PCHReaderDecl.cpp
@@ -171,6 +171,7 @@ void PCHDeclReader::VisitRecordDecl(RecordDecl *RD) {
RD->setHasFlexibleArrayMember(Record[Idx++]);
RD->setAnonymousStructOrUnion(Record[Idx++]);
RD->setHasObjectMember(Record[Idx++]);
+ RD->setInvisibleToADL(Record[Idx++]);
}
void PCHDeclReader::VisitValueDecl(ValueDecl *VD) {
diff --git a/clang/lib/Frontend/PCHWriterDecl.cpp b/clang/lib/Frontend/PCHWriterDecl.cpp
index cc58e8ee465..0ce7d8fcae5 100644
--- a/clang/lib/Frontend/PCHWriterDecl.cpp
+++ b/clang/lib/Frontend/PCHWriterDecl.cpp
@@ -169,6 +169,7 @@ void PCHDeclWriter::VisitRecordDecl(RecordDecl *D) {
Record.push_back(D->hasFlexibleArrayMember());
Record.push_back(D->isAnonymousStructOrUnion());
Record.push_back(D->hasObjectMember());
+ Record.push_back(D->isInvisibleToADL());
Code = pch::DECL_RECORD;
}
OpenPOWER on IntegriCloud