RFR: 7904115: Fix for AIX test case failures due to incorrect alignment for double and pointer [v2]

Varada M varadam at openjdk.org
Fri Nov 21 12:57:39 UTC 2025


> Total of 10 test failures observed on AIX:
> jtreg/generator/nestedTypes/TestNestedTypesUnsupported.java 
> jtreg/generator/test8246400/LibTest8246400Test.java 
> jtreg/generator/test8258605/LibTest8258605Test.java 
> jtreg/generator/test8261511/Test8261511.java 
> jtreg/generator/testStruct/LibStructTest.java 
> testng/org/openjdk/jextract/test/toolprovider/ConstantsTest.java 
> testng/org/openjdk/jextract/test/toolprovider/IncompleteArrayTest.java 
> testng/org/openjdk/jextract/test/toolprovider/Test8240811.java 
> testng/org/openjdk/jextract/test/toolprovider/TestClassGeneration.java 
> testng/org/openjdk/jextract/test/toolprovider/nestedAnonOffset/TestNestedAnonOffset.java
> 
> This PR fixes AIX specific layout generation issues related to incorrect alignment double and pointer types.
> 1. Structs containing double fields fail with:
>     i. Unsupported layout: 4%D8
>     ii. Invalid alignment constraint for member layout
>     double in AIX structs has size 8 but alignment 4 (except as first field). AIX specific handling for C_DOUBLE computes the     correct alignment.
> 
> 2. Clang was detected as 32-bit due to missing -m64 during macro extraction, causing inconsistent macros. This caused jextract to interpret pointer constants incorrectly, leading to failures like:
> expected [-1] but found [4294967295]
> 
> 3. TestNestedAnonOffset.java test failed on AIX because it also expects more padding similar to platforms like windows and linux
> 
> 
> After the patch jtreg tests passes successfully.
> 
> JBS: [CODETOOLS-7904115](https://bugs.openjdk.org/browse/CODETOOLS-7904115)

Varada M has updated the pull request incrementally with two additional commits since the last revision:

 - addition of  -m64 at right place
 - addition of  -m64 at right place

-------------

Changes:
  - all: https://git.openjdk.org/jextract/pull/296/files
  - new: https://git.openjdk.org/jextract/pull/296/files/d4a0f64f..7f1983ba

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jextract&pr=296&range=01
 - incr: https://webrevs.openjdk.org/?repo=jextract&pr=296&range=00-01

  Stats: 9 lines in 2 files changed: 5 ins; 4 del; 0 mod
  Patch: https://git.openjdk.org/jextract/pull/296.diff
  Fetch: git fetch https://git.openjdk.org/jextract.git pull/296/head:pull/296

PR: https://git.openjdk.org/jextract/pull/296


More information about the jextract-dev mailing list