hanchenye-llvm-project/clang/test/Preprocessor
Eric Fiselier 261875054e [Clang] Add __builtin_launder
Summary:
This patch adds `__builtin_launder`, which is required to implement `std::launder`. Additionally GCC provides `__builtin_launder`, so thing brings Clang in-line with GCC.

I'm not exactly sure what magic `__builtin_launder` requires, but  based on previous discussions this patch applies a `@llvm.invariant.group.barrier`. As noted in previous discussions, this may not be enough to correctly handle vtables.

Reviewers: rnk, majnemer, rsmith

Reviewed By: rsmith

Subscribers: kristina, Romain-Geissler-1A, erichkeane, amharc, jroelofs, cfe-commits, Prazek

Differential Revision: https://reviews.llvm.org/D40218

llvm-svn: 349195
2018-12-14 21:11:28 +00:00
..
Inputs [Preprocessor] Stop entering included files after hitting a fatal error. 2018-07-25 19:16:26 +00:00
Weverything_pragma.c
_Pragma-dependency.c
_Pragma-dependency2.c
_Pragma-in-macro-arg.c
_Pragma-location.c
_Pragma-physloc.c
_Pragma.c
aarch64-target-features.c [AArch64] Implement FP16FML intrinsics 2018-10-25 23:47:00 +00: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-target-features.c [ARM/AArch64][v8.5A] Add Armv8.5-A target 2018-09-26 14:20:29 +00:00
assembler-with-cpp.c
bigoutput.c
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
cxx_and.cpp
cxx_bitand.cpp
cxx_bitor.cpp
cxx_compl.cpp
cxx_not.cpp
cxx_not_eq.cpp
cxx_oper_keyword.cpp
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 [Clang] Add __builtin_launder 2018-12-14 21:11:28 +00:00
file_to_include.h
first-line-indent.c
function_macro_file.c
function_macro_file.h
has_attribute.c
has_attribute.cpp Introduce the _Clang scoped attribute token. 2018-11-09 17:19:45 +00:00
has_c_attribute.c
has_include.c
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 [hmaptool] Turn %hmaptool into a proper substitution 2018-06-22 09:46:40 +00:00
hexagon-predefines.c [Hexagon] Add support for Hexagon V66 2018-12-05 21:38:35 +00:00
if_warning.c
ifdef-recover.c
ignore-pragmas.c
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-leading-nonalpha-no-suggest.c Add testcases for r342667. 2018-09-20 17:22:43 +00:00
include-likely-typo.c Diagnose likely typos in #include directives. 2018-09-13 21:10:08 +00:00
include-macros.c
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
init-v7k-compat.c
init.c Basic: make `int_least64_t` and `int_fast64_t` match on Darwin 2018-12-12 17:05:20 +00:00
invalid-__has_warning1.c
invalid-__has_warning2.c
is_target.c
is_target_arm.c
is_target_arm64.c
is_target_environment_version.c
is_target_os_darwin.c
is_target_unknown.c
iwithprefix.c
line-directive-output.c
line-directive.c
macho-embedded-predefines.c
macro-multiline.c
macro-reserved-cxx11.cpp
macro-reserved-ms.c
macro-reserved.c
macro-reserved.cpp
macro_arg_directive.c
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
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
macro_misc.c
macro_not_define.c
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
macro_redefined.c
macro_rescan.c
macro_rescan2.c
macro_rescan_varargs.c
macro_rparen_scan.c
macro_rparen_scan2.c
macro_space.c
macro_undef.c
macro_vaopt_check.cpp
macro_vaopt_expand.cpp
macro_variadic.cl
macro_with_initializer_list.cpp
mi_opt.c
mi_opt.h
mi_opt2.c
mi_opt2.h
microsoft-ext.c
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 [hmaptool] Turn %hmaptool into a proper substitution 2018-06-22 09:46:40 +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
pragma-captured.c
pragma-comment-linux.c
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
pragma_diagnostic.c
pragma_diagnostic_output.c
pragma_diagnostic_sections.cpp
pragma_microsoft.c
pragma_microsoft.cpp
pragma_module.c
pragma_poison.c
pragma_ps4.c
pragma_sysheader.c
pragma_sysheader.h
pragma_unknown.c
predefined-arch-macros.c [X86] Add -march=cascadelake support in clang. 2018-11-27 18:05:14 +00:00
predefined-exceptions.m
predefined-macros.c Revert the tests that should've been reverted in rL341115 2018-08-30 20:53:15 +00:00
predefined-nullability.c
predefined-win-macros.c [MS] Update _MSVC_LANG values for C++17 and C++2a 2018-07-23 17:44:00 +00:00
print-assembler.s
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
riscv-target-features.c
skipping_unclean.c
stdint.c By popular demand, switch in64_t on NetBSD/AArch64 and NetBSD/PowerPC64 2018-07-17 12:33:19 +00:00
stringize_misc.c
stringize_space.c
sysroot-prefix.c
traditional-cpp.c
ucn-allowed-chars.c
ucn-pp-identifier.c
undef-error.c
unterminated.c
user_defined_system_framework.c
utf8-allowed-chars.c
warn-disabled-macro-expansion.c
warn-macro-unused.c
warn-macro-unused.h
warning_tests.c
wasm-target-features.c
wchar_t.c
woa-defaults.c Basic: correct `__WINT_TYPE__` on Windows 2018-09-19 16:18:55 +00:00
woa-wchar_t.c
x86_target_features.c This patch aims to match the changes introduced 2018-05-18 11:56:21 +00:00