cb424d7448
verify-patch-sanity.py validates every active recipe .patch has internally- consistent hunk line counts — catching the 'malformed patch at line N' failure at commit/CI/preflight time instead of hours into a cook. This cycle hit that class three times (qtwaylandscanner, sddm, xwayland), each only discovered when cookbook tried to apply the patch. Running it across the repo found 29 latent malformed patches (validated against GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22'). They were harmless only because they sit in vendored recipes (baked, not re- applied) — but would fail on any version-bump re-derivation. --fix recounts the hunk headers (body untouched) and repaired all 29. Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test (test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats (empty placeholders, bare-@@ git hunks).
200 lines
9.0 KiB
C++
200 lines
9.0 KiB
C++
// Tests that the AIX toolchain adds system includes to its search path.
|
|
|
|
// Check powerpc-ibm-aix, 32-bit/64-bit.
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefixes=CHECK-INTERNAL-INCLUDE,CHECK-INTERNAL-INCLUDE-CXX %s
|
|
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefixes=CHECK-INTERNAL-INCLUDE,CHECK-INTERNAL-INCLUDE-CXX %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-INTERNAL-INCLUDE %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-INTERNAL-INCLUDE %s
|
|
|
|
// CHECK-INTERNAL-INCLUDE: "-cc1"
|
|
// CHECK-INTERNAL-INCLUDE: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
// CHECK-INTERNAL-INCLUDE: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CHECK-INTERNAL-INCLUDE-CXX: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}c++{{(/|\\\\)}}v1"
|
|
// CHECK-INTERNAL-INCLUDE-CXX: "-D__LIBC_NO_CPP_MATH_OVERLOADS__"
|
|
// CHECK-INTERNAL-INCLUDE: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include"
|
|
// CHECK-INTERNAL-INCLUDE: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}openmp"
|
|
// CHECK-INTERNAL-INCLUDE: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
|
|
// Check powerpc-ibm-aix, 32-bit/64-bit. -nostdinc option.
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdinc \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDINC-INCLUDE %s
|
|
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdinc \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDINC-INCLUDE %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdinc \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDINC-INCLUDE %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdinc \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDINC-INCLUDE %s
|
|
|
|
// CHECK-NOSTDINC-INCLUDE: "-cc1"
|
|
// CHECK-NOSTDINC-INCLUDE: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
// CHECK-NOSTDINC-INCLUDE: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CHECK-NOSTDINC-INCLUDE-NOT: "-internal-isystem"
|
|
|
|
// Check powerpc-ibm-aix, 32-bit/64-bit. -nostdlibinc option.
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdlibinc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDLIBINC-INCLUDE %s
|
|
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdlibinc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDLIBINC-INCLUDE %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdlibinc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDLIBINC-INCLUDE %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdlibinc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDLIBINC-INCLUDE %s
|
|
|
|
// CHECK-NOSTDLIBINC-INCLUDE: "-cc1"
|
|
// CHECK-NOSTDLIBINC-INCLUDE: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
// CHECK-NOSTDLIBINC-INCLUDE: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CHECK-NOSTDLIBINC-INCLUDE: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include"
|
|
// CHECK-NOSTDLIBINC-INCLUDE: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}openmp"
|
|
// CHECK-NOSTDLIBINC-INCLUDE-NOT: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}c++{{(/|\\\\)}}v1"
|
|
// CHECK-NOSTDLIBINC-INCLUDE-NOT: "-D__LIBC_NO_CPP_MATH_OVERLOADS__"
|
|
// CHECK-NOSTDLIBINC-INCLUDE-NOT: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
|
|
// Check powerpc-ibm-aix, 32-bit/64-bit. -nobuiltininc option.
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nobuiltininc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefixes=CHECK-NOBUILTININC-INCLUDE,CHECK-NOBUILTININC-INCLUDE-CXX %s
|
|
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nobuiltininc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefixes=CHECK-NOBUILTININC-INCLUDE,CHECK-NOBUILTININC-INCLUDE-CXX %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nobuiltininc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOBUILTININC-INCLUDE %s
|
|
|
|
// RUN: %clang -### -xc %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nobuiltininc \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOBUILTININC-INCLUDE %s
|
|
|
|
// CHECK-NOBUILTININC-INCLUDE: "-cc1"
|
|
// CHECK-NOBUILTININC-INCLUDE: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
// CHECK-NOBUILTININC-INCLUDE: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CHECK-NOBUILTININC-INCLUDE-NOT: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include"
|
|
// CHECK-NOBUILTININC-INCLUDE-CXX: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}c++{{(/|\\\\)}}v1"
|
|
// CHECK-NOBUILTININC-INCLUDE-CXX: "-D__LIBC_NO_CPP_MATH_OVERLOADS__"
|
|
// CHECK-NOBUILTININC-INCLUDE: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}openmp"
|
|
// CHECK-NOBUILTININC-INCLUDE: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
|
|
// Check powerpc-ibm-aix, 32-bit/64-bit. -nostdinc++ option.
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdinc++ \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDINCXX-INCLUDE %s
|
|
|
|
// RUN: %clangxx -### %s 2>&1 \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: --sysroot=%S/Inputs/basic_aix_tree \
|
|
// RUN: -nostdinc++ \
|
|
// RUN: -fopenmp=libomp \
|
|
// RUN: | FileCheck -check-prefix=CHECK-NOSTDINCXX-INCLUDE %s
|
|
|
|
// CHECK-NOSTDINCXX-INCLUDE: "-cc1"
|
|
// CHECK-NOSTDINCXX-INCLUDE: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
// CHECK-NOSTDINCXX-INCLUDE: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CHECK-NOSTDINCXX-INCLUDE: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include"
|
|
// CHECK-NOSTDINCXX-INCLUDE-NOT: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}c++{{(/|\\\\)}}v1"
|
|
// CHECK-NOSTDINCXX-INCLUDE-NOT: "-D__LIBC_NO_CPP_MATH_OVERLOADS__"
|
|
// CHECK-NOSTDINCXX-INCLUDE: "-internal-isystem" "[[SYSROOT]]{{(/|\\\\)}}opt{{(/|\\\\)}}IBM{{(/|\\\\)}}openxlCSDK{{(/|\\\\)}}include{{(/|\\\\)}}openmp"
|
|
// CHECK-NOSTDINCXX-INCLUDE: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
|
|
// Check powerpc-ibm-aix, 32-bit. -stdlib=libstdc++ invokes fatal error.
|
|
// RUN: not --crash %clangxx %s 2>&1 -### \
|
|
// RUN: --target=powerpc-ibm-aix \
|
|
// RUN: -stdlib=libstdc++ \
|
|
// RUN: --sysroot %S/Inputs/aix_ppc_tree \
|
|
// RUN: | FileCheck --check-prefix=CHECK-INCLUDE-LIBSTDCXX %s
|
|
|
|
// Check powerpc64-ibm-aix, 64-bit. -stdlib=libstdc++ invokes fatal error.
|
|
// RUN: not --crash %clangxx %s 2>&1 -### \
|
|
// RUN: --target=powerpc64-ibm-aix \
|
|
// RUN: -stdlib=libstdc++ \
|
|
// RUN: --sysroot %S/Inputs/aix_ppc_tree \
|
|
// RUN: | FileCheck --check-prefix=CHECK-INCLUDE-LIBSTDCXX %s
|
|
|
|
// CHECK-INCLUDE-LIBSTDCXX: LLVM ERROR: picking up libstdc++ headers is unimplemented on AIX
|