annotate gcc/testsuite/gcc.dg/bitfld-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Copyright (C) 2002 Free Software Foundation, Inc.
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 Tests various diagnostics about a bit-field's type and width.
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 Source: Neil Booth, 26 Jan 2002.
kono
parents:
diff changeset
6 */
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 /* { dg-options "-pedantic -std=gnu89" } */
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 enum foo {e1 = 0, e2, e3, e4, e5};
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 int x;
kono
parents:
diff changeset
13 typedef unsigned int ui;
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 struct bf1
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 unsigned int a: 3.5; /* { dg-error "integer constant" } */
kono
parents:
diff changeset
18 unsigned int b: x; /* { dg-error "integer constant" } */
kono
parents:
diff changeset
19 unsigned int c: -1; /* { dg-error "negative width" } */
kono
parents:
diff changeset
20 unsigned int d: 0; /* { dg-error "zero width" } */
kono
parents:
diff changeset
21 unsigned int : 0; /* { dg-bogus "zero width" } */
kono
parents:
diff changeset
22 unsigned int : 5;
kono
parents:
diff changeset
23 double e: 1; /* { dg-error "invalid type" } */
kono
parents:
diff changeset
24 float f: 1; /* { dg-error "invalid type" } */
kono
parents:
diff changeset
25 unsigned long g: 5; /* { dg-warning "GCC extension|ISO C" } */
kono
parents:
diff changeset
26 ui h: 5;
kono
parents:
diff changeset
27 enum foo i: 2; /* { dg-warning "narrower" } */
kono
parents:
diff changeset
28 /* { dg-warning "GCC extension|ISO C" "extension" { target *-*-* } .-1 } */
kono
parents:
diff changeset
29 enum foo j: 3; /* { dg-warning "GCC extension|ISO C" } */
kono
parents:
diff changeset
30 unsigned int k: 256; /* { dg-error "exceeds its type" } */
kono
parents:
diff changeset
31 };