| 1 | // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -debug-info-kind=limited %s -o - | FileCheck %s |
| 2 | // self and _cmd are marked as DW_AT_artificial. |
| 3 | // myarg is not marked as DW_AT_artificial. |
| 4 | |
| 5 | @interface MyClass { |
| 6 | } |
| 7 | - (id)init:(int) myarg; |
| 8 | @end |
| 9 | |
| 10 | @implementation MyClass |
| 11 | - (id) init:(int) myarg |
| 12 | { |
| 13 | return self; |
| 14 | } |
| 15 | @end |
| 16 | |
| 17 | // CHECK: !DILocalVariable(name: "self", arg: 1, |
| 18 | // CHECK-SAME: scope: ![[CTOR:[0-9]+]] |
| 19 | // CHECK-NOT: line: |
| 20 | // CHECK-SAME: flags: DIFlagArtificial | DIFlagObjectPointer{{[,)]}} |
| 21 | // CHECK: !DILocalVariable(name: "_cmd", arg: 2, |
| 22 | // CHECK-SAME: scope: ![[CTOR]] |
| 23 | // CHECK-NOT: line: |
| 24 | // CHECK-SAME: flags: DIFlagArtificial{{[,)]}} |
| 25 | // CHECK: !DILocalVariable(name: "myarg", arg: 3, |
| 26 | // CHECK-SAME: scope: ![[CTOR]] |
| 27 | // CHECK-SAME: line: 11 |
| 28 | // CHECK-NOT: flags: |
| 29 | // CHECK-SAME: ){{$}} |
| 30 | |