aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-04-28 12:14:47 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-04-28 12:14:47 +0000
commit5556a5cf3b743992d13a5a2429749e88d5e73c8d (patch)
tree55f762b5bbb46276e2fab8238f9c30cdfc1731e8 /clang/lib/CodeGen/CodeGenModule.h
parent801d9b0cc4dca8a5ce190ac51b0c412263e95d95 (diff)
downloadllvm-5556a5cf3b743992d13a5a2429749e88d5e73c8d.zip
llvm-5556a5cf3b743992d13a5a2429749e88d5e73c8d.tar.gz
llvm-5556a5cf3b743992d13a5a2429749e88d5e73c8d.tar.bz2
Revert r267784, r267824 and r267830.
It makes compiler-rt tests fail if the gold plugin is enabled. Revert "Rework interface for bitset-using features to use a notion of LTO visibility." Revert "Driver: only produce CFI -fvisibility= error when compiling." Revert "clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be non-cfi." llvm-svn: 267871
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index a75e4aa..34d1111 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -490,6 +490,8 @@ private:
/// MDNodes.
llvm::DenseMap<QualType, llvm::Metadata *> MetadataIdMap;
+ SanitizerBlacklist WholeProgramVTablesBlacklist;
+
public:
CodeGenModule(ASTContext &C, const HeaderSearchOptions &headersearchopts,
const PreprocessorOptions &ppopts,
@@ -1113,10 +1115,12 @@ public:
void EmitOMPDeclareReduction(const OMPDeclareReductionDecl *D,
CodeGenFunction *CGF = nullptr);
- /// Returns whether the given record has hidden LTO visibility and therefore
- /// may participate in (single-module) CFI and whole-program vtable
- /// optimization.
- bool HasHiddenLTOVisibility(const CXXRecordDecl *RD);
+ /// Returns whether we need bit sets attached to vtables.
+ bool NeedVTableBitSets();
+
+ /// Returns whether the given record is blacklisted from whole-program
+ /// transformations (i.e. CFI or whole-program vtable optimization).
+ bool IsBitSetBlacklistedRecord(const CXXRecordDecl *RD);
/// Emit bit set entries for the given vtable using the given layout if
/// vptr CFI is enabled.