diff options
| author | Anton Bikineev <bikineev@google.com> | 2019-08-07 11:12:43 +0000 |
|---|---|---|
| committer | Anton Bikineev <bikineev@google.com> | 2019-08-07 11:12:43 +0000 |
| commit | 45f721ff059455239bdf54a23ede28ff8db94c14 (patch) | |
| tree | a44583232dc4d863734eaa7a28c84324201f7e3a /clang/unittests/AST | |
| parent | f2410017930651c2eabf62506c10f50986a561bc (diff) | |
| download | bcm5719-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.cpp | 13 |
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 |

