summaryrefslogtreecommitdiffstats
path: root/clang/unittests/AST
diff options
context:
space:
mode:
authorAnton Bikineev <bikineev@google.com>2019-08-07 11:12:43 +0000
committerAnton Bikineev <bikineev@google.com>2019-08-07 11:12:43 +0000
commit45f721ff059455239bdf54a23ede28ff8db94c14 (patch)
treea44583232dc4d863734eaa7a28c84324201f7e3a /clang/unittests/AST
parentf2410017930651c2eabf62506c10f50986a561bc (diff)
downloadbcm5719-llvm-45f721ff059455239bdf54a23ede28ff8db94c14.tar.gz
bcm5719-llvm-45f721ff059455239bdf54a23ede28ff8db94c14.zip
[clang] Fix mismatched args constructing AddressSpaceAttr.
Differential Revision: https://reviews.llvm.org/D65589 llvm-svn: 368152
Diffstat (limited to 'clang/unittests/AST')
-rw-r--r--clang/unittests/AST/ASTTraverserTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/unittests/AST/ASTTraverserTest.cpp b/clang/unittests/AST/ASTTraverserTest.cpp
index cddb219a79f..69812cb8d21 100644
--- a/clang/unittests/AST/ASTTraverserTest.cpp
+++ b/clang/unittests/AST/ASTTraverserTest.cpp
@@ -139,6 +139,8 @@ struct templ<int>
{
};
+void parmvardecl_attr(struct A __attribute__((address_space(19)))*);
+
)cpp");
const FunctionDecl *Func = getFunctionNode(AST.get(), "func");
@@ -220,5 +222,16 @@ FullComment
R"cpp(
TemplateArgument
)cpp");
+
+ Func = getFunctionNode(AST.get(), "parmvardecl_attr");
+
+ const auto *Parm = Func->getParamDecl(0);
+ const auto TL = Parm->getTypeSourceInfo()->getTypeLoc();
+ ASSERT_TRUE(TL.getType()->isPointerType());
+
+ const auto ATL = TL.getNextTypeLoc().getAs<AttributedTypeLoc>();
+ const auto *AS = cast<AddressSpaceAttr>(ATL.getAttr());
+ EXPECT_EQ(toTargetAddressSpace(static_cast<LangAS>(AS->getAddressSpace())),
+ 19u);
}
} // namespace clang
OpenPOWER on IntegriCloud