c11_atomic.c revision 1.1
11.1Srillig/*	$NetBSD: c11_atomic.c,v 1.1 2023/01/21 11:57:03 rillig Exp $	*/
21.1Srillig# 3 "c11_atomic.c"
31.1Srillig
41.1Srillig/*
51.1Srillig * The keyword '_Atomic' was added in C11.  This test ensures that in C11
61.1Srillig * mode, '_Atomic' can be used as both type qualifier and type specifier.
71.1Srillig *
81.1Srillig * See also:
91.1Srillig *	C11 6.7.3 Type qualifiers
101.1Srillig *	C11 6.7.2.4 Atomic type specifiers
111.1Srillig */
121.1Srillig
131.1Srillig/* lint1-extra-flags: -Ac11 */
141.1Srillig
151.1Srillig/* FIXME: The error messages are misleading. */
161.1Srillig
171.1Srillig/* C11 6.7.3 "Type qualifiers" */
181.1Srillig/* expect+2: error: old-style declaration; add 'int' [1] */
191.1Srillig/* expect+1: error: syntax error 'int' [249] */
201.1Srilligtypedef _Atomic int atomic_int;
211.1Srillig
221.1Srilligtypedef _Atomic struct {
231.1Srillig	int field;
241.1Srillig} atomic_struct;
251.1Srillig/* expect-1: error: illegal type combination [4] */
261.1Srillig
271.1Srillig/* TODO: C11 6.7.2.4 "Atomic type specifiers" */
28