1 /* Test endian.h endian-conversion macros always return the correct type.
2    Copyright (C) 2017-2022 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4 
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9 
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14 
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <https://www.gnu.org/licenses/>.  */
18 
19 #include <endian.h>
20 #include <stdint.h>
21 
22 int i;
23 uint16_t u16;
24 uint32_t u32;
25 uint64_t u64;
26 
27 int
do_test(void)28 do_test (void)
29 {
30   /* This is a compilation test.  */
31   extern __typeof (htobe16 (i)) u16;
32   extern __typeof (htole16 (i)) u16;
33   extern __typeof (be16toh (i)) u16;
34   extern __typeof (le16toh (i)) u16;
35   extern __typeof (htobe32 (i)) u32;
36   extern __typeof (htole32 (i)) u32;
37   extern __typeof (be32toh (i)) u32;
38   extern __typeof (le32toh (i)) u32;
39   extern __typeof (htobe64 (i)) u64;
40   extern __typeof (htole64 (i)) u64;
41   extern __typeof (be64toh (i)) u64;
42   extern __typeof (le64toh (i)) u64;
43   (void) u16;
44   (void) u32;
45   (void) u64;
46   return 0;
47 }
48 
49 #include <support/test-driver.c>
50