• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; Test if we detect duplicate names in a symbol table.
2
3; REQUIRES: no_minimal_build
4
5; RUN: not %pnacl_sz -bitcode-as-text -allow-externally-defined-symbols \
6; RUN:     %p/Inputs/fcn-value-index-isnt-defined.tbc \
7; RUN:     -bitcode-format=pnacl -notranslate -build-on-read 2>&1 \
8; RUN:   | FileCheck %s
9
10; CHECK: Value index {{.*}} not defined!
11
12; RUN: pnacl-bcfuzz -bitcode-as-text \
13; RUN:     %p/Inputs/fcn-value-index-isnt-defined.tbc -output - \
14; RUN:   | not pnacl-bcdis -no-records | FileCheck -check-prefix=ASM %s
15
16; ASM: module {  // BlockID = 8
17; ASM:   version 1;
18; ASM:   types {  // BlockID = 17
19; ASM:     count 4;
20; ASM:     @t0 = i32;
21; ASM:     @t1 = i32 ();
22; ASM:     @t2 = i8;
23; ASM:     @t3 = void;
24; ASM:   }
25; ASM:   define external i32 @f0();
26; ASM:   globals {  // BlockID = 19
27; ASM:     count 0;
28; ASM:   }
29; ASM:   valuesymtab {  // BlockID = 14
30; ASM:     @f0 : "f";
31; ASM:   }
32; ASM:   function i32 @f0() {  // BlockID = 12
33; ASM:     blocks 1;
34; ASM:     constants {  // BlockID = 11
35; ASM:       i32:
36; ASM:         %c0 = i32 1;
37; ASM:       }
38; ASM:   %b0:
39; ASM:     %v0 = alloca i8, i32 %c0, align 4;
40; ASM:     ret void %v1;
41; ASM: Error({{.*}}): Can't find type for %v1
42; ASM:   }
43; ASM: }
44