diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2013-08-09 01:52:03 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2013-08-09 01:52:03 +0000 |
commit | 1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2 (patch) | |
tree | f1b079448b190a896c4e474d663a9950cdb63b32 /tools/lto/LTOModule.cpp | |
parent | 623f2025a7a32de68a5ab402aa2b50ca3e3a6958 (diff) | |
download | external_llvm-1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2.zip external_llvm-1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2.tar.gz external_llvm-1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2.tar.bz2 |
[CodeGen] prevent abnormal on invalid attributes
Currently, when an invalid attribute is encountered on processing a .s file,
clang will abort due to llvm_unreachable. Invalid user input should not cause
an abnormal termination of the compiler. Change the interface to return a
boolean to indicate the failure as a first step towards improving hanlding of
malformed user input to clang.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188047 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto/LTOModule.cpp')
-rw-r--r-- | tools/lto/LTOModule.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp index e89733f..1812346 100644 --- a/tools/lto/LTOModule.cpp +++ b/tools/lto/LTOModule.cpp @@ -738,9 +738,10 @@ namespace { // FIXME: should we handle aliases? markDefined(*Symbol); } - virtual void EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) { + virtual bool EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) { if (Attribute == MCSA_Global) markGlobal(*Symbol); + return true; } virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol, uint64_t Size , unsigned ByteAlignment) { |