Hemant Kulkarni | 80f82fb | 2015-10-12 19:26:44 +0000 | [diff] [blame] | 1 | #Source: |
| 2 | ##include <stdio.h> |
Hemant Kulkarni | bdce12a | 2015-11-11 20:41:43 +0000 | [diff] [blame] | 3 | #static inline int inctwo (int *a) { |
Hemant Kulkarni | 80f82fb | 2015-10-12 19:26:44 +0000 | [diff] [blame] | 4 | # printf ("%d\n",(*a)++); |
| 5 | # return (*a)++; |
| 6 | #} |
Hemant Kulkarni | bdce12a | 2015-11-11 20:41:43 +0000 | [diff] [blame] | 7 | #static inline int inc (int *a) { |
| 8 | # printf ("%d\n",inctwo(a)); |
| 9 | # return (*a)++; |
| 10 | #} |
| 11 | # |
Hemant Kulkarni | 80f82fb | 2015-10-12 19:26:44 +0000 | [diff] [blame] | 12 | # |
| 13 | #int main () { |
| 14 | # int x = 1; |
| 15 | # return inc(&x); |
| 16 | #} |
Hemant Kulkarni | bdce12a | 2015-11-11 20:41:43 +0000 | [diff] [blame] | 17 | # |
Hemant Kulkarni | 80f82fb | 2015-10-12 19:26:44 +0000 | [diff] [blame] | 18 | #Build as : clang -g -O2 addr.c |
| 19 | |
Hemant Kulkarni | bdce12a | 2015-11-11 20:41:43 +0000 | [diff] [blame] | 20 | RUN: llvm-symbolizer -print-address -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s |
Dmitry Venikov | 5c1768f | 2019-01-14 10:10:51 +0000 | [diff] [blame] | 21 | RUN: llvm-symbolizer -addresses -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s |
| 22 | RUN: llvm-symbolizer -a -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s |
Dmitry Venikov | 60d71e4 | 2019-01-10 15:33:35 +0000 | [diff] [blame] | 23 | RUN: llvm-symbolizer -inlining -print-address -pretty-print -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
| 24 | RUN: llvm-symbolizer -inlining -print-address -p -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
Douglas Yung | 7876c0e | 2019-01-24 00:34:09 +0000 | [diff] [blame] | 25 | RUN: llvm-symbolizer -inlines -print-address -pretty-print -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
| 26 | RUN: llvm-symbolizer -inlines -print-address -p -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
| 27 | RUN: llvm-symbolizer -i -print-address -pretty-print -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
| 28 | RUN: llvm-symbolizer -i -print-address -p -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
Fangrui Song | 12cb400 | 2020-08-04 11:01:02 -0700 | [diff] [blame] | 29 | ## Before 2020-08-04, asan_symbolize.py passed --inlining=true. |
| 30 | ## Support this compatibility alias for a while. |
| 31 | RUN: llvm-symbolizer --inlining=true --print-address -p --obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix="PRETTY" %s |
| 32 | |
Adrian Prantl | bbe980d | 2018-04-23 16:08:01 +0000 | [diff] [blame] | 33 | RUN: echo "0x1" > %t.input |
David Blaikie | a67d164 | 2020-10-21 15:16:14 -0700 | [diff] [blame] | 34 | RUN: llvm-symbolizer -obj=%p/Inputs/zero < %t.input | FileCheck -check-prefix="ZERO" %s |
Hemant Kulkarni | 80f82fb | 2015-10-12 19:26:44 +0000 | [diff] [blame] | 35 | |
Igor Kudrin | 99f641c | 2019-04-19 10:17:52 +0000 | [diff] [blame] | 36 | RUN: llvm-addr2line -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefix=A2L %s |
| 37 | RUN: llvm-addr2line -a -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2L,A2L_A %s |
| 38 | RUN: llvm-addr2line -f -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2L,A2L_F %s |
| 39 | RUN: llvm-addr2line -i -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2L,A2L_I %s |
| 40 | RUN: llvm-addr2line -fi -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2L,A2L_F,A2L_I,A2L_FI %s |
| 41 | |
| 42 | RUN: llvm-addr2line -pa -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2LP,A2LP_A %s |
| 43 | RUN: llvm-addr2line -pf -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2LP,A2LP_F %s |
| 44 | RUN: llvm-addr2line -paf -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2LP,A2LP_AF %s |
| 45 | RUN: llvm-addr2line -pai -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2LP,A2LP_A,A2LP_I %s |
| 46 | RUN: llvm-addr2line -pfi -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2LP,A2LP_F,A2LP_FI %s |
| 47 | RUN: llvm-addr2line -pafi -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck -check-prefixes=A2LP,A2LP_AF,A2LP_FI %s |
| 48 | |
Xuanda Yang | dfeb873 | 2020-01-08 18:37:41 +0800 | [diff] [blame] | 49 | # CHECK: some text |
| 50 | # CHECK-NEXT: 0x40054d |
| 51 | # CHECK-NEXT: inctwo |
| 52 | # CHECK-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:3:3 |
| 53 | # CHECK-NEXT: inc |
| 54 | # CHECK-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:7:0 |
| 55 | # CHECK-NEXT: main |
| 56 | # CHECK-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:14:0 |
| 57 | # CHECK-EMPTY: |
| 58 | # CHECK-NEXT: some text2 |
Hemant Kulkarni | bdce12a | 2015-11-11 20:41:43 +0000 | [diff] [blame] | 59 | # |
Mike Aizatsky | 54a7c69 | 2016-01-07 23:57:41 +0000 | [diff] [blame] | 60 | #PRETTY: some text |
Hemant Kulkarni | bdce12a | 2015-11-11 20:41:43 +0000 | [diff] [blame] | 61 | #PRETTY: {{[0x]+}}40054d: inctwo at {{[/\]+}}tmp{{[/\]+}}x.c:3:3 |
| 62 | #PRETTY: (inlined by) inc at {{[/\]+}}tmp{{[/\]+}}x.c:7:0 |
Jonathan Roelofs | 7c5d2be | 2020-04-02 16:28:32 -0600 | [diff] [blame] | 63 | #PRETTY: (inlined by) main at {{[/\]+}}tmp{{[/\]+}}x.c:14:0 |
Mike Aizatsky | 54a7c69 | 2016-01-07 23:57:41 +0000 | [diff] [blame] | 64 | #PRETTY: some text2 |
Adrian Prantl | bbe980d | 2018-04-23 16:08:01 +0000 | [diff] [blame] | 65 | # |
| 66 | #ZERO: ?? |
| 67 | #ZERO: ??:0:0 |
Igor Kudrin | 99f641c | 2019-04-19 10:17:52 +0000 | [diff] [blame] | 68 | # |
| 69 | #A2L: some text |
| 70 | #A2L_A-NEXT: 0x40054d |
| 71 | #A2L_F-NEXT: inctwo |
| 72 | #A2L-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}} |
| 73 | #A2L_FI-NEXT: inc{{$}} |
| 74 | #A2L_I-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:7{{$}} |
| 75 | #A2L_FI-NEXT: main |
| 76 | #A2L_I-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:14{{$}} |
| 77 | #A2L-NEXT: some text2 |
| 78 | |
| 79 | #A2LP: some text |
| 80 | #A2LP_A-NEXT: 0x40054d: {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}} |
| 81 | #A2LP_F-NEXT: inctwo at {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}} |
| 82 | #A2LP_AF-NEXT: 0x40054d: inctwo at {{[/\]+}}tmp{{[/\]+}}x.c:3{{$}} |
| 83 | #A2LP_I-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:7{{$}} |
| 84 | #A2LP_I-NEXT: {{[/\]+}}tmp{{[/\]+}}x.c:14{{$}} |
| 85 | #A2LP_FI-NEXT: (inlined by) inc at {{[/\]+}}tmp{{[/\]+}}x.c:7{{$}} |
| 86 | #A2LP_FI-NEXT: (inlined by) main at {{[/\]+}}tmp{{[/\]+}}x.c:14{{$}} |
| 87 | #A2LP-NEXT: some text2 |