llvm-project/clang/test/Preprocessor
Harald van Dijk 1d463c2a38
[Driver] Fix architecture triplets and search paths for Linux x32
Currently, support for the x32 ABI is handled as a multilib to the
x86_64 target only. However, full self-hosting x32 systems treating it
as a separate architecture with its own architecture triplets as well as
search paths exist as well, in Debian's x32 port and elsewhere.

This adds the missing architecture triplets and search paths so that
clang can work as a native compiler on x32, and updates the tests so
that they pass when using an x32 libdir suffix.

Additionally, we would previously also assume that objects from any
x86_64-linux-gnu GCC installation could be used to target x32. This
changes the logic so that only GCC installations that include x32
support are used when targetting x32, meaning x86_64-linux-gnux32 GCC
installations, and x86_64-linux-gnu and i686-linux-gnu GCC installations
that include x32 multilib support.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D52050
2021-04-01 09:47:56 +01:00
..
Inputs [Clang] Restore replace_path_prefix instead of startswith 2020-05-13 13:49:14 -04:00
Weverything_pragma.c Fix tests after previous commit 2020-02-14 19:41:01 +01:00
_Pragma-dependency.c Replace tok::angle_string_literal with new tok::header_name. 2019-03-19 22:09:55 +00:00
_Pragma-dependency2.c
_Pragma-in-macro-arg.c
_Pragma-in-macro-arg.cpp Remove use of lookahead from _Pragma handling and from all other 2019-04-11 21:18:22 +00:00
_Pragma-location.c
_Pragma-physloc.c
_Pragma.c
aarch64-target-features.c [AArch64] Implement __rndr, __rndrrs intrinsics 2021-03-15 17:51:48 +00:00
aix-vec_extabi.c [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. 2020-11-24 18:17:53 -05:00
annotate_in_macro_arg.c
arm-acle-6.4.c [ARM] Prevent DSP and SIM32 being set for v6m 2018-09-28 10:18:02 +00:00
arm-acle-6.5.c [ARM] Fix bugs introduced by the fp64/d32 rework. 2019-06-07 12:42:54 +00:00
arm-pic-predefines.c [ARM] Add pre-defined macros for ROPI and RWPI 2019-02-18 12:39:47 +00:00
arm-target-features.c [ARM] Adding v8.7-A command-line support for the ARM target 2020-12-17 13:48:54 +00:00
arm64_32.c AArch64: add arm64_32 support to Clang. 2019-11-12 12:45:18 +00:00
arm64e.c [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth. 2020-12-03 07:53:59 -08:00
assembler-with-cpp.c
avr-atmega328p.c [AVR][NFC] Move preprocessor tests to Preprocessor directory 2020-04-26 01:29:25 +02:00
avr-attiny104.c [AVR][NFC] Move preprocessor tests to Preprocessor directory 2020-04-26 01:29:25 +02:00
avr-common.c [AVR][NFC] Move preprocessor tests to Preprocessor directory 2020-04-26 01:29:25 +02:00
bigoutput.c
bpf-predefined-macros.c [BPF] do not generate predefined macro bpf 2019-04-26 15:35:51 +00:00
builtin_line.c
c17.c Add language standard aliases for -std=c18, -std=gnu18, and -std=iso9899:2018. 2018-10-18 17:42:41 +00:00
c90.c
c99-6_10_3_3_p4.c
c99-6_10_3_4_p5.c
c99-6_10_3_4_p6.c
c99-6_10_3_4_p7.c
c99-6_10_3_4_p9.c
clang_headers.c
comment_save.c
comment_save_if.c
comment_save_macro.c
cuda-approx-transcendentals.cu
cuda-macos-includes.cu
cuda-preprocess.cu
cuda-types.cu [CUDA] Fix grep pattern in cuda-types.cu 2019-06-10 22:28:20 +00:00
cxx_and.cpp
cxx_bitand.cpp
cxx_bitor.cpp
cxx_compl.cpp
cxx_not.cpp
cxx_not_eq.cpp
cxx_oper_keyword.cpp Keep the IdentifierInfo in the Token for alternative operator keyword 2017-07-14 09:23:40 +00:00
cxx_oper_keyword_ms_compat.cpp
cxx_oper_spelling.cpp
cxx_or.cpp
cxx_true.cpp
cxx_xor.cpp
dependencies-and-pp.c
directive-invalid.c
disabled-cond-diags.c
disabled-cond-diags2.c
dump-macros-spacing.c
dump-macros-undef.c
dump-options.c
dump_import.h
dump_import.m
dump_include.c
dump_include.h
dump_macros.c
dumptokens_phyloc.c
elfiamcu-predefines.c
empty_file_to_include.h Diagnose likely typos in #include directives. 2018-09-13 21:10:08 +00:00
expr_comma.c
expr_define_expansion.c
expr_invalid_tok.c
expr_liveness.c
expr_multichar.c
expr_usual_conversions.c
extension-warning.c
feature_tests.c Add __has_builtin support for builtin function-like type traits. 2019-08-14 02:30:11 +00:00
feature_tests.cpp Accept __is_same_as as a GCC-compatibility synonym for the proper trait name __is_same. 2019-10-29 14:44:38 -07:00
file_name_macro.c Reland "[Clang][PP] Add the __FILE_NAME__ builtin macro" 2019-05-16 21:13:49 +00:00
file_test.c [Clang] Restore replace_path_prefix instead of startswith 2020-05-13 13:49:14 -04:00
file_test_windows.c [Clang] Restore replace_path_prefix instead of startswith 2020-05-13 13:49:14 -04:00
file_to_include.h
first-line-indent.c
function_macro_file.c
function_macro_file.h
has_attribute.c
has_attribute.cpp [Sema, CodeGen] Implement [[likely]] and [[unlikely]] in SwitchStmt 2020-10-18 13:48:42 +02:00
has_c_attribute.c Support the standards-based dates for __has_c_attribute 2020-08-13 08:47:40 -04:00
has_c_attribute.cpp Disallow use of __has_c_attribute in C++ mode. 2019-11-25 17:35:12 -05:00
has_include.c Factor out repeated code parsing and concatenating header-names from 2019-03-19 01:51:19 +00:00
hash_line.c
hash_space.c
header_is_main_file.c
header_lookup1.c
headermap-rel.c [hmaptool] Turn %hmaptool into a proper substitution 2018-06-22 09:46:40 +00:00
headermap-rel2.c clang-cl: Add a `/showIncludes:user` flag. 2020-02-25 09:43:52 -05:00
hexagon-predefines.c [Hexagon] Add clang builtin definitions for Hexagon V68 2021-02-04 09:54:52 -06:00
hip-host-cpu-macros.cu recommit "[HIP] Add default header and include path" 2020-06-06 14:21:22 -04:00
if_warning.c [Sema] Special case -Werror-implicit-function-declaration and reject other -Werror- 2020-11-05 10:25:30 -08:00
ifdef-recover.c
ignore-pragmas.c Revert 320391: Certain targets are failing, pulling back to diagnose. 2017-12-11 18:14:51 +00:00
import_self.c
include-cycle.c [Preprocessor] Stop entering included files after hitting a fatal error. 2018-07-25 19:16:26 +00:00
include-directive1.c
include-directive2.c
include-directive3.c
include-header-file-and-dir.c Don't diagnose errors when a file matches an include component 2019-08-09 19:49:14 +00:00
include-header-missing-in-framework-with-headermap.c [Preprocessor] Fix crash emitting note with framework location for "file not found" error. 2019-05-27 19:15:30 +00:00
include-header-missing-in-framework.c [Preprocessor] Add a note with framework location for "file not found" error. 2019-02-05 22:34:55 +00:00
include-leading-nonalpha-no-suggest.c Add testcases for r342667. 2018-09-20 17:22:43 +00:00
include-likely-typo.c [MSVC Compat] Fix typo correction for inclusion directives. 2019-01-15 20:08:23 +00:00
include-macros.c
include-next.c Improve the diagnostic for #include_next occurring in a file not found 2019-03-21 20:42:13 +00:00
include-nonalpha-no-crash.c [Preprocessor] Fix a crash when handling non-alpha include header. 2018-10-01 14:38:43 +00:00
indent_macro.c Fixed tests where grep was not matching the linefeed 2019-05-10 20:11:36 +00:00
init-aarch64.c Fix the guaranteed alignment of memory returned by malloc/new on Darwin 2021-02-03 19:40:51 -08:00
init-arm.c Fix the guaranteed alignment of memory returned by malloc/new on Darwin 2021-02-03 19:40:51 -08:00
init-mips.c Split Preprocessor/init.c test 2020-08-14 13:09:26 -07:00
init-ppc.c [AIX] Let alloca return 16 bytes alignment 2020-10-23 14:41:32 -04:00
init-ppc64.c [PowerPC] Add mprivileged option 2021-03-24 08:33:22 -05:00
init-s390x.c [SystemZ][NFC]Move all SystemZ tests to init-s390x.c 2020-12-02 08:23:27 -05:00
init-v7k-compat.c AArch64: add arm64_32 support to Clang. 2019-11-12 12:45:18 +00:00
init-ve.c [VE] Add clang tests for VE 2020-06-25 12:03:19 +09:00
init-x86.c Split Preprocessor/init.c test 2020-08-14 13:09:26 -07:00
init.c [clang][emscripten] Add builtin define for __EMSCRIPTEN_PTHREADS__ 2021-02-05 13:53:05 -08:00
invalid-__has_warning1.c
invalid-__has_warning2.c
is_target.c Commit missing tests for r320734 2017-12-14 19:22:41 +00:00
is_target_arm.c Commit missing tests for r320734 2017-12-14 19:22:41 +00:00
is_target_arm64.c __is_target_arch: Check the arch and subarch instead of the arch name 2017-12-15 19:58:38 +00:00
is_target_environment_version.c __is_target_environment: Check the environment after parsing it 2017-12-15 20:07:53 +00:00
is_target_os_darwin.c Commit missing tests for r320734 2017-12-14 19:22:41 +00:00
is_target_unknown.c Commit missing tests for r320734 2017-12-14 19:22:41 +00:00
iwithprefix.c [Driver] Fix architecture triplets and search paths for Linux x32 2021-04-01 09:47:56 +01:00
line-directive-output.c
line-directive.c
macho-embedded-predefines.c
macro-multiline.c Use backslash escape, replacing xargs -0 in test macro-multiline.c 2018-01-04 22:58:30 +00:00
macro-reserved-cxx11.cpp
macro-reserved-ms.c
macro-reserved.c
macro-reserved.cpp
macro_arg_directive.c Print a note to the called macro when diagnosing err_embedded_directive 2019-02-14 04:13:17 +00:00
macro_arg_directive.h
macro_arg_empty.c
macro_arg_keyword.c
macro_arg_slocentry_merge.c
macro_arg_slocentry_merge.h
macro_backslash.c
macro_disable.c
macro_expand.c
macro_expand_empty.c
macro_expandloc.c
macro_fn.c
macro_fn_comma_swallow.c
macro_fn_comma_swallow2.c Revert "Suppress non-conforming GNU paste extension in all standard-conforming modes" 2021-01-27 10:59:57 -08:00
macro_fn_disable_expand.c
macro_fn_lparen_scan.c
macro_fn_lparen_scan2.c
macro_fn_placemarker.c
macro_fn_preexpand.c
macro_fn_varargs_iso.c
macro_fn_varargs_named.c Fixed tests where grep was not matching the linefeed 2019-05-10 20:11:36 +00:00
macro_misc.c
macro_not_define.c Fixed tests where grep was not matching the linefeed 2019-05-10 20:11:36 +00:00
macro_paste_bad.c
macro_paste_bcpl_comment.c
macro_paste_c_block_comment.c
macro_paste_commaext.c Fix typos in clang 2018-04-06 15:14:32 +00:00
macro_paste_empty.c
macro_paste_hard.c
macro_paste_hashhash.c
macro_paste_identifier_error.c
macro_paste_msextensions.c
macro_paste_none.c
macro_paste_simple.c
macro_paste_spacing.c
macro_paste_spacing2.c
macro_raw_string.cpp Stringizing raw string literals containing newline 2017-12-06 17:00:53 +00:00
macro_redefined.c
macro_rescan.c
macro_rescan2.c
macro_rescan_varargs.c
macro_rparen_scan.c Fixed tests where grep was not matching the linefeed 2019-05-10 20:11:36 +00:00
macro_rparen_scan2.c
macro_space.c
macro_undef.c
macro_vaopt_check.cpp Don't allow __VA_OPT__ to be detected by #ifdef. 2021-01-27 13:34:15 -08:00
macro_vaopt_expand.cpp Permit __VA_OPT__ in all language modes and allow it to be detected with #ifdef. 2021-01-27 12:34:43 -08:00
macro_vaopt_p1042r1.cpp [c++20] Implement tweaked __VA_OPT__ rules from P1042R1: 2019-05-04 06:46:18 +00:00
macro_variadic.cl [OpenCL] Remove warning for variadic macros in C++ for OpenCL. 2020-08-12 16:17:54 +01:00
macro_with_initializer_list.cpp
mi_opt.c
mi_opt.h
mi_opt2.c
mi_opt2.h
microsoft-ext.c [ms] Fix Microsoft compatibility handling of commas in nested macro expansions. 2019-11-04 12:49:19 -05:00
microsoft-header-search.c
microsoft-import.c
missing-include-range-check.h
missing-system-header.c
missing-system-header.h
mmx.c
non_fragile_feature.m
non_fragile_feature1.m
nonportable-include-with-hmap.c Fix up a test updated in r371655 - require case-insensitive file system. 2019-09-11 21:19:27 +00:00
objc-pp.m
openmp-macro-expansion.c
optimize.c
output_paste_avoid.cpp
overflow.c
pic.c
pp-modules.c
pp-modules.h
pp-record.c
pp-record.h
pr2086.c
pr2086.h
pr13851.c
pr19649-signed-wchar_t.c
pr19649-unsigned-wchar_t.c Driver: hoist the `wchar_t` handling to the driver 2017-10-06 23:09:55 +00:00
pragma-captured.c
pragma-comment-linux.c Support `#pragma comment(lib, "name")` in the frontend for ELF 2018-02-07 01:46:46 +00:00
pragma-pushpop-macro.c
pragma.c Fix combining pragma __debug dump & parser_crash with -E 2018-11-15 03:04:21 +00:00
pragma_assume_nonnull.c [Preprocessor] Preserve #pragma clang assume_nonnull in preprocessed output 2017-09-27 23:29:37 +00:00
pragma_diagnostic.c Fix tests after previous commit 2020-02-14 19:41:01 +01:00
pragma_diagnostic_output.c
pragma_diagnostic_sections.cpp [Diagnostic][test] Remove an unneeded change to pragma_diagnostic_sections.cpp after D70638 2019-12-03 16:43:35 -08:00
pragma_microsoft.c Fix for expanding __pragmas in macro arguments 2019-10-07 19:41:53 +00:00
pragma_microsoft.cpp
pragma_module.c [test] Use %clang_cc1 instead of %clang -cc1 2019-09-27 05:37:06 +00:00
pragma_poison.c
pragma_ps4.c
pragma_sysheader.c
pragma_sysheader.h
pragma_unknown.c [clang] Enable support for #pragma STDC FENV_ACCESS 2020-10-25 06:46:25 -07:00
predefined-arch-macros-x86.c [X86] Support -march=x86-64-v[234] 2020-10-12 10:29:46 -07:00
predefined-arch-macros.c [X86] Refine "Support -march=alderlake" 2021-03-08 13:17:18 +08:00
predefined-exceptions.m
predefined-macros.c [OpenCL] Make Clang recognize -cl-std=1.0 as a value argument 2020-11-11 17:01:57 +03:00
predefined-nullability.c
predefined-win-macros.c Bug 43965 - Value of _MSVC_LANG doesn't match MSVC++ VS2019 /std:c++latest mode 2019-12-04 14:39:41 -08:00
print-assembler.s Don't print end-of-directive tokens in -E output 2017-10-16 23:07:15 +00:00
print-pragma-microsoft.c
print_line_count.c
print_line_empty_file.c
print_line_include.c
print_line_include.h
print_line_track.c
pushable-diagnostics.c Fix tests after previous commit 2020-02-14 19:41:01 +01:00
riscv-cmodel.c [RISCV] Add option aliases: -mcmodel=medany and -mcmodel=medlow 2019-09-17 08:19:17 +00:00
riscv-target-features.c [RISCV] Refine pre-define macro tests 2021-03-31 14:06:20 +08:00
skipping_unclean.c
static_assert-already-defined.c Improve static_assert/_Static_assert diagnostics 2021-03-03 08:48:27 -05:00
static_assert.c Improve static_assert/_Static_assert diagnostics 2021-03-03 08:48:27 -05:00
stdint.c AArch64: add arm64_32 support to Clang. 2019-11-12 12:45:18 +00:00
stringize_misc.c
stringize_skipped.c [Preprocessor] Always discard body of #define if we failed to parse it 2019-08-01 09:10:37 +00:00
stringize_space.c
sycl-macro.cpp [SYCL] Rework the SYCL driver options 2021-03-17 08:27:19 -04:00
sysroot-prefix.c
traditional-cpp.c
ucn-allowed-chars.c
ucn-pp-identifier.c [Lexer] Allow UCN for dollar symbol '\u0024' in identifiers when using -fdollars-in-identifiers flag. 2020-01-15 11:28:57 +00:00
undef-error.c
unterminated.c
unwind-tables.c Define __GCC_HAVE_DWARF2_CFI_ASM if applicable 2021-03-09 22:21:36 -08:00
user_defined_system_framework.c
utf8-allowed-chars.c
warn-disabled-macro-expansion.c
warn-macro-undef.c [clang][diagnostics] Add '-Wundef-prefix' warning option 2020-06-30 13:57:47 -07:00
warn-macro-unused.c
warn-macro-unused.h
warning_tests.c
wasm-target-features.c [WebAssembly] Remove unimplemented-simd target feature 2021-03-18 10:23:12 -07:00
wchar_t.c [SystemZ][z/OS] Set default wchar_t type for zOS 2020-09-22 08:03:03 -04:00
woa-defaults.c Basic: correct `__WINT_TYPE__` on Windows 2018-09-19 16:18:55 +00:00
woa-wchar_t.c
x86_amx_target_features.c [X86-64] Support Intel AMX Intrinsic 2020-07-07 10:13:40 +08:00
x86_asm_flag_output.c [X86] Add clang support for X86 flag output parameters. 2019-02-14 19:27:25 +00:00
x86_seg_fs_gs.c Support __seg_fs and __seg_gs on x86 2019-07-14 18:33:51 +00:00
x86_target_features.c [X86] Support Intel avxvnni 2020-10-31 12:39:51 +08:00