Author: jdevlieghere Date: Thu Sep 12 22:16:59 2019 New Revision: 371813 URL: http://llvm.org/viewvc/llvm-project?rev=371813&view=rev Log: Revert "For PR17164: split -fno-lax-vector-conversion into three different"
This breaks the LLDB build. I tried reaching out to Richard, but haven't gotten a reply yet. Modified: cfe/trunk/include/clang/Basic/LangOptions.def cfe/trunk/include/clang/Basic/LangOptions.h cfe/trunk/include/clang/Driver/Options.td cfe/trunk/lib/Driver/ToolChains/Clang.cpp cfe/trunk/lib/Frontend/CompilerInvocation.cpp cfe/trunk/lib/Sema/SemaExpr.cpp cfe/trunk/test/CodeGen/builtins-systemz-vector.c cfe/trunk/test/CodeGen/builtins-systemz-vector2.c cfe/trunk/test/CodeGen/builtins-systemz-vector3.c cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c cfe/trunk/test/CodeGen/builtins-systemz-zvector.c cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c cfe/trunk/test/CodeGen/builtins-wasm.c cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp cfe/trunk/test/Headers/altivec-header.c cfe/trunk/test/Headers/arm-neon-header.c cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp cfe/trunk/test/Headers/x86-intrinsics-headers.c cfe/trunk/test/Headers/x86intrin-2.c cfe/trunk/test/Headers/x86intrin.c cfe/trunk/test/Sema/ext_vector_casts.c cfe/trunk/test/Sema/typedef-retain.c cfe/trunk/test/Sema/zvector.c cfe/trunk/test/Sema/zvector2.c cfe/trunk/test/SemaCXX/altivec.cpp cfe/trunk/test/SemaCXX/vector-no-lax.cpp cfe/trunk/test/SemaCXX/vector.cpp Modified: cfe/trunk/include/clang/Basic/LangOptions.def URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.def?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/LangOptions.def (original) +++ cfe/trunk/include/clang/Basic/LangOptions.def Thu Sep 12 22:16:59 2019 @@ -119,8 +119,7 @@ LANGOPT(AppleKext , 1, 0, "Apple BENIGN_LANGOPT(PascalStrings, 1, 0, "Pascal string support") LANGOPT(WritableStrings , 1, 0, "writable string support") LANGOPT(ConstStrings , 1, 0, "const-qualified string support") -ENUM_LANGOPT(LaxVectorConversions, LaxVectorConversionKind, 2, - LaxVectorConversionKind::All, "lax vector conversions") +LANGOPT(LaxVectorConversions , 1, 1, "lax vector conversions") LANGOPT(AltiVec , 1, 0, "AltiVec-style vector initializers") LANGOPT(ZVector , 1, 0, "System z vector extensions") LANGOPT(Exceptions , 1, 0, "exception handling") Modified: cfe/trunk/include/clang/Basic/LangOptions.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.h?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/LangOptions.h (original) +++ cfe/trunk/include/clang/Basic/LangOptions.h Thu Sep 12 22:16:59 2019 @@ -184,16 +184,6 @@ public: FEA_On }; - enum class LaxVectorConversionKind { - /// Permit no implicit vector bitcasts. - None, - /// Permit vector bitcasts between integer vectors with different numbers - /// of elements but the same total bit-width. - Integer, - /// Permit vector bitcasts between all vectors with the same total - /// bit-width. - All, - }; public: /// Set of enabled sanitizers. Modified: cfe/trunk/include/clang/Driver/Options.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/include/clang/Driver/Options.td (original) +++ cfe/trunk/include/clang/Driver/Options.td Thu Sep 12 22:16:59 2019 @@ -1274,10 +1274,7 @@ def fno_fine_grained_bitfield_accesses : HelpText<"Use large-integer access for consecutive bitfield runs.">; def flat__namespace : Flag<["-"], "flat_namespace">; -def flax_vector_conversions_EQ : Joined<["-"], "flax-vector-conversions=">, Group<f_Group>, - HelpText<"Enable implicit vector bit-casts">, Values<"none,integer,all">, Flags<[CC1Option]>; -def flax_vector_conversions : Flag<["-"], "flax-vector-conversions">, Group<f_Group>, - Alias<flax_vector_conversions_EQ>, AliasArgs<["integer"]>; +def flax_vector_conversions : Flag<["-"], "flax-vector-conversions">, Group<f_Group>; def flimited_precision_EQ : Joined<["-"], "flimited-precision=">, Group<f_Group>; def fapple_link_rtlib : Flag<["-"], "fapple-link-rtlib">, Group<f_Group>, HelpText<"Force linking the clang builtins runtime library">; @@ -1451,7 +1448,7 @@ def fno_experimental_new_pass_manager : def fveclib : Joined<["-"], "fveclib=">, Group<f_Group>, Flags<[CC1Option]>, HelpText<"Use the given vector functions library">, Values<"Accelerate,MASSV,SVML,none">; def fno_lax_vector_conversions : Flag<["-"], "fno-lax-vector-conversions">, Group<f_Group>, - Alias<flax_vector_conversions_EQ>, AliasArgs<["none"]>; + HelpText<"Disallow implicit conversions between vectors with a different number of elements or different element types">, Flags<[CC1Option]>; def fno_merge_all_constants : Flag<["-"], "fno-merge-all-constants">, Group<f_Group>, HelpText<"Disallow merging of constants">; def fno_modules : Flag <["-"], "fno-modules">, Group<f_Group>, Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Sep 12 22:16:59 2019 @@ -4678,11 +4678,15 @@ void Clang::ConstructJob(Compilation &C, if (TC.SupportsProfiling()) Args.AddLastArg(CmdArgs, options::OPT_mfentry); + // -flax-vector-conversions is default. + if (!Args.hasFlag(options::OPT_flax_vector_conversions, + options::OPT_fno_lax_vector_conversions)) + CmdArgs.push_back("-fno-lax-vector-conversions"); + if (Args.getLastArg(options::OPT_fapple_kext) || (Args.hasArg(options::OPT_mkernel) && types::isCXX(InputType))) CmdArgs.push_back("-fapple-kext"); - Args.AddLastArg(CmdArgs, options::OPT_flax_vector_conversions_EQ); Args.AddLastArg(CmdArgs, options::OPT_fobjc_sender_dependent_dispatch); Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_print_source_range_info); Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_parseable_fixits); Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original) +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Sep 12 22:16:59 2019 @@ -2265,7 +2265,7 @@ void CompilerInvocation::setLangDefaults if (Opts.OpenCL) { Opts.AltiVec = 0; Opts.ZVector = 0; - Opts.setLaxVectorConversions(LangOptions::LaxVectorConversionKind::None); + Opts.LaxVectorConversions = 0; Opts.setDefaultFPContractMode(LangOptions::FPC_On); Opts.NativeHalfType = 1; Opts.NativeHalfArgsAndReturns = 1; @@ -2667,18 +2667,8 @@ static void ParseLangArgs(LangOptions &O Opts.WritableStrings = Args.hasArg(OPT_fwritable_strings); Opts.ConstStrings = Args.hasFlag(OPT_fconst_strings, OPT_fno_const_strings, Opts.ConstStrings); - if (Arg *A = Args.getLastArg(OPT_flax_vector_conversions_EQ)) { - using LaxKind = LangOptions::LaxVectorConversionKind; - if (auto Kind = llvm::StringSwitch<Optional<LaxKind>>(A->getValue()) - .Case("none", LaxKind::None) - .Case("integer", LaxKind::Integer) - .Case("all", LaxKind::All) - .Default(llvm::None)) - Opts.setLaxVectorConversions(*Kind); - else - Diags.Report(diag::err_drv_invalid_value) - << A->getAsString(Args) << A->getValue(); - } + if (Args.hasArg(OPT_fno_lax_vector_conversions)) + Opts.LaxVectorConversions = 0; if (Args.hasArg(OPT_fno_threadsafe_statics)) Opts.ThreadsafeStatics = 0; Opts.Exceptions = Args.hasArg(OPT_fexceptions); Modified: cfe/trunk/lib/Sema/SemaExpr.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaExpr.cpp (original) +++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Sep 12 22:16:59 2019 @@ -6498,28 +6498,8 @@ bool Sema::areLaxCompatibleVectorTypes(Q bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) { assert(destTy->isVectorType() || srcTy->isVectorType()); - switch (Context.getLangOpts().getLaxVectorConversions()) { - case LangOptions::LaxVectorConversionKind::None: + if (!Context.getLangOpts().LaxVectorConversions) return false; - - case LangOptions::LaxVectorConversionKind::Integer: - if (!srcTy->isIntegralOrEnumerationType()) { - auto *Vec = srcTy->getAs<VectorType>(); - if (!Vec || !Vec->getElementType()->isIntegralOrEnumerationType()) - return false; - } - if (!destTy->isIntegralOrEnumerationType()) { - auto *Vec = destTy->getAs<VectorType>(); - if (!Vec || !Vec->getElementType()->isIntegralOrEnumerationType()) - return false; - } - // OK, integer (vector) -> integer (vector) bitcast. - break; - - case LangOptions::LaxVectorConversionKind::All: - break; - } - return areLaxCompatibleVectorTypes(srcTy, destTy); } Modified: cfe/trunk/test/CodeGen/builtins-systemz-vector.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-vector.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-vector.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-vector.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // REQUIRES: systemz-registered-target -// RUN: %clang_cc1 -target-cpu z13 -triple s390x-ibm-linux -flax-vector-conversions=none \ +// RUN: %clang_cc1 -target-cpu z13 -triple s390x-ibm-linux -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s typedef __attribute__((vector_size(16))) signed char vec_schar; Modified: cfe/trunk/test/CodeGen/builtins-systemz-vector2.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-vector2.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-vector2.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-vector2.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // REQUIRES: systemz-registered-target -// RUN: %clang_cc1 -target-cpu z14 -triple s390x-ibm-linux -flax-vector-conversions=none \ +// RUN: %clang_cc1 -target-cpu z14 -triple s390x-ibm-linux -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s typedef __attribute__((vector_size(16))) signed char vec_schar; Modified: cfe/trunk/test/CodeGen/builtins-systemz-vector3.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-vector3.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-vector3.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-vector3.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // REQUIRES: systemz-registered-target -// RUN: %clang_cc1 -target-cpu arch13 -triple s390x-ibm-linux -flax-vector-conversions=none \ +// RUN: %clang_cc1 -target-cpu arch13 -triple s390x-ibm-linux -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s typedef __attribute__((vector_size(16))) signed char vec_schar; Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c Thu Sep 12 22:16:59 2019 @@ -1,6 +1,6 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -fzvector -flax-vector-conversions=none \ +// RUN: -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s #include <vecintrin.h> Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-zvector.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-zvector.c Thu Sep 12 22:16:59 2019 @@ -1,9 +1,9 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM #include <vecintrin.h> Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c Thu Sep 12 22:16:59 2019 @@ -1,6 +1,6 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -fzvector -flax-vector-conversions=none \ +// RUN: -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s #include <vecintrin.h> Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c Thu Sep 12 22:16:59 2019 @@ -1,9 +1,9 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM #include <vecintrin.h> Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c Thu Sep 12 22:16:59 2019 @@ -1,6 +1,6 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu arch13 -triple s390x-linux-gnu \ -// RUN: -fzvector -flax-vector-conversions=none \ +// RUN: -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s #include <vecintrin.h> Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c (original) +++ cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c Thu Sep 12 22:16:59 2019 @@ -1,9 +1,9 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu arch13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu arch13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O -fzvector -fno-lax-vector-conversions \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM #include <vecintrin.h> Modified: cfe/trunk/test/CodeGen/builtins-wasm.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-wasm.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins-wasm.c (original) +++ cfe/trunk/test/CodeGen/builtins-wasm.c Thu Sep 12 22:16:59 2019 @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -triple wasm32-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -flax-vector-conversions=none -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY32 -// RUN: %clang_cc1 -triple wasm64-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -flax-vector-conversions=none -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY64 -// RUN: not %clang_cc1 -triple wasm64-unknown-unknown -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -flax-vector-conversions=none -O3 -emit-llvm -o - %s 2>&1 | FileCheck %s -check-prefixes MISSING-SIMD +// RUN: %clang_cc1 -triple wasm32-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -fno-lax-vector-conversions -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY32 +// RUN: %clang_cc1 -triple wasm64-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -fno-lax-vector-conversions -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY64 +// RUN: not %clang_cc1 -triple wasm64-unknown-unknown -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -fno-lax-vector-conversions -O3 -emit-llvm -o - %s 2>&1 | FileCheck %s -check-prefixes MISSING-SIMD // SIMD convenience types typedef char i8x16 __attribute((vector_size(16))); Modified: cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp (original) +++ cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp Thu Sep 12 22:16:59 2019 @@ -1,6 +1,6 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -fzvector -flax-vector-conversions=none -std=c++11 \ +// RUN: -fzvector -fno-lax-vector-conversions -std=c++11 \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s bool gb; Modified: cfe/trunk/test/Headers/altivec-header.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/altivec-header.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Headers/altivec-header.c (original) +++ cfe/trunk/test/Headers/altivec-header.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -o - %s | FileCheck %s -// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -flax-vector-conversions=none -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -fno-lax-vector-conversions -o - %s | FileCheck %s // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -x c++ -o - %s | FileCheck %s #include <altivec.h> Modified: cfe/trunk/test/Headers/arm-neon-header.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/arm-neon-header.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Headers/arm-neon-header.c (original) +++ cfe/trunk/test/Headers/arm-neon-header.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -Wvector-conversions -ffreestanding %s -// RUN: %clang_cc1 -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -flax-vector-conversions=none -ffreestanding %s +// RUN: %clang_cc1 -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -fno-lax-vector-conversions -ffreestanding %s // RUN: %clang_cc1 -x c++ -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -Wvector-conversions -ffreestanding %s // RUN: %clang -fsyntax-only -ffreestanding --target=aarch64-none-eabi -march=armv8.2-a+fp16 -std=c89 -xc %s Modified: cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp (original) +++ cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp Thu Sep 12 22:16:59 2019 @@ -1,7 +1,7 @@ // Make sure the intrinsic headers compile cleanly with no warnings or errors. // RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-unknown -Wsystem-headers \ -// RUN: -fsyntax-only -flax-vector-conversions=none -x c++ -verify %s +// RUN: -fsyntax-only -fno-lax-vector-conversions -x c++ -verify %s // expected-no-diagnostics Modified: cfe/trunk/test/Headers/x86-intrinsics-headers.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86-intrinsics-headers.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Headers/x86-intrinsics-headers.c (original) +++ cfe/trunk/test/Headers/x86-intrinsics-headers.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -// RUN: %clang_cc1 -fsyntax-only -ffreestanding -flax-vector-conversions=none %s +// RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s #if defined(i386) || defined(__x86_64__) Modified: cfe/trunk/test/Headers/x86intrin-2.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86intrin-2.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Headers/x86intrin-2.c (original) +++ cfe/trunk/test/Headers/x86intrin-2.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify -// RUN: %clang_cc1 -fsyntax-only -ffreestanding -flax-vector-conversions=none %s -verify +// RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s -verify // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify // expected-no-diagnostics Modified: cfe/trunk/test/Headers/x86intrin.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86intrin.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Headers/x86intrin.c (original) +++ cfe/trunk/test/Headers/x86intrin.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify -// RUN: %clang_cc1 -fsyntax-only -ffreestanding -flax-vector-conversions=none %s -verify +// RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s -verify // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify // expected-no-diagnostics Modified: cfe/trunk/test/Sema/ext_vector_casts.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/ext_vector_casts.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Sema/ext_vector_casts.c (original) +++ cfe/trunk/test/Sema/ext_vector_casts.c Thu Sep 12 22:16:59 2019 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-macos10.7.0 -fsyntax-only -verify -flax-vector-conversions=none -Wconversion %s +// RUN: %clang_cc1 -triple x86_64-apple-macos10.7.0 -fsyntax-only -verify -fno-lax-vector-conversions -Wconversion %s typedef __attribute__((ext_vector_type(8))) _Bool BoolVector; // expected-error {{invalid vector element type '_Bool'}} Modified: cfe/trunk/test/Sema/typedef-retain.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/typedef-retain.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Sema/typedef-retain.c (original) +++ cfe/trunk/test/Sema/typedef-retain.c Thu Sep 12 22:16:59 2019 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -flax-vector-conversions=none +// RUN: %clang_cc1 -fsyntax-only -verify %s -fno-lax-vector-conversions typedef float float4 __attribute__((vector_size(16))); typedef int int4 __attribute__((vector_size(16))); Modified: cfe/trunk/test/Sema/zvector.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/zvector.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Sema/zvector.c (original) +++ cfe/trunk/test/Sema/zvector.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -triple s390x-linux-gnu -fzvector \ -// RUN: -flax-vector-conversions=none -W -Wall -Wconversion \ +// RUN: -fno-lax-vector-conversions -W -Wall -Wconversion \ // RUN: -Werror -fsyntax-only -verify %s vector signed char sc, sc2; Modified: cfe/trunk/test/Sema/zvector2.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/zvector2.c?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/Sema/zvector2.c (original) +++ cfe/trunk/test/Sema/zvector2.c Thu Sep 12 22:16:59 2019 @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -triple s390x-linux-gnu -fzvector -target-cpu z14 \ -// RUN: -flax-vector-conversions=none -W -Wall -Wconversion \ +// RUN: -fno-lax-vector-conversions -W -Wall -Wconversion \ // RUN: -Werror -fsyntax-only -verify %s vector signed char sc, sc2; Modified: cfe/trunk/test/SemaCXX/altivec.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/altivec.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/SemaCXX/altivec.cpp (original) +++ cfe/trunk/test/SemaCXX/altivec.cpp Thu Sep 12 22:16:59 2019 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -target-feature +altivec -flax-vector-conversions=none -triple powerpc-unknown-unknown -fcxx-exceptions -verify %s +// RUN: %clang_cc1 -target-feature +altivec -fno-lax-vector-conversions -triple powerpc-unknown-unknown -fcxx-exceptions -verify %s typedef int V4i __attribute__((vector_size(16))); Modified: cfe/trunk/test/SemaCXX/vector-no-lax.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/vector-no-lax.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/SemaCXX/vector-no-lax.cpp (original) +++ cfe/trunk/test/SemaCXX/vector-no-lax.cpp Thu Sep 12 22:16:59 2019 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -flax-vector-conversions=none -verify %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fno-lax-vector-conversions -verify %s typedef unsigned int __attribute__((vector_size (16))) vUInt32; typedef int __attribute__((vector_size (16))) vSInt32; Modified: cfe/trunk/test/SemaCXX/vector.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/vector.cpp?rev=371813&r1=371812&r2=371813&view=diff ============================================================================== --- cfe/trunk/test/SemaCXX/vector.cpp (original) +++ cfe/trunk/test/SemaCXX/vector.cpp Thu Sep 12 22:16:59 2019 @@ -1,8 +1,6 @@ -// RUN: %clang_cc1 -flax-vector-conversions=all -triple x86_64-apple-darwin10 -fsyntax-only -verify %s -// RUN: %clang_cc1 -flax-vector-conversions=all -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++98 %s -// RUN: %clang_cc1 -flax-vector-conversions=all -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++11 %s -// RUN: %clang_cc1 -flax-vector-conversions=integer -triple x86_64-apple-darwin10 -fsyntax-only -verify %s -DNO_LAX_FLOAT -// RUN: %clang_cc1 -flax-vector-conversions=none -triple x86_64-apple-darwin10 -fsyntax-only -verify %s -DNO_LAX_FLOAT -DNO_LAX_INT +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++98 %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++11 %s typedef char char16 __attribute__ ((__vector_size__ (16))); typedef long long longlong16 __attribute__ ((__vector_size__ (16))); @@ -10,19 +8,13 @@ typedef char char16_e __attribute__ ((__ typedef long long longlong16_e __attribute__ ((__ext_vector_type__ (2))); // Test overloading and function calls with vector types. -void f0(char16); // expected-note 0+{{candidate}} +void f0(char16); void f0_test(char16 c16, longlong16 ll16, char16_e c16e, longlong16_e ll16e) { f0(c16); f0(ll16); -#ifdef NO_LAX_INT - // expected-error@-2 {{no matching function}} -#endif f0(c16e); f0(ll16e); -#ifdef NO_LAX_INT - // expected-error@-2 {{no matching function}} -#endif } int &f1(char16); @@ -35,14 +27,12 @@ void f1_test(char16 c16, longlong16 ll16 float &fr2 = f1(ll16e); } -void f2(char16_e); // expected-note 0+{{candidate}} +void f2(char16_e); // expected-note{{no known conversion from 'longlong16_e' (vector of 2 'long long' values) to 'char16_e' (vector of 16 'char' values) for 1st argument}} \ + // expected-note{{candidate function not viable: no known conversion from 'convertible_to<longlong16_e>' to 'char16_e' (vector of 16 'char' values) for 1st argument}} void f2_test(char16 c16, longlong16 ll16, char16_e c16e, longlong16_e ll16e) { f2(c16); f2(ll16); -#ifdef NO_LAX_INT - // expected-error@-2 {{no matching function}} -#endif f2(c16e); f2(ll16e); // expected-error{{no matching function}} f2('a'); @@ -68,11 +58,6 @@ void conditional(bool Cond, char16 c16, (void)(Cond? c16 : ll16); (void)(Cond? ll16e : c16e); (void)(Cond? ll16e : c16); -#ifdef NO_LAX_INT - // expected-error@-4 {{cannot convert}} - // expected-error@-4 {{cannot convert}} - // expected-error@-4 {{cannot convert}} -#endif } // Test C++ cast'ing of vector types. @@ -100,16 +85,9 @@ void casts(longlong16 ll16, longlong16_e // static_cast (void)static_cast<char16>(ll16); (void)static_cast<char16_e>(ll16); -#ifdef NO_LAX_INT - // expected-error@-3 {{not allowed}} - // expected-error@-3 {{not allowed}} -#endif (void)static_cast<longlong16>(ll16); (void)static_cast<longlong16_e>(ll16); (void)static_cast<char16>(ll16e); -#ifdef NO_LAX_INT - // expected-error@-2 {{not allowed}} -#endif (void)static_cast<char16_e>(ll16e); // expected-error{{static_cast from 'longlong16_e' (vector of 2 'long long' values) to 'char16_e' (vector of 16 'char' values) is not allowed}} (void)static_cast<longlong16>(ll16e); (void)static_cast<longlong16_e>(ll16e); @@ -143,19 +121,10 @@ void test_implicit_conversions(bool Cond convertible_to<char16_e&> rto_c16e) { f0(to_c16); f0(to_ll16); -#ifdef NO_LAX_INT - // expected-error@-2 {{no matching function}} -#endif f0(to_c16e); f0(to_ll16e); -#ifdef NO_LAX_INT - // expected-error@-2 {{no matching function}} -#endif f2(to_c16); f2(to_ll16); -#ifdef NO_LAX_INT - // expected-error@-2 {{no matching function}} -#endif f2(to_c16e); f2(to_ll16e); // expected-error{{no matching function}} @@ -224,10 +193,6 @@ void test_implicit_conversions(bool Cond // These 2 are convertible with -flax-vector-conversions (default) (void)(Cond? to_c16 : to_ll16); (void)(Cond? to_c16e : to_ll16e); -#ifdef NO_LAX_INT - // expected-error@-3 {{cannot convert}} - // expected-error@-3 {{cannot convert}} -#endif } typedef float fltx2 __attribute__((__vector_size__(8))); @@ -238,10 +203,6 @@ typedef double dblx4 __attribute__((__ve void accept_fltx2(fltx2); // expected-note{{candidate function not viable: no known conversion from 'double' to 'fltx2' (vector of 2 'float' values) for 1st argument}} void accept_fltx4(fltx4); void accept_dblx2(dblx2); -#ifdef NO_LAX_FLOAT -// expected-note@-3 {{no known conversion}} -// expected-note@-3 {{no known conversion}} -#endif void accept_dblx4(dblx4); void accept_bool(bool); // expected-note{{candidate function not viable: no known conversion from 'fltx2' (vector of 2 'float' values) to 'bool' for 1st argument}} @@ -253,12 +214,9 @@ void test(fltx2 fltx2_val, fltx4 fltx4_v accept_dblx4(dblx4_val); // Same-size conversions + // FIXME: G++ rejects these conversions, we accept them. Revisit this! accept_fltx4(dblx2_val); accept_dblx2(fltx4_val); -#ifdef NO_LAX_FLOAT - // expected-error@-3 {{no matching function}} - // expected-error@-3 {{no matching function}} -#endif // Conversion to bool. accept_bool(fltx2_val); // expected-error{{no matching function for call to 'accept_bool'}} @@ -269,9 +227,9 @@ void test(fltx2 fltx2_val, fltx4 fltx4_v typedef int intx4 __attribute__((__vector_size__(16))); typedef int inte4 __attribute__((__ext_vector_type__(4))); -typedef float flte4 __attribute__((__ext_vector_type__(4))); +typedef int flte4 __attribute__((__ext_vector_type__(4))); -void test_mixed_vector_types(fltx4 f, intx4 n, flte4 g, inte4 m) { +void test_mixed_vector_types(fltx4 f, intx4 n, flte4 g, flte4 m) { (void)(f == g); (void)(g != f); (void)(f <= g); @@ -337,40 +295,40 @@ typedef bool bad __attribute__((__vector namespace Templates { template <typename Elt, unsigned Size> struct TemplateVectorType { - typedef Elt __attribute__((__vector_size__(Size))) type; // #1 + typedef Elt __attribute__((__vector_size__(Size))) type; }; template <int N, typename T> struct PR15730 { typedef T __attribute__((vector_size(N * sizeof(T)))) type; - typedef T __attribute__((vector_size(8192))) type2; // #2 - typedef T __attribute__((vector_size(3))) type3; // #3 + typedef T __attribute__((vector_size(8192))) type2; + typedef T __attribute__((vector_size(3))) type3; }; void Init() { const TemplateVectorType<float, 32>::type Works = {}; const TemplateVectorType<int, 32>::type Works2 = {}; - // expected-error@#1 {{invalid vector element type 'bool'}} + // expected-error@298 {{invalid vector element type 'bool'}} // expected-note@+1 {{in instantiation of template class 'Templates::TemplateVectorType<bool, 32>' requested here}} const TemplateVectorType<bool, 32>::type NoBool; - // expected-error@#1 {{invalid vector element type 'int __attribute__((ext_vector_type(4)))' (vector of 4 'int' values)}} + // expected-error@298 {{invalid vector element type 'int __attribute__((ext_vector_type(4)))' (vector of 4 'int' values)}} // expected-note@+1 {{in instantiation of template class 'Templates::TemplateVectorType<int __attribute__((ext_vector_type(4))), 32>' requested here}} const TemplateVectorType<vi4, 32>::type NoComplex; - // expected-error@#1 {{vector size not an integral multiple of component size}} + // expected-error@298 {{vector size not an integral multiple of component size}} // expected-note@+1 {{in instantiation of template class 'Templates::TemplateVectorType<int, 33>' requested here}} const TemplateVectorType<int, 33>::type BadSize; - // expected-error@#1 {{vector size too large}} + // expected-error@298 {{vector size too large}} // expected-note@+1 {{in instantiation of template class 'Templates::TemplateVectorType<int, 8192>' requested here}} const TemplateVectorType<int, 8192>::type TooLarge; - // expected-error@#1 {{zero vector size}} + // expected-error@298 {{zero vector size}} // expected-note@+1 {{in instantiation of template class 'Templates::TemplateVectorType<int, 0>' requested here}} const TemplateVectorType<int, 0>::type Zero; - // expected-error@#2 {{vector size too large}} - // expected-error@#3 {{vector size not an integral multiple of component size}} + // expected-error@304 {{vector size too large}} + // expected-error@305 {{vector size not an integral multiple of component size}} // expected-note@+1 {{in instantiation of template class 'Templates::PR15730<8, int>' requested here}} const PR15730<8, int>::type PR15730_1 = {}; - // expected-error@#2 {{vector size too large}} + // expected-error@304 {{vector size too large}} // expected-note@+1 {{in instantiation of template class 'Templates::PR15730<8, char>' requested here}} const PR15730<8, char>::type2 PR15730_2 = {}; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits