xref: /netbsd/tests/usr.bin/xlint/lint1/msg_014.c (revision ea649623)
1*ea649623Srillig /*	$NetBSD: msg_014.c,v 1.8 2023/03/28 14:44:34 rillig Exp $	*/
2f42ea02bSrillig # 3 "msg_014.c"
3f42ea02bSrillig 
4f42ea02bSrillig // Test for message: compiler takes alignment of function [14]
5eef464bdSrillig /* This message is not used. */
6f42ea02bSrillig 
7*ea649623Srillig /* lint1-extra-flags: -X 351 */
8*ea649623Srillig 
9351a0b6aSrillig typedef void function(void);
10351a0b6aSrillig 
11e3daa676Srillig /* expect+1: error: cannot take size/alignment of function type 'function(void) returning void' [144] */
12351a0b6aSrillig unsigned long alignof_function = __alignof__(function);
13351a0b6aSrillig 
14eef464bdSrillig struct illegal_bit_field {
15eef464bdSrillig 	/* expect+1: warning: illegal bit-field type 'function(void) returning void' [35] */
16eef464bdSrillig 	function bit_field:1;
17eef464bdSrillig 	/* expect+1: error: function illegal in structure or union [38] */
18eef464bdSrillig 	function member;
19eef464bdSrillig };
20eef464bdSrillig 
21eef464bdSrillig struct s {
22eef464bdSrillig 	/* expect+1: error: array of function is illegal [16] */
23eef464bdSrillig 	function member[5];
24eef464bdSrillig };
25