Skip to content

Commit 3a1b075

Browse files
author
Vyacheslav Zakharin
committed
Define __SPIR__ macro for spir/spir64 targets.
Differential Revision: https://reviews.llvm.org/D80655
1 parent a23d0a0 commit 3a1b075

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

clang/lib/Basic/Targets/SPIR.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ void SPIRTargetInfo::getTargetDefines(const LangOptions &Opts,
2323

2424
void SPIR32TargetInfo::getTargetDefines(const LangOptions &Opts,
2525
MacroBuilder &Builder) const {
26+
SPIRTargetInfo::getTargetDefines(Opts, Builder);
2627
DefineStd(Builder, "SPIR32", Opts);
2728
}
2829

2930
void SPIR64TargetInfo::getTargetDefines(const LangOptions &Opts,
3031
MacroBuilder &Builder) const {
32+
SPIRTargetInfo::getTargetDefines(Opts, Builder);
3133
DefineStd(Builder, "SPIR64", Opts);
3234
}

clang/test/Preprocessor/predefined-macros.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,17 @@
173173

174174
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir-unknown-unknown \
175175
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR
176-
// CHECK-SPIR: #define __IMAGE_SUPPORT__ 1
176+
// CHECK-SPIR-DAG: #define __IMAGE_SUPPORT__ 1
177+
// CHECK-SPIR-DAG: #define __SPIR__ 1
178+
// CHECK-SPIR-DAG: #define __SPIR32__ 1
179+
// CHECK-SPIR-NOT: #define __SPIR64__ 1
180+
181+
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir64-unknown-unknown \
182+
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR64
183+
// CHECK-SPIR64-DAG: #define __IMAGE_SUPPORT__ 1
184+
// CHECK-SPIR64-DAG: #define __SPIR__ 1
185+
// CHECK-SPIR64-DAG: #define __SPIR64__ 1
186+
// CHECK-SPIR64-NOT: #define __SPIR32__ 1
177187

178188
// RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
179189
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP

0 commit comments

Comments
 (0)