VirtualBox

source: kBuild/vendor/grep/2.12/gnulib-tests/test-stddef.c@ 3576

Last change on this file since 3576 was 2595, checked in by bird, 13 years ago

gnu grep version 2.12 (grep-2.12.tar.xz, md5sum=8d2f0346d08b13c18afb81f0e8aa1e2f)

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1/* Test of <stddef.h> substitute.
2 Copyright (C) 2009-2012 Free Software Foundation, Inc.
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
16
17/* Written by Eric Blake <[email protected]>, 2009. */
18
19#include <config.h>
20
21#include <stddef.h>
22
23#include "verify.h"
24
25/* Check that appropriate types are defined. */
26wchar_t a = 'c';
27ptrdiff_t b = 1;
28size_t c = 2;
29
30/* Check that NULL can be passed through varargs as a pointer type,
31 per POSIX 2008. */
32verify (sizeof NULL == sizeof (void *));
33
34/* Check that offsetof produces integer constants with correct type. */
35struct d
36{
37 char e;
38 char f;
39};
40/* Solaris 10 has a bug where offsetof is under-parenthesized, and
41 cannot be used as an arbitrary expression. However, since it is
42 unlikely to bite real code, we ignore that short-coming. */
43/* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */
44verify (sizeof (offsetof (struct d, e)) == sizeof (size_t));
45verify (offsetof (struct d, e) < -1); /* Must be unsigned. */
46verify (offsetof (struct d, f) == 1);
47
48int
49main (void)
50{
51 return 0;
52}
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette