mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-05-13 17:37:00 +00:00

This fixes a bug in clang where, when clang sees a switch with a fallthrough to a default like this: static void funcA(void) {} static void funcB(void) {} int main(int argc, char **argv) { switch (argc) { case 0: funcA(); break; case 10: default: funcB(); break; } } It does not add a proper debug location for that switch case, such as case 10: above. Patch by Shubham Rastogi! Differential Revision: https://reviews.llvm.org/D109940
18 lines
490 B
C
18 lines
490 B
C
// RUN: %clang_cc1 -triple x86_64-apple-macosx11.0.0 -debug-info-kind=standalone -emit-llvm %s -o - | FileCheck %s
|
|
// CHECK: ], !dbg !{{[0-9]+}}
|
|
// CHECK-EMPTY:
|
|
// CHECK-NEXT: {{.+}}
|
|
// CHECK-NEXT: br {{.+}}, !dbg !{{[0-9+]}}
|
|
// CHECK-EMPTY:
|
|
// CHECK-NEXT: {{.+}}
|
|
// CHECK-NEXT: br {{.+}}, !dbg ![[LOC:[0-9]+]]
|
|
void test(int num) {
|
|
switch (num) {
|
|
case 0:
|
|
break;
|
|
case 10: // CHECK: ![[LOC]] = !DILocation(line: [[@LINE]], column:{{.+}}, scope: {{.+}})
|
|
default:
|
|
break;
|
|
}
|
|
}
|