diff options
author | Diego Astiazaran <diegoaat97@gmail.com> | 2019-08-15 23:04:27 +0000 |
---|---|---|
committer | Diego Astiazaran <diegoaat97@gmail.com> | 2019-08-15 23:04:27 +0000 |
commit | 6a29ae4bde963b4f271bd9c0dfb0edd4c0de893c (patch) | |
tree | 01dc5ba80a5a4769e609e483c9f45aff436bc53c /clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp | |
parent | 75344955fcd43b67cedec8d5b29ad3419b5aaa81 (diff) | |
download | bcm5719-llvm-6a29ae4bde963b4f271bd9c0dfb0edd4c0de893c.tar.gz bcm5719-llvm-6a29ae4bde963b4f271bd9c0dfb0edd4c0de893c.zip |
[clang-doc] Fix bitcode writer for access specifiers
Bitcode writer was not emitting the corresponding record for the Access attribute of a FunctionInfo. This has been added.
AS_none was being used as the default value for any AcesssSpecifier attribute
(in FunctionInfo and MemberTypeInfo), this has been changed to AS_public
because this is the enum value that evaluates to 0.
The bitcode writer doesn't write values that are 0 so if an attribute
was set to AS_public, this value is not written and after reading the
bitcode it would have the default value which is AS_none. This is why
the default value is now AS_public.
Differential Revision: https://reviews.llvm.org/D66151
llvm-svn: 369063
Diffstat (limited to 'clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp')
-rw-r--r-- | clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp b/clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp index 020d7dc0608..ed75d994d9b 100644 --- a/clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp +++ b/clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp @@ -106,6 +106,8 @@ TEST(BitcodeTest, emitFunctionInfoBitcode) { I.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default); I.Params.emplace_back("int", "P"); + I.Access = AccessSpecifier::AS_none; + std::string WriteResult = writeInfo(&I); EXPECT_TRUE(WriteResult.size() > 0); std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1); @@ -126,8 +128,7 @@ TEST(BitcodeTest, emitMethodInfoBitcode) { I.IsMethod = true; I.Parent = Reference(EmptySID, "Parent", InfoType::IT_record); - // TODO: fix access - // I.Access = AccessSpecifier::AS_private; + I.Access = AccessSpecifier::AS_public; std::string WriteResult = writeInfo(&I); EXPECT_TRUE(WriteResult.size() > 0); |