annotate gcc/testsuite/gcc.dg/c99-complex-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Test for _Complex: in C99 only. A few basic tests. */
kono
parents:
diff changeset
2 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */
kono
parents:
diff changeset
3 /* { dg-do compile } */
kono
parents:
diff changeset
4 /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 /* Test _Complex allowed on floating types. */
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 float _Complex a;
kono
parents:
diff changeset
9 _Complex float b;
kono
parents:
diff changeset
10 double _Complex c;
kono
parents:
diff changeset
11 _Complex double d;
kono
parents:
diff changeset
12 long double _Complex e;
kono
parents:
diff changeset
13 _Complex long double f;
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 /* Plain `_Complex' for complex double is a GNU extension. */
kono
parents:
diff changeset
16 _Complex g; /* { dg-bogus "warning" "warning in place of error" } */
kono
parents:
diff changeset
17 /* { dg-error "plain" "plain _Complex" { target *-*-* } .-1 } */
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 /* Complex integer types are GNU extensions. */
kono
parents:
diff changeset
20 _Complex int h; /* { dg-bogus "warning" "warning in place of error" } */
kono
parents:
diff changeset
21 /* { dg-error "complex integer" "_Complex int" { target *-*-* } .-1 } */
kono
parents:
diff changeset
22 _Complex long i; /* { dg-bogus "warning" "warning in place of error" } */
kono
parents:
diff changeset
23 /* { dg-error "complex integer" "_Complex long" { target *-*-* } .-1 } */
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 /* Use of ~ for complex conjugation is a GNU extension, but a constraint
kono
parents:
diff changeset
26 violation (6.5.3.3p1) in C99.
kono
parents:
diff changeset
27 */
kono
parents:
diff changeset
28 _Complex double
kono
parents:
diff changeset
29 foo (_Complex double z)
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 return ~z; /* { dg-bogus "warning" "warning in place of error" } */
kono
parents:
diff changeset
32 /* { dg-error "complex conj" "~ for conjugation" { target *-*-* } .-1 } */
kono
parents:
diff changeset
33 }