1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker!0 = !{!"zero"} 5*9880d681SAndroid Build Coastguard Worker!1 = !{!"one"} 6*9880d681SAndroid Build Coastguard Worker!2 = !{!"two"} 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker!foo = !{!0, !1, !2} 9*9880d681SAndroid Build Coastguard Worker; CHECK: !foo = !{!0, !1, !2} 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker!\23pragma = !{!0, !1, !2} 12*9880d681SAndroid Build Coastguard Worker; CHECK: !\23pragma = !{!0, !1, !2} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker; \31 is the digit '1'. On emission, we escape the first character (to avoid 15*9880d681SAndroid Build Coastguard Worker; conflicting with anonymous metadata), but not the subsequent ones. 16*9880d681SAndroid Build Coastguard Worker!\31\31\31 = !{!0, !1, !2} 17*9880d681SAndroid Build Coastguard Worker; CHECK: !\3111 = !{!0, !1, !2} 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker!\22name\22 = !{!0, !1, !2} 20*9880d681SAndroid Build Coastguard Worker; CHECK: !\22name\22 = !{!0, !1, !2} 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker; \x doesn't mean anything, so we parse it literally but escape the \ into \5C 23*9880d681SAndroid Build Coastguard Worker; when emitting it, followed by xfoo. 24*9880d681SAndroid Build Coastguard Worker!\xfoo = !{!0, !1, !2} 25*9880d681SAndroid Build Coastguard Worker; CHECK: !\5Cxfoo = !{!0, !1, !2} 26