1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Verifier: Forbid comdats on linker declarations.

Differential Revision: http://reviews.llvm.org/D10945

llvm-svn: 241414
This commit is contained in:
Peter Collingbourne 2015-07-05 20:52:40 +00:00
parent f49ef7d3ac
commit 81c161f9de
3 changed files with 13 additions and 0 deletions

View File

@ -438,6 +438,9 @@ void Verifier::visitGlobalValue(const GlobalValue &GV) {
Assert(GVar && GVar->getValueType()->isArrayTy(),
"Only global arrays can have appending linkage!", GVar);
}
if (GV.isDeclarationForLinker())
Assert(!GV.hasComdat(), "Declaration may not be in a Comdat!", &GV);
}
void Verifier::visitGlobalVariable(const GlobalVariable &GV) {

View File

@ -0,0 +1,5 @@
; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
$v = comdat any
@v = available_externally global i32 0, comdat
; CHECK: Declaration may not be in a Comdat!

View File

@ -0,0 +1,5 @@
; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
$v = comdat any
@v = external global i32, comdat
; CHECK: Declaration may not be in a Comdat!