if (CurrentFnSym->isVariable())
report_fatal_error("'" + Twine(CurrentFnSym->getName()) +
"' is a protected alias");
- if (CurrentFnSym->isDefined())
- report_fatal_error("'" + Twine(CurrentFnSym->getName()) +
- "' label emitted multiple times to assembly file");
OutStreamer->emitLabel(CurrentFnSym);
Symbol->redefineIfPossible();
if (!Symbol->isUndefined() || Symbol->isVariable())
- return getContext().reportError(Loc, "invalid symbol redefinition");
+ return getContext().reportError(Loc, "symbol '" + Twine(Symbol->getName()) +
+ "' is already defined");
assert(!Symbol->isVariable() && "Cannot emit a variable symbol!");
assert(getCurrentSectionOnly() && "Cannot emit before setting section!");
@var = global i32 0
; CHECK: <unknown>:0: error: symbol 'var' is already defined
-; CHECK: <unknown>:0: error: invalid symbol redefinition
+; CHECK: <unknown>:0: error: symbol 'var' is already defined
; PR7054
-; RUN: not --crash llc %s -o - 2>&1 | grep "'_foo' label emitted multiple times to assembly"
+; RUN: not llc %s -o - 2>&1 | FileCheck %s
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32"
target triple = "i386-apple-darwin10.0.0"
unreachable
}
+; CHECK: <unknown>:0: error: symbol '_foo' is already defined
define i32 @foo() {
entry:
unreachable
--- /dev/null
+; RUN: not llc -mtriple=x86_64-unknown-unknown %s -o - 2>&1 | FileCheck %s
+
+; CHECK: <unknown>:0: error: symbol 'fn' is already defined
+define void @fn() section "fn" {
+ ret void
+}
+
+; CHECK: <unknown>:0: error: symbol 'var' is already defined
+@var = global i32 0, section "var", align 4
ret void
}
-; CHECK: <unknown>:0: error: invalid symbol redefinition
+; CHECK: <unknown>:0: error: symbol '.dp.bss' is already defined
.section foo
foo:
-// CHECK: error: invalid symbol redefinition
+// CHECK: error: symbol 'foo' is already defined