<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57930>57930</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Build failure on x86 in tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ms178
      </td>
    </tr>
</table>

<pre>
    Since yesterday, I see compilation errors on my lib32-llvm-git package which reproduces with several different host compilers (Clang 15.0.1 and a Clang-16 snapshot from yesterday):

```
[3633/4500] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o
FAILED: tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o 
/usr/bin/clang++ -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/marcus/Downloads/lib32-llvm-git/src/_build/tools/clang/lib/Parse -I/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/lib/Parse -I/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include -I/home/marcus/Downloads/lib32-llvm-git/src/_build/tools/clang/include -I/home/marcus/Downloads/lib32-llvm-git/src/_build/include -I/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include -O3 -march=native -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -fno-math-errno -fno-trapping-math -funroll-loops -falign-functions=32 -fno-semantic-interposition -fcf-protection=none -mharden-sls=none -fomit-frame-pointer -flto -m32 -g0 -Wp,-D_FORTIFY_SOURCE=0 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -flto=full -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG  -fno-exceptions -std=c++17 -MD -MT tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o -MF tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o.d -o tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o -c /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:13:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/ASTContext.h:19:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/CanonicalType.h:17:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/Type.h:21:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/NestedNameSpecifier.h:22:
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:136:3: error: static assertion failed due to requirement '3U <= PointerLikeTypeTraits<clang::Module *>::NumLowBitsAvailable': PointerIntPair with integer size too large for pointer
  static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
  ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/Lex/ModuleMap.h:165:24: note: in instantiation of template class 'llvm::PointerIntPairInfo<clang::Module *, 3, llvm::PointerLikeTypeTraits<clang::Module *>>' requested here
      return A.Storage == B.Storage;
                       ^
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:136:25: note: expression evaluates to '3 <= 2'
  static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:77:19: error: no member named 'updateInt' in 'llvm::PointerIntPairInfo<clang::Module *, 3, llvm::PointerLikeTypeTraits<clang::Module *>>'
    Value = Info::updateInt(Info::updatePointer(0, PtrVal),
                  ^
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:55:5: note: in instantiation of member function 'llvm::PointerIntPair<clang::Module *, 3, clang::ModuleMap::ModuleHeaderRole>::setPointerAndInt' requested here
    setPointerAndInt(PtrVal, IntVal);
    ^
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/Lex/ModuleMap.h:161:21: note: in instantiation of member function 'llvm::PointerIntPair<clang::Module *, 3, clang::ModuleMap::ModuleHeaderRole>::PointerIntPair' requested here
    KnownHeader() : Storage(nullptr, NormalHeader) {}
                    ^
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:13:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/ASTContext.h:19:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/CanonicalType.h:17:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/Type.h:21:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/NestedNameSpecifier.h:22:
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:60:47: error: no member named 'getPointer' in 'llvm::PointerIntPairInfo<clang::Module *, 3, llvm::PointerLikeTypeTraits<clang::Module *>>'
  PointerTy getPointer() const { return Info::getPointer(Value); }
                                              ^
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/Lex/ModuleMap.h:172:48: note: in instantiation of member function 'llvm::PointerIntPair<clang::Module *, 3, clang::ModuleMap::ModuleHeaderRole>::getPointer' requested here
    Module *getModule() const { return Storage.getPointer(); }
                                               ^
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:13:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/ASTContext.h:19:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/CanonicalType.h:17:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/Type.h:21:
In file included from /home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/AST/NestedNameSpecifier.h:22:
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:62:50: error: no member named 'getInt' in 'llvm::PointerIntPairInfo<clang::Module *, 3, llvm::PointerLikeTypeTraits<clang::Module *>>'
  IntType getInt() const { return (IntType)Info::getInt(Value); }
                                                 ^
/home/marcus/Downloads/lib32-llvm-git/src/llvm-project/clang/include/clang/Lex/ModuleMap.h:175:55: note: in instantiation of member function 'llvm::PointerIntPair<clang::Module *, 3, clang::ModuleMap::ModuleHeaderRole>::getInt' requested here
    ModuleHeaderRole getRole() const { return Storage.getInt(); }
                                                      ^
4 errors generated.

```

My configuration:

```
build() {

    export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
    export CFLAGS=${CFLAGS/ -Wa,/ -fno-integrated-as -Wa,}
    export CXXFLAGS=${CXXFLAGS/ -Wa,/ -fno-integrated-as -Wa,}
    LIB32_CFLAGS="$CFLAGS"" -m32"
    LIB32_CXXFLAGS="$CXXFLAGS"" -m32"

    cmake \
        -B _build \
        -S "$srcdir"/llvm-project/llvm \
        -G Ninja \
        -D CMAKE_INSTALL_PREFIX=/usr \
        -D LLVM_LIBDIR_SUFFIX=32 \
        -D CMAKE_C_FLAGS="$LIB32_CFLAGS -g0 -Wp,-D_FORTIFY_SOURCE=0" \
        -D CMAKE_CXX_FLAGS="$LIB32_CXXFLAGS -g0 -Wp,-D_FORTIFY_SOURCE=0" \
        -D LLVM_HOST_TRIPLE=$CHOST \
        -D LLVM_TARGET_ARCH:STRING=i686 \
        -D LLVM_DEFAULT_TARGET_TRIPLE="i686-pc-linux-gnu" \
        -D CMAKE_BUILD_TYPE=Release \
        -D LLVM_ENABLE_LTO=FULL \
        -D BUILD_SHARED_LIBS:BOOL=OFF \
        -DLLVM_USE_LINKER=mold \
        -D CMAKE_EXE_LINKER_FLAGS="-Wl,--lto-O3,-O3,-Bsymbolic-functions,--as-needed -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -m32 -fuse-ld=mold -Wl,-zcommon-page-size=0x200000 -Wl,-zmax-page-size=0x200000" \
        -D CMAKE_MODULE_LINKER_FLAGS="-Wl,--lto-O3,-O3,-Bsymbolic-functions,--as-needed -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -m32 -fuse-ld=mold -Wl,-zcommon-page-size=0x200000 -Wl,-zmax-page-size=0x200000" \
        -D CMAKE_SHARED_LINKER_FLAGS="-Wl,--lto-O3,-O3,-Bsymbolic-functions,--as-needed -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -m32 -fuse-ld=mold -Wl,-zcommon-page-size=0x200000 -Wl,-zmax-page-size=0x200000" \
        -D CMAKE_INSTALL_PREFIX=/usr \
        -D LLVM_BINUTILS_INCDIR=/usr/include \
        -D LLVM_APPEND_VC_REV=ON \
        -D LLVM_VERSION_SUFFIX="" \
        -D LLVM_ENABLE_RTTI=ON \
        -D LLVM_ENABLE_FFI=ON \
        -D FFI_INCLUDE_DIR:PATH="$(pkg-config --variable=includedir libffi)" \
        -D LLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
        -D LLVM_BUILD_LLVM_DYLIB:BOOL=ON \
        -D LLVM_LINK_LLVM_DYLIB:BOOL=ON \
        -D CLANG_LINK_CLANG_DYLIB=ON \
        -D LLVM_BUILD_TOOLS:BOOL=ON \
        -D LLVM_BUILD_UTILS:BOOL=ON \
        -D CLANG_ENABLE_ARCMT:BOOL=OFF \
        -D CLANG_ENABLE_STATIC_ANALYZER:BOOL=OFF \
        -D COMPILER_RT_BUILD_SANITIZERS:BOOL=OFF \
        -D COMPILER_RT_BUILD_XRAY:BOOL=OFF \
        -D LLVM_INCLUDE_BENCHMARKS=OFF \
        -D LLVM_INCLUDE_GO_TESTS=OFF \
        -D LLVM_INCLUDE_TESTS=OFF \
        -D LLVM_INCLUDE_EXAMPLES=OFF \
        -D LLVM_BUILD_DOCS=OFF \
        -D LLVM_INCLUDE_DOCS=OFF \
        -D LLVM_ENABLE_OCAMLDOC=OFF \
        -D LLVM_ENABLE_SPHINX=OFF \
        -D LLVM_ENABLE_DOXYGEN=OFF \
        -D LLVM_ENABLE_BINDINGS=OFF \
        -D LLVM_ENABLE_Z3_SOLVER=OFF \
        -D LLVM_POLLY_LINK_INTO_TOOLS=ON \
        -D LLVM_ENABLE_PROJECTS="clang;lld;compiler-rt" \
        -Wno-dev

    ninja -C _build $NINJAFLAGS all
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztG1tz2jrz15AXjRmwueUhD8aY1KfmMmBacl4YYcug1rfjS5r013-7kg0kAZJe0uabCUMMlva-q92VUdaxd38155HLyD3LcpZ69L6mGsQiGWPEjcOEBzTncURYmsZpRuBbeE8CvtZUJQhuQ2XDc5JQ9yvdMPJty90tSVmSxl7hsox84_kWKN2ylAbE477PUhblZBtneUmcAc2a2jMCGm1Is11v1JuERh6hRAwpzQ7JIppk2zgnfhqHh2Je1jS91hjUGtW10yjf8rbd1zqaVlOHrXajUWsPSL_ggceBkbFcknj9hbk5yeM4yADGRXbwCarBdUrTjMGnMaJf2RDERBDAqAswMVv3eFpBDpgbAM26myT1WHIf6pZtDkDCV-BASgXVYZEhxJpHe_p9eBNlsBoC_9VkOJybzqpvOfOaNui0cOJ6vFjNJ4uZYeKdrc-uTQG7H1vNnYGxMibjuaOPndVIN2aT-X5iOJmN9KfDtjWy9qMWSLSNQ1QxpKlboHqD-FsUxNTLpBUOQggGstSF62qNPoIvZ6z208TFAAQnOv7PkIaVFRTez5M9aY7fRvhXCT1SHG8PqU40oiC5LYRfBJnkFsZCBCIKu8tTqtwCXpzy7yxVEpplkDR28xFdB0xx48hTMoBhGQLvprMg2SMr2ziVQI_RgzhOeAQpw92C5Y5OKx7P8pSvi_zJdBGlcRAokJGULzQ8iuxDgsxZtJsTzAJGb5mShRSQBVTm0oCmSsogMYp8WoGXHNIiynnIlLAIcg6mgaxaQdDNBnTPwHRoMiVOYMqPYjBrvlUgLUexvAdrJqDqRkzAUEkZ2YNRfRrwTYSjgn8G_tBUiZixkAJ3V4qexBmXEvquj57NmcBAB8YRWmhLU49F4IBsN-bHIc8VP6WgQhILOjAY5CBaiGw2DaJ8TqCyYGKazBxreFPmGyABc_7UMp4R5pZnfM0Dnt_DVMAjCIct9zy0_GdRnICSR3OmoB0PxopoU6DAnkJvKVSzkkbEvgEQ-AdBMRLhE9gXUZEBaEJRFaHF528pB6oYIdEGDPnZpVmu_FdQxAw5OAZM7nMWeCAXCAt2_o5VTUmYJzSRhIMYwPCCFGSWvuwpWARpXi4FUJ3DLA-TgLtoTpAu36ZxsdkiUgxlFETLoKi6W8VjPoVYkcSjmN25LMmV_D5hYihSbnmag5CKB6sChjwWgD7KkZms2GygqCpIP-WexEfJQqzVMC80x3UIAJlwBuoNIY61FJQGH-SySQApc-pBAN6vce1kRZLEac48cJ_H6SaCus_dDEgFyNmvghE0l0GJcDSnh_cQQ-BEv0BH-aVcghOKi7kJTFIqVNoCGwRwNmqK5shkEhqMB2Z_cU0kFWkuySLLPeBQ-qTZJcpoAH_Oa9RtZTR8BbJ1sG_8KuK65LUK7RGGsqmxIuKDmKSsIJ7s-v6kGJre1Had5R8QpyR9MKLPHXk1YkiCd3l9i0JdvgWhDFxXHIqZA0tLytV9C3LtxFGbb0GcsUhCY6gh84S5HMpDKqVT93uW399u7Qf0AUoxlZXYivIp5VKAptaBK8Y3KQukTjLM3i7B7isVadyHOgnm8goGWQX2c_8VPGWiGtTUrrYgNc2AjElK8jb_ytD8Tkp5Di2BIU0Bemr6CDaC4IGaCjemHBoXoR1_6wOoLutxAHJjDJGH4srNI45soAxnUFQxxRHooqCL86F-lH2GtCYptVhJLWBLCWSQyU7YPK0EPCmFUdGqtU1y-Kp1zb_2_n3BcjpobXYHV-msEU1kpHTaGLAt9EwETSB-8gjeYGhoa2TBj32SM-hXoO8iQCzDzXxXxKCw8kOPWpEfnwwP1SAaXp4g_0B4mcBchKtYfWQL_VLlUXylLC_SiOj1OTQ--LwC4gJDo18N1LT-IfyTF4TF31-7avvQI-wuEZsDfEJzS4MCHJHhosWFWoW-iuvrFVbJI-OcCuD2_9Ma-WGndLtVbd4nVNiRhSxcQ9qKoAJ46Iwiwb0JIGKIwjL628tk78NPEDViKRDJGBEOpO09Hi35wUwDBYGIAQr4MO5UYPz1ddPGFfNg1RzLY6XHqj3JOQ89650ns5BUD28_wN6JpbMYllNVFjOWl0z0yCvj5FQqewrbq9xggBfz0iGH2ez3uuBHK0mzaszesgcecThj_48RWExSANODqQmqVBURtRfBbjXJU5RjHKchDSpYAOz2a93B6Sqz89P7Puh9H_S-D3q1mtBpwKXVfa5sb3aZ9o3V7RLbuSeHIopc5MaQWDHRVA3vvoI_gBWFX9YJcjYnnX791arSxRhq9d54VXkYQacqyp4XwMubU94sy0z9sd9_wY3vVee96rxXnT9RdVCAduMFVeft7RSBJ2KRSrjj2Uk-UkBAmH5QeCTSbyg6f73utKs95RuvO8_sIh-jomcFiecLzy4Afs2ND33Zqs4YbVjEUgoC18-d7hHX0T3K6fNNkVL5I_W5E0HlmYdetRE7gERJ2B3-WkmmH6_x7MvQul5NdecDPiSExFGdtREhBZ_J143kjJOPSRhDW7-eC8wWMCpv1SH-4ozPSfAb_gwpnm4LVRWaVZOH5qzoLZePKFYDP0HTtvqaujoQEdRpVSLCd1X8Zv9ArRLlUAqBtJPiKdoe2Q3pVwjn9qPHQ0qfyEMoR6bmRDKA5Sp-nFSP594jmNdkzKMv9MjMgBgj_aO5svBUk22vpjNzaC2FLujaoxi2_Wm0AuUH1mw1XwwlvKaeoW6sHpro0NjPHYNAG56hvFwep1064WepCx0_TObOyplZU9uUMWbgyGl4B0-NOSt9ZsD6gKI7s8bXgMg7vc5ppIE51Be2UyEfsFMRUUlcJeBRcadsouK8LfoLyx6snJspos9YwGh2LMJKvuZY79vmynYmAD1c2PZRUElz_kGfmQP0OdhZ708mNuBMhsNjKIL4Yg6UrfFHcwaAYXw0nCuxzWUFe-hJ5TM-t1OUII-VCab78trP7sN1HHD34NAOwtFMiRjDjur9JNWvn6QSx5P8IgMZvMqDpUe-y7MmYM0NSAC2wWV0pzbwtYMJ6d1RgPMBPJoMFvZ7MLwHAwbDLue8B8N7MPxwe9K3xgvHsueAaUCfssPYb2hO4-rTqTkerD4Zq5n5CQvd-DTsJ3M2tybjfR9Udn3Pld2Z41jPkC4hge5pQJhEDe3FwFwJNfXD5rwFXT105IpsyYmi3NKUi5-roSkpH0DwFP9vwfe5-LHyjOCyP5mvnIlsNCQTfTS4ni5gw7Psdc6iy0ZCdjw30Egc9BFnbICr_0eQDFsfX0ss-bVEO8uk7JuA8PxlUkkEEV8vlKj0JXSGI-fZDuohDgS-YxkrfazbN_9iP_Us9mQ0tWzImTOnlHSujy3HAuTnu7cj2MuZfvM8njBMFYp9c2x8GOmzj_OXYlxPVo45d14M_0PA5lIfQVP9LLzUdzAxXkz5JbClHyeGPrIB_oXg8-kHa7x8IfBgsry5NscvhIbcOICdyUsF_1eD_ZL9SbTyZ-GnE9u-kYvPGkOaKFfUS5LcdDb5xzScssKXD3b6AZaYfvUvUQoezTmWYfB8s8duH--wI7HlVYzdhlptja3xP7rcF0J9LBGqpwC7xyIX7KrZ6WiXWrN7qV54V5p3qV3Si5znAbsS_y0lzgIWUPKhnN7B5o5Hr3DQ-KJIg6ttnifi2JE6hPeG59tiXQeL7B-rPnoCwLOsEFza3UutcbG9aja8TttlrNdTvWazvXZZr601eg3W9C4bLY9eBHTNguyq1u7X2oMLfqU2VLVxqWrNZrOjqfVGb-211sxvtNus06ONWqvBQlC_jozrcbq5SK-EDOtik8FkAC1Ntp-EzopvoP-q6NMih47pKsya3d6FEPZKSPo_TIYTTw">