clang
16.0.0git
lib
Basic
Targets.h
Go to the documentation of this file.
1
//===------- Targets.h - Declare target feature support ---------*- C++ -*-===//
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 declares things required for construction of a TargetInfo object
10
// from a target triple. Typically individual targets will need to include from
11
// here in order to get these functions if required.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_H
16
#define LLVM_CLANG_LIB_BASIC_TARGETS_H
17
18
#include "
clang/Basic/LangOptions.h
"
19
#include "
clang/Basic/MacroBuilder.h
"
20
#include "
clang/Basic/TargetInfo.h
"
21
#include "llvm/ADT/StringRef.h"
22
23
namespace
clang
{
24
namespace
targets {
25
26
LLVM_LIBRARY_VISIBILITY
27
clang::TargetInfo
*
AllocateTarget
(
const
llvm::Triple &Triple,
28
const
clang::TargetOptions
&Opts);
29
30
/// DefineStd - Define a macro name and standard variants. For example if
31
/// MacroName is "unix", then this will define "__unix", "__unix__", and "unix"
32
/// when in GNU mode.
33
LLVM_LIBRARY_VISIBILITY
34
void
DefineStd
(
clang::MacroBuilder
&Builder, llvm::StringRef MacroName,
35
const
clang::LangOptions
&Opts);
36
37
LLVM_LIBRARY_VISIBILITY
38
void
defineCPUMacros
(
clang::MacroBuilder
&Builder, llvm::StringRef CPUName,
39
bool
Tuning =
true
);
40
41
LLVM_LIBRARY_VISIBILITY
42
void
addCygMingDefines
(
const
clang::LangOptions
&Opts,
43
clang::MacroBuilder
&Builder);
44
}
// namespace targets
45
}
// namespace clang
46
#endif // LLVM_CLANG_LIB_BASIC_TARGETS_H
clang::targets::AllocateTarget
TargetInfo * AllocateTarget(const llvm::Triple &Triple, const TargetOptions &Opts)
Definition:
Targets.cpp:109
TargetInfo.h
clang::TargetInfo
Exposes information about the current target.
Definition:
TargetInfo.h:191
clang::targets::addCygMingDefines
void addCygMingDefines(const LangOptions &Opts, MacroBuilder &Builder)
Definition:
Targets.cpp:81
LangOptions.h
MacroBuilder.h
clang::targets::DefineStd
void DefineStd(MacroBuilder &Builder, StringRef MacroName, const LangOptions &Opts)
DefineStd - Define a macro name and standard variants.
Definition:
Targets.cpp:58
clang::LangOptions
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Definition:
LangOptions.h:78
clang
Definition:
CalledOnceCheck.h:17
clang::TargetOptions
Options for controlling the target.
Definition:
TargetOptions.h:26
clang::MacroBuilder
Definition:
MacroBuilder.h:23
clang::targets::defineCPUMacros
void defineCPUMacros(MacroBuilder &Builder, StringRef CPUName, bool Tuning)
Definition:
Targets.cpp:74
Generated on Sun Aug 14 2022 16:28:09 for clang by
1.8.17