1 /* Test that creal and cimag built-in functions do not return lvalues. */
2 /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
3 /* { dg-do compile } */
4 /* { dg-options "" } */
5
6 extern float crealf (float _Complex);
7 extern double creal (double _Complex);
8 extern long double creall (long double _Complex);
9
10 extern float cimagf (float _Complex);
11 extern double cimag (double _Complex);
12 extern long double cimagl (long double _Complex);
13
14 float _Complex fc;
15 double _Complex dc;
16 long double _Complex ldc;
17
18 void
foo(void)19 foo (void)
20 {
21 crealf (fc) = 0; /* { dg-error "lvalue" "crealf not lvalue" } */
22 cimagf (fc) = 0; /* { dg-error "lvalue" "cimagf not lvalue" } */
23 creal (dc) = 0; /* { dg-error "lvalue" "creal not lvalue" } */
24 cimag (dc) = 0; /* { dg-error "lvalue" "cimag not lvalue" } */
25 creall (ldc) = 0; /* { dg-error "lvalue" "creall not lvalue" } */
26 cimagl (ldc) = 0; /* { dg-error "lvalue" "cimagl not lvalue" } */
27 }
28