Skip to content

Commit e9a6e85

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:aa2adc1283ec into amd-gfx:0bf179db461a
Local branch amd-gfx 0bf179d Merged main:33b02d766eb8 into amd-gfx:dce9ce0015f4 Remote branch main aa2adc1 [mlir][index] Fix side effect modeling for division by zero ops
2 parents 0bf179d + aa2adc1 commit e9a6e85

File tree

55 files changed

+280
-348
lines changed

Some content is hidden

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

55 files changed

+280
-348
lines changed

.github/CODEOWNERS

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@
7979
# mlir-neon
8080
/mlir/**/ArmNeon/ @llvm/pr-subscribers-mlir-neon
8181

82+
# mlir-presburger
83+
/mlir/**/*Presburger @llvm/pr-subscribers-mlir-presburger
84+
8285
# mlir-sme
8386
/mlir/**/ArmSME/ @llvm/pr-subscribers-mlir-sme
8487

@@ -240,6 +243,8 @@
240243
/llvm/docs/CommandGuide/lit.rst @llvm/pr-subscribers-testing-tools
241244
/llvm/docs/TestingGuide.rst @llvm/pr-subscribers-testing-tools
242245
/llvm/test/Other/FileCheck-space.txt @llvm/pr-subscribers-testing-tools
246+
/llvm/utils/update*_test_checks.py @llvm/pr-subscribers-testing-tools
247+
/llvm/utils/UpdateTestChecks/ @llvm/pr-subscribers-testing-tools
243248

244249
# debug-info
245250
/llvm/include/llvm/DebugInfo/ @llvm/pr-subscribers-debug-info
@@ -398,6 +403,29 @@ flang/**/CodeGen/ @llvm/pr-subscribers-flang-codegen
398403
/llvm/utils/TableGen/CodeGenDAG* @llvm/pr-subscribers-selectiondag
399404
/llvm/utils/TableGen/DAGISel* @llvm/pr-subscribers-selectiondag
400405

406+
# register allocation
407+
/llvm/**/*RegAlloc @llvm/pr-subscribers-regalloc
408+
/llvm/**/CodeGen/Register* @llvm/pr-subscribers-regalloc
409+
/llvm/**/CodeGen/LiveReg* @llvm/pr-subscribers-regalloc
410+
/llvm/**/CodeGen/LiveInterval* @llvm/pr-subscribers-regalloc
411+
/llvm/**/CodeGen/LiveVariables* @llvm/pr-subscribers-regalloc
412+
/llvm/**/CodeGen/LiveRange* @llvm/pr-subscribers-regalloc
413+
/llvm/**/CodeGen/SlotIndexes.h @llvm/pr-subscribers-regalloc
414+
/llvm/**/CodeGen/VirtRegMap.h @llvm/pr-subscribers-regalloc
415+
/llvm/**/CodeGen/PHIElimination* @llvm/pr-subscribers-regalloc
416+
/llvm/**/CodeGen/SplitKit* @llvm/pr-subscribers-regalloc
417+
/llvm/**/CodeGen/InlineSpiller* @llvm/pr-subscribers-regalloc
418+
/llvm/**/CodeGen/ProcessImplicitDefs.cpp @llvm/pr-subscribers-regalloc
419+
/llvm/**/CodeGen/RenameIndependentSubregs.cpp @llvm/pr-subscribers-regalloc
420+
/llvm/**/CodeGen/InterferenceCache* @llvm/pr-subscribers-regalloc
421+
/llvm/**/CodeGen/CalcSpillWeights* @llvm/pr-subscribers-regalloc
422+
/llvm/**/CodeGen/RegUsage* @llvm/pr-subscribers-regalloc
423+
/llvm/**/CodeGen/MachineCopyPropagation* @llvm/pr-subscribers-regalloc
424+
/llvm/**/CodeGen/SpillPlacement* @llvm/pr-subscribers-regalloc
425+
/llvm/include/PBQP/ @llvm/pr-subscribers-regalloc
426+
/llvm/include/PBQPRAConstraint.h @llvm/pr-subscribers-regalloc
427+
/llvm/include/llvm/CodeGen/Spiller.h @llvm/pr-subscribers-regalloc
428+
401429
# function-specialization
402430
/llvm/include/llvm/Transforms/Utils/SCCPSolver.h @llvm/pr-subscribers-function-specialization
403431
/llvm/lib/Transforms/Utils/SCCPSolver.cpp @llvm/pr-subscribers-function-specialization

clang-tools-extra/clang-tidy/ClangTidy.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -435,13 +435,13 @@ ClangTidyASTConsumerFactory::createASTConsumer(
435435
Consumers.push_back(Finder->newASTConsumer());
436436

437437
#if CLANG_TIDY_ENABLE_STATIC_ANALYZER
438-
AnalyzerOptionsRef AnalyzerOptions = Compiler.getAnalyzerOpts();
439-
AnalyzerOptions->CheckersAndPackages = getAnalyzerCheckersAndPackages(
438+
AnalyzerOptions &AnalyzerOptions = Compiler.getAnalyzerOpts();
439+
AnalyzerOptions.CheckersAndPackages = getAnalyzerCheckersAndPackages(
440440
Context, Context.canEnableAnalyzerAlphaCheckers());
441-
if (!AnalyzerOptions->CheckersAndPackages.empty()) {
442-
setStaticAnalyzerCheckerOpts(Context.getOptions(), *AnalyzerOptions);
443-
AnalyzerOptions->AnalysisDiagOpt = PD_NONE;
444-
AnalyzerOptions->eagerlyAssumeBinOpBifurcation = true;
441+
if (!AnalyzerOptions.CheckersAndPackages.empty()) {
442+
setStaticAnalyzerCheckerOpts(Context.getOptions(), AnalyzerOptions);
443+
AnalyzerOptions.AnalysisDiagOpt = PD_NONE;
444+
AnalyzerOptions.eagerlyAssumeBinOpBifurcation = true;
445445
std::unique_ptr<ento::AnalysisASTConsumer> AnalysisConsumer =
446446
ento::CreateAnalysisConsumer(Compiler);
447447
AnalysisConsumer->AddDiagnosticConsumer(

clang-tools-extra/clangd/ClangdServer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ struct UpdateIndexCallbacks : public ParsingCallbacks {
8383

8484
auto &PP = ASTCtx.getPreprocessor();
8585
auto &CI = ASTCtx.getCompilerInvocation();
86-
if (auto Loc = Stdlib->add(*CI.getLangOpts(), PP.getHeaderSearchInfo()))
86+
if (auto Loc = Stdlib->add(CI.getLangOpts(), PP.getHeaderSearchInfo()))
8787
indexStdlib(CI, std::move(*Loc));
8888

8989
// FIndex outlives the UpdateIndexCallbacks.
@@ -105,7 +105,7 @@ struct UpdateIndexCallbacks : public ParsingCallbacks {
105105
// This task is owned by Tasks, which outlives the TUScheduler and
106106
// therefore the UpdateIndexCallbacks.
107107
// We must be careful that the references we capture outlive TUScheduler.
108-
auto Task = [LO(*CI.getLangOpts()), Loc(std::move(Loc)),
108+
auto Task = [LO(CI.getLangOpts()), Loc(std::move(Loc)),
109109
CI(std::make_unique<CompilerInvocation>(CI)),
110110
// External values that outlive ClangdServer
111111
TFS(&TFS),

clang-tools-extra/clangd/CodeComplete.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1356,11 +1356,11 @@ bool semaCodeComplete(std::unique_ptr<CodeCompleteConsumer> Consumer,
13561356
auto &FrontendOpts = CI->getFrontendOpts();
13571357
FrontendOpts.SkipFunctionBodies = true;
13581358
// Disable typo correction in Sema.
1359-
CI->getLangOpts()->SpellChecking = false;
1359+
CI->getLangOpts().SpellChecking = false;
13601360
// Code completion won't trigger in delayed template bodies.
13611361
// This is on-by-default in windows to allow parsing SDK headers; we're only
13621362
// disabling it for the main-file (not preamble).
1363-
CI->getLangOpts()->DelayedTemplateParsing = false;
1363+
CI->getLangOpts().DelayedTemplateParsing = false;
13641364
// Setup code completion.
13651365
FrontendOpts.CodeCompleteOpts = Options;
13661366
FrontendOpts.CodeCompletionAt.FileName = std::string(Input.FileName);
@@ -1380,7 +1380,7 @@ bool semaCodeComplete(std::unique_ptr<CodeCompleteConsumer> Consumer,
13801380
// overriding the preamble will break sema completion. Fortunately we can just
13811381
// skip all includes in this case; these completions are really simple.
13821382
PreambleBounds PreambleRegion =
1383-
ComputePreambleBounds(*CI->getLangOpts(), *ContentsBuffer, 0);
1383+
ComputePreambleBounds(CI->getLangOpts(), *ContentsBuffer, 0);
13841384
bool CompletingInPreamble = Input.Offset < PreambleRegion.Size ||
13851385
(!PreambleRegion.PreambleEndsAtStartOfLine &&
13861386
Input.Offset == PreambleRegion.Size);

clang-tools-extra/clangd/Compiler.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ void disableUnsupportedOptions(CompilerInvocation &CI) {
8484
// These options mostly affect codegen, and aren't relevant to clangd. And
8585
// clang will die immediately when these files are not existed.
8686
// Disable these uninteresting options to make clangd more robust.
87-
CI.getLangOpts()->NoSanitizeFiles.clear();
88-
CI.getLangOpts()->XRayAttrListFiles.clear();
89-
CI.getLangOpts()->ProfileListFiles.clear();
90-
CI.getLangOpts()->XRayAlwaysInstrumentFiles.clear();
91-
CI.getLangOpts()->XRayNeverInstrumentFiles.clear();
87+
CI.getLangOpts().NoSanitizeFiles.clear();
88+
CI.getLangOpts().XRayAttrListFiles.clear();
89+
CI.getLangOpts().ProfileListFiles.clear();
90+
CI.getLangOpts().XRayAlwaysInstrumentFiles.clear();
91+
CI.getLangOpts().XRayNeverInstrumentFiles.clear();
9292
}
9393

9494
std::unique_ptr<CompilerInvocation>
@@ -118,8 +118,8 @@ buildCompilerInvocation(const ParseInputs &Inputs, clang::DiagnosticConsumer &D,
118118
return nullptr;
119119
// createInvocationFromCommandLine sets DisableFree.
120120
CI->getFrontendOpts().DisableFree = false;
121-
CI->getLangOpts()->CommentOpts.ParseAllComments = true;
122-
CI->getLangOpts()->RetainCommentsFromSystemHeaders = true;
121+
CI->getLangOpts().CommentOpts.ParseAllComments = true;
122+
CI->getLangOpts().RetainCommentsFromSystemHeaders = true;
123123

124124
disableUnsupportedOptions(*CI);
125125
return CI;

clang-tools-extra/clangd/ParsedAST.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ ParsedAST::build(llvm::StringRef Filename, const ParseInputs &Inputs,
413413

414414
// This is on-by-default in windows to allow parsing SDK headers, but it
415415
// breaks many features. Disable it for the main-file (not preamble).
416-
CI->getLangOpts()->DelayedTemplateParsing = false;
416+
CI->getLangOpts().DelayedTemplateParsing = false;
417417

418418
std::vector<std::unique_ptr<FeatureModule::ASTListener>> ASTListeners;
419419
if (Inputs.FeatureModules) {

clang-tools-extra/clangd/Preamble.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ scanPreamble(llvm::StringRef Contents, const tooling::CompileCommand &Cmd) {
365365
// This means we're scanning (though not preprocessing) the preamble section
366366
// twice. However, it's important to precisely follow the preamble bounds used
367367
// elsewhere.
368-
auto Bounds = ComputePreambleBounds(*CI->getLangOpts(), *ContentsBuffer, 0);
368+
auto Bounds = ComputePreambleBounds(CI->getLangOpts(), *ContentsBuffer, 0);
369369
auto PreambleContents = llvm::MemoryBuffer::getMemBufferCopy(
370370
llvm::StringRef(PI.Contents).take_front(Bounds.Size));
371371
auto Clang = prepareCompilerInstance(
@@ -596,7 +596,7 @@ buildPreamble(PathRef FileName, CompilerInvocation CI,
596596
// without those.
597597
auto ContentsBuffer =
598598
llvm::MemoryBuffer::getMemBuffer(Inputs.Contents, FileName);
599-
auto Bounds = ComputePreambleBounds(*CI.getLangOpts(), *ContentsBuffer, 0);
599+
auto Bounds = ComputePreambleBounds(CI.getLangOpts(), *ContentsBuffer, 0);
600600

601601
trace::Span Tracer("BuildPreamble");
602602
SPAN_ATTACH(Tracer, "File", FileName);
@@ -622,7 +622,7 @@ buildPreamble(PathRef FileName, CompilerInvocation CI,
622622
const clang::Diagnostic &Info) {
623623
if (Cfg.Diagnostics.SuppressAll ||
624624
isBuiltinDiagnosticSuppressed(Info.getID(), Cfg.Diagnostics.Suppress,
625-
*CI.getLangOpts()))
625+
CI.getLangOpts()))
626626
return DiagnosticsEngine::Ignored;
627627
switch (Info.getID()) {
628628
case diag::warn_no_newline_eof:
@@ -732,7 +732,7 @@ bool isPreambleCompatible(const PreambleData &Preamble,
732732
const CompilerInvocation &CI) {
733733
auto ContentsBuffer =
734734
llvm::MemoryBuffer::getMemBuffer(Inputs.Contents, FileName);
735-
auto Bounds = ComputePreambleBounds(*CI.getLangOpts(), *ContentsBuffer, 0);
735+
auto Bounds = ComputePreambleBounds(CI.getLangOpts(), *ContentsBuffer, 0);
736736
auto VFS = Inputs.TFS->view(Inputs.CompileCommand.Directory);
737737
return compileCommandsAreEqual(Inputs.CompileCommand,
738738
Preamble.CompileCommand) &&

clang-tools-extra/clangd/index/StdLib.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ SymbolSlab indexStandardLibrary(llvm::StringRef HeaderSources,
207207
}
208208
const FrontendInputFile &Input = CI->getFrontendOpts().Inputs.front();
209209
trace::Span Tracer("StandardLibraryIndex");
210-
LangStandard::Kind LangStd = standardFromOpts(*CI->getLangOpts());
210+
LangStandard::Kind LangStd = standardFromOpts(CI->getLangOpts());
211211
log("Indexing {0} standard library in the context of {1}",
212212
LangStandard::getLangStandardForKind(LangStd).getName(), Input.getFile());
213213

@@ -267,7 +267,7 @@ SymbolSlab indexStandardLibrary(llvm::StringRef HeaderSources,
267267
SymbolSlab indexStandardLibrary(std::unique_ptr<CompilerInvocation> Invocation,
268268
const StdLibLocation &Loc,
269269
const ThreadsafeFS &TFS) {
270-
llvm::StringRef Header = getStdlibUmbrellaHeader(*Invocation->getLangOpts());
270+
llvm::StringRef Header = getStdlibUmbrellaHeader(Invocation->getLangOpts());
271271
return indexStandardLibrary(Header, std::move(Invocation), Loc, TFS);
272272
}
273273

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ collectPatchedIncludes(llvm::StringRef ModifiedContents,
8888
// introduced by the patch is parsed and nothing else.
8989
// We don't run PP directly over the patch cotents to test production
9090
// behaviour.
91-
auto Bounds = Lexer::ComputePreamble(ModifiedContents, *CI->getLangOpts());
91+
auto Bounds = Lexer::ComputePreamble(ModifiedContents, CI->getLangOpts());
9292
auto Clang =
9393
prepareCompilerInstance(std::move(CI), &BaselinePreamble->Preamble,
9494
llvm::MemoryBuffer::getMemBufferCopy(
@@ -588,7 +588,7 @@ TEST(PreamblePatch, ModifiedBounds) {
588588
ASSERT_TRUE(CI);
589589

590590
const auto ExpectedBounds =
591-
Lexer::ComputePreamble(Case.Modified, *CI->getLangOpts());
591+
Lexer::ComputePreamble(Case.Modified, CI->getLangOpts());
592592
EXPECT_EQ(PP.modifiedBounds().Size, ExpectedBounds.Size);
593593
EXPECT_EQ(PP.modifiedBounds().PreambleEndsAtStartOfLine,
594594
ExpectedBounds.PreambleEndsAtStartOfLine);

clang/include/clang/ARCMigrate/ARCMT.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class MigrationProcess {
102102
public:
103103
bool HadARCErrors;
104104

105-
MigrationProcess(const CompilerInvocation &CI,
105+
MigrationProcess(CompilerInvocation &CI,
106106
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
107107
DiagnosticConsumer *diagClient,
108108
StringRef outputDir = StringRef());

clang/include/clang/AST/ASTContext.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,9 @@
2424
#include "clang/AST/PrettyPrinter.h"
2525
#include "clang/AST/RawCommentList.h"
2626
#include "clang/AST/TemplateName.h"
27-
#include "clang/Basic/IdentifierTable.h"
2827
#include "clang/Basic/LLVM.h"
29-
#include "clang/Basic/LangOptions.h"
30-
#include "clang/Basic/NoSanitizeList.h"
3128
#include "clang/Basic/PartialDiagnostic.h"
32-
#include "clang/Basic/ProfileList.h"
3329
#include "clang/Basic/SourceLocation.h"
34-
#include "clang/Basic/XRayLists.h"
3530
#include "llvm/ADT/DenseMap.h"
3631
#include "llvm/ADT/DenseSet.h"
3732
#include "llvm/ADT/FoldingSet.h"
@@ -62,6 +57,7 @@ class ASTMutationListener;
6257
class ASTRecordLayout;
6358
class AtomicExpr;
6459
class BlockExpr;
60+
struct BlockVarCopyInit;
6561
class BuiltinTemplateDecl;
6662
class CharUnits;
6763
class ConceptDecl;
@@ -70,17 +66,19 @@ class CXXConstructorDecl;
7066
class CXXMethodDecl;
7167
class CXXRecordDecl;
7268
class DiagnosticsEngine;
73-
class ParentMapContext;
7469
class DynTypedNodeList;
7570
class Expr;
7671
enum class FloatModeKind;
7772
class GlobalDecl;
73+
class IdentifierTable;
74+
class LangOptions;
7875
class MangleContext;
7976
class MangleNumberingContext;
8077
class MemberSpecializationInfo;
8178
class Module;
8279
struct MSGuidDeclParts;
8380
class NestedNameSpecifier;
81+
class NoSanitizeList;
8482
class ObjCCategoryDecl;
8583
class ObjCCategoryImplDecl;
8684
class ObjCContainerDecl;
@@ -94,8 +92,10 @@ class ObjCPropertyImplDecl;
9492
class ObjCProtocolDecl;
9593
class ObjCTypeParamDecl;
9694
class OMPTraitInfo;
95+
class ParentMapContext;
9796
struct ParsedTargetAttr;
9897
class Preprocessor;
98+
class ProfileList;
9999
class StoredDeclsMap;
100100
class TargetAttr;
101101
class TargetInfo;
@@ -108,7 +108,7 @@ class UnresolvedSetIterator;
108108
class UsingShadowDecl;
109109
class VarTemplateDecl;
110110
class VTableContextBase;
111-
struct BlockVarCopyInit;
111+
class XRayFunctionFilter;
112112

113113
namespace Builtin {
114114

clang/include/clang/Frontend/CompilerInstance.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -252,9 +252,7 @@ class CompilerInstance : public ModuleLoader {
252252
/// @name Forwarding Methods
253253
/// @{
254254

255-
AnalyzerOptionsRef getAnalyzerOpts() {
256-
return Invocation->getAnalyzerOpts();
257-
}
255+
AnalyzerOptions &getAnalyzerOpts() { return Invocation->getAnalyzerOpts(); }
258256

259257
CodeGenOptions &getCodeGenOpts() {
260258
return Invocation->getCodeGenOpts();
@@ -301,12 +299,8 @@ class CompilerInstance : public ModuleLoader {
301299
return Invocation->getHeaderSearchOptsPtr();
302300
}
303301

304-
LangOptions &getLangOpts() {
305-
return *Invocation->getLangOpts();
306-
}
307-
const LangOptions &getLangOpts() const {
308-
return *Invocation->getLangOpts();
309-
}
302+
LangOptions &getLangOpts() { return Invocation->getLangOpts(); }
303+
const LangOptions &getLangOpts() const { return Invocation->getLangOpts(); }
310304

311305
PreprocessorOptions &getPreprocessorOpts() {
312306
return Invocation->getPreprocessorOpts();

clang/include/clang/Frontend/CompilerInvocation.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ class CompilerInvocationRefBase {
101101
CompilerInvocationRefBase &operator=(CompilerInvocationRefBase &&X);
102102
~CompilerInvocationRefBase();
103103

104-
LangOptions *getLangOpts() { return LangOpts.get(); }
105-
const LangOptions *getLangOpts() const { return LangOpts.get(); }
104+
LangOptions &getLangOpts() { return *LangOpts; }
105+
const LangOptions &getLangOpts() const { return *LangOpts; }
106106

107107
TargetOptions &getTargetOpts() { return *TargetOpts.get(); }
108108
const TargetOptions &getTargetOpts() const { return *TargetOpts.get(); }
@@ -129,7 +129,8 @@ class CompilerInvocationRefBase {
129129
return *PreprocessorOpts;
130130
}
131131

132-
AnalyzerOptionsRef getAnalyzerOpts() const { return AnalyzerOpts; }
132+
AnalyzerOptions &getAnalyzerOpts() { return *AnalyzerOpts; }
133+
const AnalyzerOptions &getAnalyzerOpts() const { return *AnalyzerOpts; }
133134
};
134135

135136
/// The base class of CompilerInvocation with value semantics.

clang/include/clang/Parse/LoopHint.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
#ifndef LLVM_CLANG_PARSE_LOOPHINT_H
1010
#define LLVM_CLANG_PARSE_LOOPHINT_H
1111

12-
#include "clang/Basic/IdentifierTable.h"
1312
#include "clang/Basic/SourceLocation.h"
14-
#include "clang/Sema/Ownership.h"
15-
#include "clang/Sema/ParsedAttr.h"
1613

1714
namespace clang {
1815

16+
class Expr;
17+
struct IdentifierLoc;
18+
1919
/// Loop optimization hint for loop and unroll pragmas.
2020
struct LoopHint {
2121
// Source range of the directive.

clang/include/clang/Parse/Parser.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,13 @@
1313
#ifndef LLVM_CLANG_PARSE_PARSER_H
1414
#define LLVM_CLANG_PARSE_PARSER_H
1515

16-
#include "clang/AST/Availability.h"
17-
#include "clang/Basic/BitmaskEnum.h"
18-
#include "clang/Basic/OpenMPKinds.h"
1916
#include "clang/Basic/OperatorPrecedence.h"
20-
#include "clang/Basic/Specifiers.h"
21-
#include "clang/Basic/TokenKinds.h"
2217
#include "clang/Lex/CodeCompletionHandler.h"
2318
#include "clang/Lex/Preprocessor.h"
24-
#include "clang/Sema/DeclSpec.h"
2519
#include "clang/Sema/Sema.h"
2620
#include "llvm/ADT/SmallVector.h"
2721
#include "llvm/Frontend/OpenMP/OMPContext.h"
28-
#include "llvm/Support/Compiler.h"
29-
#include "llvm/Support/PrettyStackTrace.h"
3022
#include "llvm/Support/SaveAndRestore.h"
31-
#include <memory>
3223
#include <optional>
3324
#include <stack>
3425

clang/include/clang/Parse/RAIIObjectsForParser.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
#define LLVM_CLANG_PARSE_RAIIOBJECTSFORPARSER_H
1616

1717
#include "clang/Parse/ParseDiagnostic.h"
18-
#include "clang/Parse/Parser.h"
1918
#include "clang/Sema/DelayedDiagnostic.h"
20-
#include "clang/Sema/ParsedTemplate.h"
2119
#include "clang/Sema/Sema.h"
2220

2321
namespace clang {
22+
class ParsedAttributes;
23+
2424
// TODO: move ParsingClassDefinition here.
2525
// TODO: move TentativeParsingAction here.
2626

0 commit comments

Comments
 (0)