1//===--- DirectX.cpp - Implement DirectX target feature support -----------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file implements DirectX TargetInfo objects.
10//
11//===----------------------------------------------------------------------===//
12
13#include "DirectX.h"
14#include "Targets.h"
15#include "clang/Basic/TargetBuiltins.h"
16
17using namespace clang;
18using namespace clang::targets;
19
20static constexpr int NumBuiltins =
21 clang::DirectX::LastTSBuiltin - Builtin::FirstTSBuiltin;
22
23#define GET_BUILTIN_STR_TABLE
24#include "clang/Basic/BuiltinsDirectX.inc"
25#undef GET_BUILTIN_STR_TABLE
26
27static constexpr Builtin::Info BuiltinInfos[] = {
28#define GET_BUILTIN_INFOS
29#include "clang/Basic/BuiltinsDirectX.inc"
30#undef GET_BUILTIN_INFOS
31};
32static_assert(std::size(BuiltinInfos) == NumBuiltins);
33
34void DirectXTargetInfo::getTargetDefines(const LangOptions &Opts,
35 MacroBuilder &Builder) const {
36 DefineStd(Builder, MacroName: "DIRECTX", Opts);
37}
38
39llvm::SmallVector<Builtin::InfosShard>
40DirectXTargetInfo::getTargetBuiltins() const {
41 return {{&BuiltinStrings, BuiltinInfos}};
42}
43

Provided by KDAB

Privacy Policy
Improve your Profiling and Debugging skills
Find out more

source code of clang/lib/Basic/Targets/DirectX.cpp