From 144f004c5599e0d6466768d06c511152886fdd46 Mon Sep 17 00:00:00 2001 From: Elizabeth Andrews Date: Tue, 26 Oct 2021 14:41:25 -0700 Subject: [PATCH] [SYCL] Define SYCL_DISABLE_FALLBACK_ASSERT macro Define SYCL_DISABLE_FALLBACK_ASSERT for FPGA Signed-off-by: Elizabeth Andrews --- clang/lib/Frontend/InitPreprocessor.cpp | 4 +++- .../Preprocessor/sycl-macro-target-specific.cpp | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index d3c3c68d63fb..6889563c79f7 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -1198,8 +1198,10 @@ static void InitializePredefinedMacros(const TargetInfo &TI, DeviceSubArch != llvm::Triple::SPIRSubArch_fpga) Builder.defineMacro("SYCL_USE_NATIVE_FP_ATOMICS"); // Enable generation of USM address spaces for FPGA. - if (DeviceSubArch == llvm::Triple::SPIRSubArch_fpga) + if (DeviceSubArch == llvm::Triple::SPIRSubArch_fpga) { Builder.defineMacro("__ENABLE_USM_ADDR_SPACE__"); + Builder.defineMacro("SYCL_DISABLE_FALLBACK_ASSERT"); + } } if (LangOpts.SYCLUnnamedLambda) Builder.defineMacro("__SYCL_UNNAMED_LAMBDA__"); diff --git a/clang/test/Preprocessor/sycl-macro-target-specific.cpp b/clang/test/Preprocessor/sycl-macro-target-specific.cpp index a33c274a2694..b486ffb1a728 100644 --- a/clang/test/Preprocessor/sycl-macro-target-specific.cpp +++ b/clang/test/Preprocessor/sycl-macro-target-specific.cpp @@ -36,3 +36,16 @@ // RUN: | FileCheck --check-prefix=CHECK-USM-ADDR-SPACE-NEG %s // CHECK-USM-ADDR-SPACE: #define __ENABLE_USM_ADDR_SPACE__ // CHECK-USM-ADDR-SPACE-NEG-NOT: #define __ENABLE_USM_ADDR_SPACE__ + +// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_fpga-unknown-unknown -E -dM \ +// RUN: | FileCheck --check-prefix=CHECK-DISABLE-FALLBACK-ASSERT %s +// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64-unknown-unknown -E -dM \ +// RUN: | FileCheck --check-prefix=CHECK-DISABLE-FALLBACK-ASSERT-NEG %s +// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_gen-unknown-unknown -E -dM \ +// RUN: | FileCheck --check-prefix=CHECK-DISABLE-FALLBACK-ASSERT-NEG %s +// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_x86_64-unknown-unknown -E -dM \ +// RUN: | FileCheck --check-prefix=CHECK-DISABLE-FALLBACK-ASSERT-NEG %s +// RUN: %clang_cc1 %s -fsycl-is-device -triple nvptx64-nvidia-nvcl -E -dM \ +// RUN: | FileCheck --check-prefix=CHECK-DISABLE-FALLBACK-ASSERT-NEG %s +// CHECK-DISABLE-FALLBACK-ASSERT: #define SYCL_DISABLE_FALLBACK_ASSERT +// CHECK-DISABLE-FALLBACK-ASSERT-NEG-NOT: #define SYCL_DISABLE_FALLBACK_ASSERT