diff options
author | Zack Weinberg <zackw@panix.com> | 2016-08-23 21:19:17 -0400 |
---|---|---|
committer | Zack Weinberg <zackw@panix.com> | 2016-08-29 19:47:33 -0400 |
commit | 15f55c639c257ca218b3c9156c43c1eb91993620 (patch) | |
tree | af87b2b8e8311d3fcc9bc249d20a85f15e7a55cc /include/gmp.h | |
parent | a16d5c43fddeff66b36cdd9a115c849e053abd42 (diff) | |
download | glibc-zack/installed-header-hygiene.tar.gz |
Installed header hygiene (BZ#20366): Test of installed headers.zack/installed-header-hygiene
As the final act in this patchset, this test validates the properties
I have been ensuring that all of the headers have. Each subdirectory
checks the headers that it installs.
In order for this test to work correctly, every wrapper header
that actually defines something must guard those definitions with
#ifndef _ISOMAC. This is the existing mechanism used by the conform/
tests to tell wrapper headers not to define anything that the public
header wouldn't, and not to use anything from libc-symbols.h. conform/
only cares for headers that we need to check for standards conformance,
whereas this test applies to *every* header. (Headers in include/ that
are either installed directly, or are internal-use-only and do *not*
correspond to any installed header, are not affected.)
The wrapper header adjustments were semi-mechanically generated, but I
had to correct enough problems by hand that I don't think posting the
script is worth it.
* scripts/check-installed-headers.sh: New script.
* Rules: In each directory that defines header files to be installed,
run check-installed-headers.sh on them as a special test.
* include/aliases.h, include/alloca.h, include/argz.h,
* include/arpa/nameser.h, include/arpa/nameser_compat.h,
* include/elf.h, include/envz.h, include/err.h,
* include/execinfo.h, include/fpu_control.h, include/getopt.h,
* include/gmp.h, include/gshadow.h, include/ifaddrs.h,
* include/libintl.h, include/link.h, include/malloc.h,
* include/mcheck.h, include/mntent.h, include/netinet/ether.h,
* include/nss.h, include/obstack.h, include/printf.h,
* include/pty.h, include/resolv.h, include/rpc/auth.h,
* include/rpc/auth_des.h, include/rpc/auth_unix.h,
* include/rpc/clnt.h, include/rpc/des_crypt.h,
* include/rpc/key_prot.h, include/rpc/netdb.h,
* include/rpc/pmap_clnt.h, include/rpc/pmap_prot.h,
* include/rpc/pmap_rmt.h, include/rpc/rpc.h,
* include/rpc/rpc_msg.h, include/rpc/svc.h,
* include/rpc/svc_auth.h, include/rpc/xdr.h,
* include/rpcsvc/nis_callback.h, include/rpcsvc/nislib.h,
* include/rpcsvc/yp.h, include/rpcsvc/ypclnt.h,
* include/rpcsvc/ypupd.h, include/shadow.h,
* include/stdio_ext.h, include/sys/epoll.h,
* include/sys/file.h, include/sys/gmon.h, include/sys/ioctl.h,
* include/sys/prctl.h, include/sys/profil.h,
* include/sys/statfs.h, include/sys/sysctl.h,
* include/sys/sysinfo.h, include/ttyent.h, include/utmp.h,
* sysdeps/arm/nacl/include/bits/setjmp.h,
* sysdeps/mips/include/sys/asm.h,
* sysdeps/unix/sysv/linux/include/sys/sysinfo.h,
* sysdeps/unix/sysv/linux/include/sys/timex.h,
* sysdeps/x86/fpu/include/bits/fenv.h:
Add #ifndef _ISOMAC guard around internal declarations.
Add multiple-inclusion guard if not already present.
Diffstat (limited to 'include/gmp.h')
-rw-r--r-- | include/gmp.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/include/gmp.h b/include/gmp.h index b74167097d..d9793f487e 100644 --- a/include/gmp.h +++ b/include/gmp.h @@ -1,9 +1,9 @@ +#ifndef __GMP_H__ + /* Include gmp-mparam.h first, such that definitions of _SHORT_LIMB and _LONG_LONG_LIMB in it can take effect into gmp.h. */ #include <gmp-mparam.h> -#ifndef __GMP_H__ - #include <stdlib/gmp.h> /* Now define the internal interfaces. */ @@ -23,5 +23,4 @@ extern double __mpn_construct_double (mp_srcptr frac_ptr, int expt, extern long double __mpn_construct_long_double (mp_srcptr frac_ptr, int expt, int sign); - #endif |