|  | // 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 |