CMake/Tests/CompileFeatures
Brad King 30139913e9 VS: Restore support for mixing C++23 and C in one target with clang-cl
Since commit 474eafe28c (clang-cl: Add support for C++23, 2024-09-13,
v3.31.0-rc1~97^2) we use a Clang-specific flag to enable C++23 since
`clang-cl` has no `-std:c++23` flag, and `-std:c++latest` may enable an
even newer version of C++.  However, in `.vcxproj` files there is no way
to express a target-wide `-clang:-std=c++23` flag for only C++ sources
when the target also has C sources.  Add a special case to map back to
`-std:c++latest` for targets with C++23 and C together.

Fixes: #26508
2024-12-09 14:57:35 -05:00
..
.gitattributes clang-format.bash: Use generic clang-format attribute 2023-01-18 11:48:49 -05:00
c_function_prototypes.c Features: Extend concept to C language. 2014-05-15 00:15:18 +02:00
c_restrict.c Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
c_static_assert.c Features: Extend concept to C language. 2014-05-15 00:15:18 +02:00
c_std_11.c Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
c_std_17.c Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
c_std_23.c Tests/CompileFeatures: Fix c_std_23 case with Clang < 14 2024-04-19 08:39:15 -04:00
c_std_90.c Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
c_std_99.c Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
c_std.h Tests/CompileFeatures: Factor out headers to compute C and C++ standard levels 2024-04-05 07:38:56 -04:00
c_variadic_macros.c Tests: Fix clang -Wstrict-prototypes warnings 2023-10-26 09:20:45 -04:00
CMakeLists.txt VS: Restore support for mixing C++23 and C in one target with clang-cl 2024-12-09 14:57:35 -05:00
cuda_std_03.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cuda_std_11.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cuda_std_14.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cuda_std_17.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cuda_std_20.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cuda_std_23.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cuda_std_26.cu Tests/CompileFeatures: Cover cuda_std_## meta-features 2024-04-19 08:39:15 -04:00
cxx_aggregate_default_initializers.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_alias_templates.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_alignas.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_alignof.cpp Features: Add cxx_alignof. 2014-04-08 11:05:56 +02:00
cxx_attribute_deprecated.cpp Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
cxx_attributes.cpp Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
cxx_auto_type.cpp Features: Ensure that the cxx_auto_type test is correct. 2015-01-17 14:48:27 +01:00
cxx_binary_literals.cpp Features: Add support for C++14 features. 2014-05-22 18:01:23 +02:00
cxx_constexpr.cpp Features: Add cxx_constexpr. 2014-04-08 11:05:54 +02:00
cxx_contextual_conversions.cpp Tests: Fix warning clang-analyzer-cplusplus.NewDeleteLeaks 2021-04-16 11:49:51 -04:00
cxx_decltype_auto.cpp Features: Add support for C++14 features. 2014-05-22 18:01:23 +02:00
cxx_decltype_incomplete_return_types.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_decltype.cpp Features: Add cxx_decltype. 2014-04-08 11:05:54 +02:00
cxx_default_function_template_args.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_defaulted_functions.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_defaulted_move_initializers.cpp Features: Add cxx_defaulted_move_initializers. 2014-04-08 11:05:58 +02:00
cxx_delegating_constructors.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_deleted_functions.cpp Features: Add cxx_deleted_functions. 2014-04-08 11:05:55 +02:00
cxx_digit_separators.cpp clang-format: format all code as Cpp11 2017-08-30 11:07:05 -04:00
cxx_enum_forward_declarations.cpp Features: Add cxx_enum_forward_declarations. 2014-04-08 11:05:57 +02:00
cxx_explicit_conversions.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_extended_friend_declarations.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_extern_templates.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_final.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_func_identifier.cpp Features: Add cxx_func_identifier. 2014-04-08 11:05:57 +02:00
cxx_generalized_initializers.cpp LCC: Add dedicated support for MCST LCC compiler 2021-10-15 05:05:19 +03:00
cxx_generic_lambdas.cpp Features: Add support for C++14 features. 2014-05-22 18:01:23 +02:00
cxx_inheriting_constructors.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_inline_namespaces.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_lambda_init_captures.cpp Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
cxx_lambdas.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_local_type_template_args.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_long_long_type.cpp Features: Add cxx_long_long_type. 2014-04-08 11:05:58 +02:00
cxx_noexcept.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_nonstatic_member_init.cpp Features: Add cxx_nonstatic_member_init. 2014-04-08 11:05:55 +02:00
cxx_nullptr.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_override.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_range_for.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_raw_string_literals.cpp clang-format: format all code as Cpp11 2017-08-30 11:07:05 -04:00
cxx_reference_qualified_functions.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_relaxed_constexpr.cpp CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements 2019-05-13 13:11:32 -04:00
cxx_return_type_deduction.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_right_angle_brackets.cpp Features: Fix cxx_right_angle_brackets compiler feature test 2016-10-25 13:38:12 -04:00
cxx_rvalue_references.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_sizeof_member.cpp Features: Add cxx_sizeof_member. 2014-04-08 11:05:57 +02:00
cxx_static_assert.cpp Features: Add cxx_static_assert. 2014-04-08 11:05:54 +02:00
cxx_std_11.cpp Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
cxx_std_14.cpp Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
cxx_std_17.cpp Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
cxx_std_20.cpp Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
cxx_std_23.cpp Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
cxx_std_26.cpp C++26: Fix C++/CUDA/HIP compile feature support 2024-04-09 11:38:59 +03:00
cxx_std_98.cpp Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features 2024-04-05 07:38:58 -04:00
cxx_std.h Clang: Fix detection of C++26 when targeting MSVC ABI 2024-04-09 11:38:51 +03:00
cxx_strong_enums.cpp Features: Add cxx_strong_enums. 2014-04-08 11:05:54 +02:00
cxx_template_template_parameters.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_thread_local.cpp Features: Add cxx_thread_local. 2014-04-08 11:05:57 +02:00
cxx_trailing_return_types.cpp Features: Add cxx_auto_function. 2014-04-08 11:05:54 +02:00
cxx_unicode_literals.cpp Tests: Protect unicode literals from clang-format Cpp03 formatting 2016-05-11 10:37:45 -04:00
cxx_uniform_initialization.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_unrestricted_unions.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_user_literals.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_variable_templates.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
cxx_variadic_macros.cpp Features: Add cxx_variadic_macros. 2014-04-08 11:05:57 +02:00
cxx_variadic_templates.cpp Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
default_dialect.c Tests/CompileFeatures: Factor out headers to compute C and C++ standard levels 2024-04-05 07:38:56 -04:00
default_dialect.cpp C++26: Support detection as the default standard 2024-04-16 15:34:57 -04:00
default_dialect.cu Tests/CompileFeatures: Cover CUDA default standard level 2024-04-18 08:30:38 -04:00
feature_test.c Features: Fix CompileFeatures test for C non-features 2015-01-21 15:40:47 -05:00
feature_test.cpp Tests: Make CompileFeature tests use highest standard known. 2014-05-09 14:39:30 +02:00
genex_test.c Tests: Fix clang -Wstrict-prototypes warnings 2023-10-26 09:20:45 -04:00
genex_test.cpp CMake: Support upcoming C++26 language level 2022-08-31 13:46:18 -04:00
hip_std_11.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
hip_std_14.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
hip_std_17.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
hip_std_20.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
hip_std_23.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
hip_std_26.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
hip_std_98.hip Tests/CompileFeatures: Cover hip_std_## meta-features 2024-05-28 14:36:50 -04:00
main.cpp Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
msvc_permissive.cxx Place language standard flags just after CMAKE_<LANG>_FLAGS 2022-11-18 11:44:52 -05:00