Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/c99-complex-1.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Test for _Complex: in C99 only. A few basic tests. */ | |
2 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ | |
3 /* { dg-do compile } */ | |
4 /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ | |
5 | |
6 /* Test _Complex allowed on floating types. */ | |
7 | |
8 float _Complex a; | |
9 _Complex float b; | |
10 double _Complex c; | |
11 _Complex double d; | |
12 long double _Complex e; | |
13 _Complex long double f; | |
14 | |
15 /* Plain `_Complex' for complex double is a GNU extension. */ | |
16 _Complex g; /* { dg-bogus "warning" "warning in place of error" } */ | |
17 /* { dg-error "plain" "plain _Complex" { target *-*-* } .-1 } */ | |
18 | |
19 /* Complex integer types are GNU extensions. */ | |
20 _Complex int h; /* { dg-bogus "warning" "warning in place of error" } */ | |
21 /* { dg-error "complex integer" "_Complex int" { target *-*-* } .-1 } */ | |
22 _Complex long i; /* { dg-bogus "warning" "warning in place of error" } */ | |
23 /* { dg-error "complex integer" "_Complex long" { target *-*-* } .-1 } */ | |
24 | |
25 /* Use of ~ for complex conjugation is a GNU extension, but a constraint | |
26 violation (6.5.3.3p1) in C99. | |
27 */ | |
28 _Complex double | |
29 foo (_Complex double z) | |
30 { | |
31 return ~z; /* { dg-bogus "warning" "warning in place of error" } */ | |
32 /* { dg-error "complex conj" "~ for conjugation" { target *-*-* } .-1 } */ | |
33 } |