| /* { dg-options "-fdiagnostics-show-caret" } */ | |
| /* Verify that the C/C++ frontends show the pertinent opening symbol when | |
| a closing symbol is missing for a function call. */ | |
| /* Verify that, when they are on the same line, that the opening symbol is | |
| shown as a secondary range within the main diagnostic. */ | |
| extern int __attribute__((const)) foo (int a, int b, int c); | |
| void single_func () | |
| { | |
| int single = | |
| foo (1, (1 + 2), (1 + 2 + 3):); /* { dg-error "expected '\\)' before ':' token" } */ | |
| /* { dg-begin-multiline-output "" } | |
| foo (1, (1 + 2), (1 + 2 + 3):); | |
| ~ ^ | |
| ) | |
| { dg-end-multiline-output "" } */ | |
| } | |
| /* Verify that, when they are on different lines, that the opening symbol is | |
| shown via a secondary diagnostic. */ | |
| void multi_func () | |
| { | |
| int multi = | |
| foo (1, /* { dg-message "to match this '\\('" } */ | |
| (1 + 2), | |
| (1 + 2 + 3):); /* { dg-error "expected '\\)' before ':' token" } */ | |
| /* { dg-begin-multiline-output "" } | |
| (1 + 2 + 3):); | |
| ^ | |
| ) | |
| { dg-end-multiline-output "" } */ | |
| /* { dg-begin-multiline-output "" } | |
| foo (1, | |
| ^ | |
| { dg-end-multiline-output "" } */ | |
| } |