brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · ade895f Raw
27 lines · c
1// RUN: %clang_cc1 -verify %s2 3/* WG14 N1316: Yes4 * Conversion between pointers and floating types5 */6 7void call_ptr(void *);  // expected-note {{passing argument to parameter here}}8void call_float(float); // expected-note {{passing argument to parameter here}}9 10void test(float in_f, void *in_vp) {11  float f = in_vp; // expected-error {{initializing 'float' with an expression of incompatible type 'void *'}}12  void *vp = in_f; // expected-error {{initializing 'void *' with an expression of incompatible type 'float'}}13 14  call_ptr(f);    // expected-error {{passing 'float' to parameter of incompatible type 'void *'}}15  call_float(vp); // expected-error {{passing 'void *' to parameter of incompatible type 'float'}}16 17  vp = f; // expected-error {{assigning to 'void *' from incompatible type 'float'}}18  f = vp; // expected-error {{assigning to 'float' from incompatible type 'void *'}}19 20  struct S {21    void *ptr;22    float flt;23  } s = { f, vp }; // expected-error {{initializing 'void *' with an expression of incompatible type 'float'}} \24                      expected-error {{initializing 'float' with an expression of incompatible type 'void *'}}25}26 27