Skip to content

Commit 4b409fa

Browse files
committed
Merge from 'main' to 'sycl-web' (77 commits)
2 parents 00636ba + 2f50b28 commit 4b409fa

File tree

476 files changed

+16707
-4036
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

476 files changed

+16707
-4036
lines changed

.github/new-prs-labeler.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,3 +1008,8 @@ bazel:
10081008

10091009
offload:
10101010
- offload/**
1011+
1012+
tablegen:
1013+
- llvm/include/TableGen/**
1014+
- llvm/lib/TableGen/**
1015+
- llvm/utils/TableGen/**

clang-tools-extra/clangd/FS.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ PreambleFileStatusCache::getProducingFS(
6464
: ProxyFileSystem(std::move(FS)), StatCache(StatCache) {}
6565

6666
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
67-
openFileForRead(const llvm::Twine &Path, bool IsText = true) override {
68-
auto File = getUnderlyingFS().openFileForRead(Path, IsText);
67+
openFileForRead(const llvm::Twine &Path) override {
68+
auto File = getUnderlyingFS().openFileForRead(Path);
6969
if (!File || !*File)
7070
return File;
7171
// Eagerly stat opened file, as the followup `status` call on the file

clang-tools-extra/clangd/Preamble.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -479,9 +479,9 @@ class TimerFS : public llvm::vfs::ProxyFileSystem {
479479
: ProxyFileSystem(std::move(FS)) {}
480480

481481
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
482-
openFileForRead(const llvm::Twine &Path, bool IsText = true) override {
482+
openFileForRead(const llvm::Twine &Path) override {
483483
WallTimerRegion T(Timer);
484-
auto FileOr = getUnderlyingFS().openFileForRead(Path, IsText);
484+
auto FileOr = getUnderlyingFS().openFileForRead(Path);
485485
if (!FileOr)
486486
return FileOr;
487487
return std::make_unique<TimerFile>(Timer, std::move(FileOr.get()));

clang-tools-extra/clangd/support/ThreadsafeFS.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class VolatileFileSystem : public llvm::vfs::ProxyFileSystem {
2929
: ProxyFileSystem(std::move(FS)) {}
3030

3131
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
32-
openFileForRead(const llvm::Twine &InPath, bool IsText = true) override {
32+
openFileForRead(const llvm::Twine &InPath) override {
3333
llvm::SmallString<128> Path;
3434
InPath.toVector(Path);
3535

clang-tools-extra/clangd/unittests/ClangdTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1010,7 +1010,7 @@ TEST(ClangdTests, PreambleVFSStatCache) {
10101010
: ProxyFileSystem(std::move(FS)), CountStats(CountStats) {}
10111011

10121012
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
1013-
openFileForRead(const Twine &Path, bool IsText = true) override {
1013+
openFileForRead(const Twine &Path) override {
10141014
++CountStats[llvm::sys::path::filename(Path.str())];
10151015
return ProxyFileSystem::openFileForRead(Path);
10161016
}

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,8 @@ Bug Fixes to AST Handling
408408
^^^^^^^^^^^^^^^^^^^^^^^^^
409409

410410
- Fixed a crash that occurred when dividing by zero in complex integer division. (#GH55390).
411+
- Fixed a bug in ``ASTContext::getRawCommentForAnyRedecl()`` where the function could
412+
sometimes incorrectly return null even if a comment was present. (#GH108145)
411413

412414
Miscellaneous Bug Fixes
413415
^^^^^^^^^^^^^^^^^^^^^^^

clang/docs/StandardCPlusPlusModules.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,37 @@ Currently, Clang accepts the above example, though it may produce surprising
462462
results if the debugging code depends on consistent use of ``NDEBUG`` in other
463463
translation units.
464464

465+
Source Files Consistency
466+
^^^^^^^^^^^^^^^^^^^^^^^^
467+
468+
Clang may open the input files\ :sup:`1`` of a BMI during the compilation. This implies that
469+
when Clang consumes a BMI, all the input files need to be present in the original path
470+
and with the original contents.
471+
472+
To overcome these requirements and simplify cases like distributed builds and sandboxed
473+
builds, users can use the ``-fmodules-embed-all-files`` flag to embed all input files
474+
into the BMI so that Clang does not need to open the corresponding file on disk.
475+
476+
When the ``-fmodules-embed-all-files`` flag are enabled, Clang explicitly emits the source
477+
code into the BMI file, the contents of the BMI file contain a sufficiently verbose
478+
representation to reproduce the original source file.
479+
480+
:sup:`1`` Input files: The source files which took part in the compilation of the BMI.
481+
For example:
482+
483+
.. code-block:: c++
484+
485+
// M.cppm
486+
module;
487+
#include "foo.h"
488+
export module M;
489+
490+
// foo.h
491+
#pragma once
492+
#include "bar.h"
493+
494+
The ``M.cppm``, ``foo.h`` and ``bar.h`` are input files for the BMI of ``M.cppm``.
495+
465496
Object definition consistency
466497
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
467498

@@ -484,6 +515,13 @@ fragment is disabled by default. These checks can be enabled by specifying
484515
and you encounter incorrect or missing diagnostics, please report them via the
485516
`community issue tracker <https://github.com/llvm/llvm-project/issues/>`_.
486517

518+
Privacy Issue
519+
-------------
520+
521+
BMIs are not and should not be treated as an information hiding mechanism.
522+
They should always be assumed to contain all the information that was used to
523+
create them, in a recoverable form.
524+
487525
ABI Impacts
488526
-----------
489527

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
add_llvm_library(Attribute MODULE Attribute.cpp PLUGIN_TOOL clang)
22

33
if(WIN32 OR CYGWIN)
4-
target_link_libraries(Attribute PRIVATE
4+
set(LLVM_LINK_COMPONENTS
5+
Support
6+
)
7+
clang_target_link_libraries(Attribute PRIVATE
58
clangAST
69
clangBasic
710
clangFrontend
811
clangLex
9-
LLVMSupport
1012
)
1113
endif()

clang/include/clang/AST/StmtDataCollectors.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ class CallExpr {
5555
// Add a padding character so that 'foo<X, XX>()' != 'foo<XX, X>()'.
5656
OS << '\n';
5757
}
58-
OS.flush();
5958

6059
addData(ArgString);
6160
}

clang/include/clang/Basic/BuiltinsWebAssembly.def

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,6 @@ TARGET_BUILTIN(__builtin_wasm_trunc_saturate_u_i64_f64, "LLid", "nc", "nontrappi
6868
// SIMD builtins
6969
TARGET_BUILTIN(__builtin_wasm_swizzle_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
7070

71-
TARGET_BUILTIN(__builtin_wasm_add_sat_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
72-
TARGET_BUILTIN(__builtin_wasm_add_sat_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
73-
TARGET_BUILTIN(__builtin_wasm_add_sat_s_i16x8, "V8sV8sV8s", "nc", "simd128")
74-
TARGET_BUILTIN(__builtin_wasm_add_sat_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
75-
7671
TARGET_BUILTIN(__builtin_wasm_sub_sat_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
7772
TARGET_BUILTIN(__builtin_wasm_sub_sat_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
7873
TARGET_BUILTIN(__builtin_wasm_sub_sat_s_i16x8, "V8sV8sV8s", "nc", "simd128")
@@ -83,19 +78,6 @@ TARGET_BUILTIN(__builtin_wasm_abs_i16x8, "V8sV8s", "nc", "simd128")
8378
TARGET_BUILTIN(__builtin_wasm_abs_i32x4, "V4iV4i", "nc", "simd128")
8479
TARGET_BUILTIN(__builtin_wasm_abs_i64x2, "V2LLiV2LLi", "nc", "simd128")
8580

86-
TARGET_BUILTIN(__builtin_wasm_min_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
87-
TARGET_BUILTIN(__builtin_wasm_min_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
88-
TARGET_BUILTIN(__builtin_wasm_max_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
89-
TARGET_BUILTIN(__builtin_wasm_max_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
90-
TARGET_BUILTIN(__builtin_wasm_min_s_i16x8, "V8sV8sV8s", "nc", "simd128")
91-
TARGET_BUILTIN(__builtin_wasm_min_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
92-
TARGET_BUILTIN(__builtin_wasm_max_s_i16x8, "V8sV8sV8s", "nc", "simd128")
93-
TARGET_BUILTIN(__builtin_wasm_max_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
94-
TARGET_BUILTIN(__builtin_wasm_min_s_i32x4, "V4iV4iV4i", "nc", "simd128")
95-
TARGET_BUILTIN(__builtin_wasm_min_u_i32x4, "V4UiV4UiV4Ui", "nc", "simd128")
96-
TARGET_BUILTIN(__builtin_wasm_max_s_i32x4, "V4iV4iV4i", "nc", "simd128")
97-
TARGET_BUILTIN(__builtin_wasm_max_u_i32x4, "V4UiV4UiV4Ui", "nc", "simd128")
98-
9981
TARGET_BUILTIN(__builtin_wasm_avgr_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
10082
TARGET_BUILTIN(__builtin_wasm_avgr_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
10183

clang/include/clang/Basic/FileManager.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -286,21 +286,21 @@ class FileManager : public RefCountedBase<FileManager> {
286286
/// MemoryBuffer if successful, otherwise returning null.
287287
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
288288
getBufferForFile(FileEntryRef Entry, bool isVolatile = false,
289-
bool RequiresNullTerminator = true, bool IsText = true,
289+
bool RequiresNullTerminator = true,
290290
std::optional<int64_t> MaybeLimit = std::nullopt);
291291
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
292292
getBufferForFile(StringRef Filename, bool isVolatile = false,
293-
bool RequiresNullTerminator = true, bool IsText = true,
293+
bool RequiresNullTerminator = true,
294294
std::optional<int64_t> MaybeLimit = std::nullopt) const {
295295
return getBufferForFileImpl(Filename,
296296
/*FileSize=*/(MaybeLimit ? *MaybeLimit : -1),
297-
isVolatile, RequiresNullTerminator, IsText);
297+
isVolatile, RequiresNullTerminator);
298298
}
299299

300300
private:
301301
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
302302
getBufferForFileImpl(StringRef Filename, int64_t FileSize, bool isVolatile,
303-
bool RequiresNullTerminator, bool IsText) const;
303+
bool RequiresNullTerminator) const;
304304

305305
DirectoryEntry *&getRealDirEntry(const llvm::vfs::Status &Status);
306306

clang/include/clang/Driver/Options.td

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3255,6 +3255,12 @@ def modules_reduced_bmi : Flag<["-"], "fexperimental-modules-reduced-bmi">,
32553255
HelpText<"Generate the reduced BMI">,
32563256
MarshallingInfoFlag<FrontendOpts<"GenReducedBMI">>;
32573257

3258+
def fmodules_embed_all_files : Joined<["-"], "fmodules-embed-all-files">,
3259+
Visibility<[ClangOption, CC1Option, CLOption]>,
3260+
HelpText<"Embed the contents of all files read by this compilation into "
3261+
"the produced module file.">,
3262+
MarshallingInfoFlag<FrontendOpts<"ModulesEmbedAllFiles">>;
3263+
32583264
def fmodules_prune_interval : Joined<["-"], "fmodules-prune-interval=">, Group<i_Group>,
32593265
Visibility<[ClangOption, CC1Option]>, MetaVarName<"<seconds>">,
32603266
HelpText<"Specify the interval (in seconds) between attempts to prune the module cache">,
@@ -8053,10 +8059,6 @@ def fmodules_embed_file_EQ : Joined<["-"], "fmodules-embed-file=">,
80538059
HelpText<"Embed the contents of the specified file into the module file "
80548060
"being compiled.">,
80558061
MarshallingInfoStringVector<FrontendOpts<"ModulesEmbedFiles">>;
8056-
def fmodules_embed_all_files : Joined<["-"], "fmodules-embed-all-files">,
8057-
HelpText<"Embed the contents of all files read by this compilation into "
8058-
"the produced module file.">,
8059-
MarshallingInfoFlag<FrontendOpts<"ModulesEmbedAllFiles">>;
80608062
defm fimplicit_modules_use_lock : BoolOption<"f", "implicit-modules-use-lock",
80618063
FrontendOpts<"BuildingImplicitModuleUsesLock">, DefaultTrue,
80628064
NegFlag<SetFalse>,

clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ class DependencyScanningWorkerFilesystem
346346

347347
llvm::ErrorOr<llvm::vfs::Status> status(const Twine &Path) override;
348348
llvm::ErrorOr<std::unique_ptr<llvm::vfs::File>>
349-
openFileForRead(const Twine &Path, bool IsText = true) override;
349+
openFileForRead(const Twine &Path) override;
350350

351351
std::error_code getRealPath(const Twine &Path,
352352
SmallVectorImpl<char> &Output) override;

clang/lib/AST/ASTContext.cpp

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -440,12 +440,26 @@ const RawComment *ASTContext::getRawCommentForAnyRedecl(
440440
}
441441

442442
// Any redeclarations of D that we haven't checked for comments yet?
443-
// We can't use DenseMap::iterator directly since it'd get invalid.
444-
auto LastCheckedRedecl = [this, CanonicalD]() -> const Decl * {
445-
return CommentlessRedeclChains.lookup(CanonicalD);
443+
const Decl *LastCheckedRedecl = [&]() {
444+
const Decl *LastChecked = CommentlessRedeclChains.lookup(CanonicalD);
445+
bool CanUseCommentlessCache = false;
446+
if (LastChecked) {
447+
for (auto *Redecl : CanonicalD->redecls()) {
448+
if (Redecl == D) {
449+
CanUseCommentlessCache = true;
450+
break;
451+
}
452+
if (Redecl == LastChecked)
453+
break;
454+
}
455+
}
456+
// FIXME: This could be improved so that even if CanUseCommentlessCache
457+
// is false, once we've traversed past CanonicalD we still skip ahead
458+
// LastChecked.
459+
return CanUseCommentlessCache ? LastChecked : nullptr;
446460
}();
447461

448-
for (const auto Redecl : D->redecls()) {
462+
for (const Decl *Redecl : D->redecls()) {
449463
assert(Redecl);
450464
// Skip all redeclarations that have been checked previously.
451465
if (LastCheckedRedecl) {

clang/lib/AST/ByteCode/Interp.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,11 +241,18 @@ bool CheckArraySize(InterpState &S, CodePtr OpPC, SizeT *NumElements,
241241
// FIXME: Both the SizeT::from() as well as the
242242
// NumElements.toAPSInt() in this function are rather expensive.
243243

244+
// Can't be too many elements if the bitwidth of NumElements is lower than
245+
// that of Descriptor::MaxArrayElemBytes.
246+
if ((NumElements->bitWidth() - NumElements->isSigned()) <
247+
(sizeof(Descriptor::MaxArrayElemBytes) * 8))
248+
return true;
249+
244250
// FIXME: GH63562
245251
// APValue stores array extents as unsigned,
246252
// so anything that is greater that unsigned would overflow when
247253
// constructing the array, we catch this here.
248254
SizeT MaxElements = SizeT::from(Descriptor::MaxArrayElemBytes / ElemSize);
255+
assert(MaxElements.isPositive());
249256
if (NumElements->toAPSInt().getActiveBits() >
250257
ConstantArrayType::getMaxSizeBits(S.getASTContext()) ||
251258
*NumElements > MaxElements) {

clang/lib/AST/DataCollection.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ std::string getMacroStack(SourceLocation Loc, ASTContext &Context) {
4141
printMacroName(MacroStackStream, Context, Loc);
4242
Loc = SM.getImmediateMacroCallerLoc(Loc);
4343
}
44-
MacroStackStream.flush();
4544
return MacroStack;
4645
}
4746

clang/lib/AST/TemplateName.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,5 @@ const StreamingDiagnostic &clang::operator<<(const StreamingDiagnostic &DB,
439439
OS << '\'';
440440
N.print(OS, PrintingPolicy(LO));
441441
OS << '\'';
442-
OS.flush();
443442
return DB << NameStr;
444443
}

clang/lib/Basic/FileManager.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ void FileManager::fillRealPathName(FileEntry *UFE, llvm::StringRef FileName) {
530530

531531
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
532532
FileManager::getBufferForFile(FileEntryRef FE, bool isVolatile,
533-
bool RequiresNullTerminator, bool IsText,
533+
bool RequiresNullTerminator,
534534
std::optional<int64_t> MaybeLimit) {
535535
const FileEntry *Entry = &FE.getFileEntry();
536536
// If the content is living on the file entry, return a reference to it.
@@ -558,21 +558,21 @@ FileManager::getBufferForFile(FileEntryRef FE, bool isVolatile,
558558

559559
// Otherwise, open the file.
560560
return getBufferForFileImpl(Filename, FileSize, isVolatile,
561-
RequiresNullTerminator, IsText);
561+
RequiresNullTerminator);
562562
}
563563

564564
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
565565
FileManager::getBufferForFileImpl(StringRef Filename, int64_t FileSize,
566-
bool isVolatile, bool RequiresNullTerminator,
567-
bool IsText) const {
566+
bool isVolatile,
567+
bool RequiresNullTerminator) const {
568568
if (FileSystemOpts.WorkingDir.empty())
569569
return FS->getBufferForFile(Filename, FileSize, RequiresNullTerminator,
570-
isVolatile, IsText);
570+
isVolatile);
571571

572572
SmallString<128> FilePath(Filename);
573573
FixupRelativePath(FilePath);
574574
return FS->getBufferForFile(FilePath, FileSize, RequiresNullTerminator,
575-
isVolatile, IsText);
575+
isVolatile);
576576
}
577577

578578
/// getStatValue - Get the 'stat' information for the specified path,

clang/lib/Basic/Module.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,6 @@ std::string Module::getFullModuleName(bool AllowStringLiterals) const {
252252

253253
llvm::raw_string_ostream Out(Result);
254254
printModuleId(Out, Names.rbegin(), Names.rend(), AllowStringLiterals);
255-
Out.flush();
256255

257256
return Result;
258257
}

clang/lib/Basic/SourceManager.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,18 +121,8 @@ ContentCache::getBufferOrNone(DiagnosticsEngine &Diag, FileManager &FM,
121121
// Start with the assumption that the buffer is invalid to simplify early
122122
// return paths.
123123
IsBufferInvalid = true;
124-
bool IsText = false;
125-
126-
#ifdef __MVS__
127-
// If the file is tagged with a text ccsid, it may require autoconversion.
128-
llvm::ErrorOr<bool> IsFileText =
129-
llvm::iszOSTextFile(ContentsEntry->getName().data());
130-
if (IsFileText)
131-
IsText = *IsFileText;
132-
#endif
133-
134-
auto BufferOrError = FM.getBufferForFile(
135-
*ContentsEntry, IsFileVolatile, /*RequiresNullTerminator=*/true, IsText);
124+
125+
auto BufferOrError = FM.getBufferForFile(*ContentsEntry, IsFileVolatile);
136126

137127
// If we were unable to open the file, then we are in an inconsistent
138128
// situation where the content cache referenced a file which no longer

clang/lib/Basic/Targets.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -613,9 +613,6 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
613613
case llvm::Triple::Solaris:
614614
return std::make_unique<SolarisTargetInfo<X86_64TargetInfo>>(Triple,
615615
Opts);
616-
case llvm::Triple::UEFI:
617-
return std::make_unique<UEFIX86_64TargetInfo>(Triple, Opts);
618-
619616
case llvm::Triple::Win32: {
620617
switch (Triple.getEnvironment()) {
621618
case llvm::Triple::Cygnus:

clang/lib/Basic/Targets/Mips.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class LLVM_LIBRARY_VISIBILITY MipsTargetInfo : public TargetInfo {
7070

7171
if (Triple.isMIPS32())
7272
setABI("o32");
73-
else if (Triple.getEnvironment() == llvm::Triple::GNUABIN32)
73+
else if (Triple.isABIN32())
7474
setABI("n32");
7575
else
7676
setABI("n64");

clang/lib/Basic/Targets/OSTargets.h

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -778,21 +778,6 @@ class LLVM_LIBRARY_VISIBILITY ZOSTargetInfo : public OSTargetInfo<Target> {
778778
}
779779
};
780780

781-
// UEFI target
782-
template <typename Target>
783-
class LLVM_LIBRARY_VISIBILITY UEFITargetInfo : public OSTargetInfo<Target> {
784-
protected:
785-
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
786-
MacroBuilder &Builder) const override {}
787-
788-
public:
789-
UEFITargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
790-
: OSTargetInfo<Target>(Triple, Opts) {
791-
this->WCharType = TargetInfo::UnsignedShort;
792-
this->WIntType = TargetInfo::UnsignedShort;
793-
}
794-
};
795-
796781
void addWindowsDefines(const llvm::Triple &Triple, const LangOptions &Opts,
797782
MacroBuilder &Builder);
798783

0 commit comments

Comments
 (0)