After JDK-8339783, there are may be additional cleanups possible for the includes of adlc.hpp.
adlc.hpp is supposed to ensure there are definitions for intptr_t and uintptr_t, as those types are used in adlc code. The standard location for them is <stdint.h>, so that probably ought to be directly included by adlc.hpp. Visual Studio has defined them in <stddef.h> and "other header files". Apparently at least one of the defining headers is being (indirectly?) included where needed. Other platforms are getting those types via the conditional inclusion of <inttypes.h>, which includes <stdint.h> (see below).
adlc.hpp conditionally (for some unix-based targets) includes <inttypes.h>. It's not clear why, other than for its include of <stdint.h>. If <stdint.h> were included directly then we might not need <inttypes.h> at all.
adlc.hpp includes <sys/types.h>. It's not clear why.
adlc.hpp is supposed to ensure there are definitions for intptr_t and uintptr_t, as those types are used in adlc code. The standard location for them is <stdint.h>, so that probably ought to be directly included by adlc.hpp. Visual Studio has defined them in <stddef.h> and "other header files". Apparently at least one of the defining headers is being (indirectly?) included where needed. Other platforms are getting those types via the conditional inclusion of <inttypes.h>, which includes <stdint.h> (see below).
adlc.hpp conditionally (for some unix-based targets) includes <inttypes.h>. It's not clear why, other than for its include of <stdint.h>. If <stdint.h> were included directly then we might not need <inttypes.h> at all.
adlc.hpp includes <sys/types.h>. It's not clear why.
- relates to
-
JDK-8339783 Implement JEP 479: Remove the Windows 32-bit x86 Port
- Resolved