1 // { dg-options "-fdiagnostics-show-caret" }
2 
3 // Adapted from https://gcc.gnu.org/wiki/ClangDiagnosticsComparison
4 
5 typedef float __m128;
test_1()6 void test_1 ()
7 {
8   __m128 myvec[2];
9   int const *ptr;
10   myvec[1] / ptr; // { dg-error "invalid operands" }
11 
12 /* { dg-begin-multiline-output "" }
13    myvec[1] / ptr;
14    ~~~~~~~~~^~~~~
15    { dg-end-multiline-output "" } */
16 }
17 
18 struct s {};
19 struct t {};
20 extern struct s some_function (void);
21 extern struct t some_other_function (void);
22 
test_2(void)23 int test_2 (void)
24 {
25   return (some_function ()
26 	  + some_other_function ()); // { dg-error "no match for .operator" }
27 
28 /* { dg-begin-multiline-output "" }
29    return (some_function ()
30            ~~~~~~~~~~~~~~~~
31     + some_other_function ());
32     ^~~~~~~~~~~~~~~~~~~~~~~~
33    { dg-end-multiline-output "" } */
34 }
35 
test_3(struct s param_s,struct t param_t)36 int test_3 (struct s param_s, struct t param_t)
37 {
38   return param_s && param_t; // { dg-error "no match for .operator" }
39 
40 /* { dg-begin-multiline-output "" }
41    return param_s && param_t;
42           ~~~~~~~~^~~~~~~~~~
43    { dg-end-multiline-output "" } */
44 }
45