Split this test case into three cases. globalredefinition.ll just tests
that a global can be forward referenced. globalredefinition2.ll tests
that llvm-upgrade will warn about renaming duplicate global variables.
globalredefinition3.ll tests that llvm-as will generate an error on
duplicate global variables. This last test is currently XFAIL because
the restriction is not implemented yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32910
91177308-0d34-0410-b5e6-
96231b3b80d8
; Test forward references and redefinitions of globals
-%Y = global void()* %X
-
%A = global int* %B
%B = global int 7
-%B = global int 7
-
declare void %X()
--- /dev/null
+; Test that redefinitions of globals produces an error in llvm-upgrade
+; RUN: llvm-upgrade < %s -o /dev/null -f 2>&1 | \
+; RUN: grep "Global variable '%B' was renamed to '"
+
+%B = global int 7
+%B = global int 7
--- /dev/null
+; When PR1067 is fixed, this should not be XFAIL any more.
+; RUN: llvm-as < %s -o /dev/null -f 2>&1 | \
+; RUN: grep 'Cannot redefine'
+; XFAIL: *
+
+; Test forward references and redefinitions of globals
+
+%B = global i32 7
+%B = global i32 7