PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / diagnostic / bad-binary-ops.C
blob4ab7656434c8959f315b0caa02af95081ae29231
1 // { dg-options "-fdiagnostics-show-caret" }
3 // Adapted from https://gcc.gnu.org/wiki/ClangDiagnosticsComparison
5 typedef float __m128;
6 void test_1 ()
8   __m128 myvec[2];
9   int const *ptr;
10   myvec[1] / ptr; // { dg-error "invalid operands" }
12 /* { dg-begin-multiline-output "" }
13    myvec[1] / ptr;
14    ~~~~~~~~~^~~~~
15    { dg-end-multiline-output "" } */
18 struct s {};
19 struct t {};
20 extern struct s some_function (void);
21 extern struct t some_other_function (void);
23 int test_2 (void)
25   return (some_function ()
26           + some_other_function ()); // { dg-error "no match for .operator" }
28 /* { dg-begin-multiline-output "" }
29    return (some_function ()
30            ~~~~~~~~~~~~~~~~
31     + some_other_function ());
32     ^~~~~~~~~~~~~~~~~~~~~~~~
33    { dg-end-multiline-output "" } */
36 int test_3 (struct s param_s, struct t param_t)
38   return param_s && param_t; // { dg-error "no match for .operator" }
40 /* { dg-begin-multiline-output "" }
41    return param_s && param_t;
42           ~~~~~~~~^~~~~~~~~~
43    { dg-end-multiline-output "" } */