make the result of the cimag macro a non-lvalue

this change is not necessary but helps diagnose invalid code. based on
patch by Jens Gustedt.
This commit is contained in:
Rich Felker
2014-12-17 16:44:43 -05:00
parent 5ff2a118c6
commit 4075af4318

View File

@@ -103,7 +103,7 @@ long double creall(long double complex);
#ifndef __cplusplus
#define __CIMAG(x, t) \
((union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1])
(+(union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1])
#define creal(x) ((double)(x))
#define crealf(x) ((float)(x))