File tree Expand file tree Collapse file tree 3 files changed +45
-26
lines changed Expand file tree Collapse file tree 3 files changed +45
-26
lines changed Original file line number Diff line number Diff line change @@ -1864,6 +1864,11 @@ class TargetInfo : public TransferrableTargetInfo,
18641864 void CheckFixedPointBits () const ;
18651865};
18661866
1867+ namespace targets {
1868+ std::unique_ptr<clang::TargetInfo>
1869+ AllocateTarget (const llvm::Triple &Triple, const clang::TargetOptions &Opts);
1870+ } // namespace targets
1871+
18671872} // end namespace clang
18681873
18691874#endif
Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff line change 1515#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_H
1616#define LLVM_CLANG_LIB_BASIC_TARGETS_H
1717
18- #include " clang/Basic/LangOptions.h"
19- #include " clang/Basic/MacroBuilder.h"
18+ #include " TargetDefines.h"
2019#include " clang/Basic/TargetInfo.h"
21- #include " llvm/ADT/StringRef.h"
2220
23- namespace clang {
24- namespace targets {
25-
26- LLVM_LIBRARY_VISIBILITY
27- std::unique_ptr<clang::TargetInfo>
28- AllocateTarget (const llvm::Triple &Triple, 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
4621#endif // LLVM_CLANG_LIB_BASIC_TARGETS_H
You can’t perform that action at this time.
0 commit comments