1 #static volatile int do_mul;
2 #static volatile int x, v;
5 # if (do_mul) x *= v; else x /= v;
10 # return foo() + foo();
12 #Build as : clang -gmlt -fdebug-info-for-profiling -O2 discrim.c -o discrim
14 RUN: llvm-symbolizer -verbose -print-address -obj=%p/Inputs/discrim < %p/Inputs/discrim.inp | FileCheck %s
20 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
21 #CHECK-NEXT: Function start line: 4
23 #CHECK-NEXT: Column: 7
25 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
26 #CHECK-NEXT: Function start line: 9
28 #CHECK-NEXT: Column: 0
32 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
33 #CHECK-NEXT: Function start line: 4
35 #CHECK-NEXT: Column: 17
36 #CHECK-NEXT: Discriminator: 2
38 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
39 #CHECK-NEXT: Function start line: 9
41 #CHECK-NEXT: Column: 0
45 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
46 #CHECK-NEXT: Function start line: 4
48 #CHECK-NEXT: Column: 30
49 #CHECK-NEXT: Discriminator: 4
51 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
52 #CHECK-NEXT: Function start line: 9
54 #CHECK-NEXT: Column: 0
58 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
59 #CHECK-NEXT: Function start line: 4
61 #CHECK-NEXT: Column: 7
63 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
64 #CHECK-NEXT: Function start line: 9
66 #CHECK-NEXT: Column: 0
67 #CHECK-NEXT: Discriminator: 2
71 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
72 #CHECK-NEXT: Function start line: 4
74 #CHECK-NEXT: Column: 17
75 #CHECK-NEXT: Discriminator: 2
77 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
78 #CHECK-NEXT: Function start line: 9
80 #CHECK-NEXT: Column: 0
81 #CHECK-NEXT: Discriminator: 2
85 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
86 #CHECK-NEXT: Function start line: 4
88 #CHECK-NEXT: Column: 30
89 #CHECK-NEXT: Discriminator: 4
91 #CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c
92 #CHECK-NEXT: Function start line: 9
94 #CHECK-NEXT: Column: 0
95 #CHECK-NEXT: Discriminator: 2
97 #CHECK: some more text