Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/clang/lib/Basic/TargetDefines.h
213766 views
1
//===------- TargetDefines.h - Target define helpers ------------*- 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 a series of helper functions for defining target-specific
10
// macros.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CLANG_LIB_BASIC_TARGETDEFINES_H
15
#define LLVM_CLANG_LIB_BASIC_TARGETDEFINES_H
16
17
#include "clang/Basic/LangOptions.h"
18
#include "clang/Basic/MacroBuilder.h"
19
#include "llvm/ADT/StringRef.h"
20
21
namespace clang {
22
namespace targets {
23
/// Define a macro name and standard variants. For example if MacroName is
24
/// "unix", then this will define "__unix", "__unix__", and "unix" when in GNU
25
/// mode.
26
LLVM_LIBRARY_VISIBILITY
27
void DefineStd(clang::MacroBuilder &Builder, llvm::StringRef MacroName,
28
const clang::LangOptions &Opts);
29
30
LLVM_LIBRARY_VISIBILITY
31
void defineCPUMacros(clang::MacroBuilder &Builder, llvm::StringRef CPUName,
32
bool Tuning = true);
33
34
LLVM_LIBRARY_VISIBILITY
35
void addCygMingDefines(const clang::LangOptions &Opts,
36
clang::MacroBuilder &Builder);
37
} // namespace targets
38
} // namespace clang
39
#endif // LLVM_CLANG_LIB_BASIC_TARGETDEFINES_H
40
41