llvm-capstone/clang/test/Misc/diag-func-call-ranges.c
Takuya Shimizu 409a8097c5 [clang][Diagnostics] Provide parameter source range to arity-mismatch notes
Consider the following piece of code:
```
void func( int aa,
           int bb,
           int cc) {}

void arity_mismatch() {
  func(2, 4);
}
```
BEFORE:
```
source.cpp:6:3: error: no matching function for call to 'func'
    6 |   func(2, 4);
      |   ^~~~
source.cpp:1:6: note: candidate function not viable: requires 3 arguments, but 2 were provided
    1 | void func( int aa,
      |      ^
```
AFTER:
```
source.cpp:6:3: error: no matching function for call to 'func'
    6 |   func(2, 4);
      |   ^~~~
source.cpp:1:6: note: candidate function not viable: requires 3 arguments, but 2 were provided
    1 | void func( int aa,
      |      ^     ~~~~~~~
    2 |            int bb,
      |            ~~~~~~~
    3 |            int cc) {}
      |            ~~~~~~
```

Reviewed By: cjdb, aaron.ballman

Differential Revision: https://reviews.llvm.org/D153267
2023-06-26 00:27:15 +09:00

12 lines
437 B
C

// RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-print-source-range-info %s 2>&1 | FileCheck %s --strict-whitespace
// CHECK: :{9:3-9:7}: error: too few arguments
// CHECK: :{7:12-7:26}: note: 'func' declared here
// CHECK: :{10:3-10:7}{10:13-10:17}: error: too many arguments
// CHECK: :{7:12-7:26}: note: 'func' declared here
void func( int aa, int bb) {}
void arity_mismatch() {
func(3);
func(3, 4,5, 6);
}