blob: 3177e250e1c314f8e4dfe79341db104bab32270e [file] [log] [blame]
/* { 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 "" } */
}