Skip to content

Commit 205d2c8

Browse files
author
Qiongsi Wu
committed
Revert "[AIX] Detect #pragma mc_func (llvm#99888)"
This reverts commit 9147147.
1 parent f759d3e commit 205d2c8

File tree

7 files changed

+0
-70
lines changed

7 files changed

+0
-70
lines changed

clang/include/clang/Basic/DiagnosticParseKinds.td

-3
Original file line numberDiff line numberDiff line change
@@ -1260,9 +1260,6 @@ def warn_pragma_intrinsic_builtin : Warning<
12601260
def warn_pragma_unused_expected_var : Warning<
12611261
"expected '#pragma unused' argument to be a variable name">,
12621262
InGroup<IgnoredPragmas>;
1263-
// - #pragma mc_func
1264-
def err_pragma_mc_func_not_supported :
1265-
Error<"#pragma mc_func is not supported">;
12661263
// - #pragma init_seg
12671264
def warn_pragma_init_seg_unsupported_target : Warning<
12681265
"'#pragma init_seg' is only supported when targeting a "

clang/include/clang/Driver/Options.td

-7
Original file line numberDiff line numberDiff line change
@@ -8114,13 +8114,6 @@ def source_date_epoch : Separate<["-"], "source-date-epoch">,
81148114

81158115
} // let Visibility = [CC1Option]
81168116

8117-
defm err_pragma_mc_func_aix : BoolFOption<"err-pragma-mc-func-aix",
8118-
PreprocessorOpts<"ErrorOnPragmaMcfuncOnAIX">, DefaultFalse,
8119-
PosFlag<SetTrue, [], [ClangOption, CC1Option],
8120-
"Treat uses of #pragma mc_func as errors">,
8121-
NegFlag<SetFalse,[], [ClangOption, CC1Option],
8122-
"Ignore uses of #pragma mc_func">>;
8123-
81248117
//===----------------------------------------------------------------------===//
81258118
// CUDA Options
81268119
//===----------------------------------------------------------------------===//

clang/include/clang/Lex/PreprocessorOptions.h

-5
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,6 @@ class PreprocessorOptions {
211211
/// If set, the UNIX timestamp specified by SOURCE_DATE_EPOCH.
212212
std::optional<uint64_t> SourceDateEpoch;
213213

214-
/// If set, the preprocessor reports an error when processing #pragma mc_func
215-
/// on AIX.
216-
bool ErrorOnPragmaMcfuncOnAIX = false;
217-
218214
public:
219215
PreprocessorOptions() : PrecompiledPreambleBytes(0, false) {}
220216

@@ -252,7 +248,6 @@ class PreprocessorOptions {
252248
PrecompiledPreambleBytes.first = 0;
253249
PrecompiledPreambleBytes.second = false;
254250
RetainExcludedConditionalBlocks = false;
255-
ErrorOnPragmaMcfuncOnAIX = false;
256251
}
257252
};
258253

clang/include/clang/Parse/Parser.h

-1
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ class Parser : public CodeCompletionHandler {
221221
std::unique_ptr<PragmaHandler> MaxTokensHerePragmaHandler;
222222
std::unique_ptr<PragmaHandler> MaxTokensTotalPragmaHandler;
223223
std::unique_ptr<PragmaHandler> RISCVPragmaHandler;
224-
std::unique_ptr<PragmaHandler> MCFuncPragmaHandler;
225224

226225
std::unique_ptr<CommentHandler> CommentSemaHandler;
227226

clang/lib/Driver/ToolChains/AIX.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -560,12 +560,6 @@ void AIX::addClangTargetOptions(
560560
if (!Args.getLastArgNoClaim(options::OPT_fsized_deallocation,
561561
options::OPT_fno_sized_deallocation))
562562
CC1Args.push_back("-fno-sized-deallocation");
563-
564-
if (Args.hasFlag(options::OPT_ferr_pragma_mc_func_aix,
565-
options::OPT_fno_err_pragma_mc_func_aix, false))
566-
CC1Args.push_back("-ferr-pragma-mc-func-aix");
567-
else
568-
CC1Args.push_back("-fno-err-pragma-mc-func-aix");
569563
}
570564

571565
void AIX::addProfileRTLibs(const llvm::opt::ArgList &Args,

clang/lib/Parse/ParsePragma.cpp

-25
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#include "clang/Basic/PragmaKinds.h"
1515
#include "clang/Basic/TargetInfo.h"
1616
#include "clang/Lex/Preprocessor.h"
17-
#include "clang/Lex/PreprocessorOptions.h"
1817
#include "clang/Lex/Token.h"
1918
#include "clang/Parse/LoopHint.h"
2019
#include "clang/Parse/ParseDiagnostic.h"
@@ -412,19 +411,6 @@ struct PragmaRISCVHandler : public PragmaHandler {
412411
Sema &Actions;
413412
};
414413

415-
struct PragmaMCFuncHandler : public PragmaHandler {
416-
PragmaMCFuncHandler(bool ReportError)
417-
: PragmaHandler("mc_func"), ReportError(ReportError) {}
418-
void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
419-
Token &Tok) override {
420-
if (ReportError)
421-
PP.Diag(Tok, diag::err_pragma_mc_func_not_supported);
422-
}
423-
424-
private:
425-
bool ReportError = false;
426-
};
427-
428414
void markAsReinjectedForRelexing(llvm::MutableArrayRef<clang::Token> Toks) {
429415
for (auto &T : Toks)
430416
T.setFlag(clang::Token::IsReinjected);
@@ -582,12 +568,6 @@ void Parser::initializePragmaHandlers() {
582568
RISCVPragmaHandler = std::make_unique<PragmaRISCVHandler>(Actions);
583569
PP.AddPragmaHandler("clang", RISCVPragmaHandler.get());
584570
}
585-
586-
if (getTargetInfo().getTriple().isOSAIX()) {
587-
MCFuncPragmaHandler = std::make_unique<PragmaMCFuncHandler>(
588-
PP.getPreprocessorOpts().ErrorOnPragmaMcfuncOnAIX);
589-
PP.AddPragmaHandler(MCFuncPragmaHandler.get());
590-
}
591571
}
592572

593573
void Parser::resetPragmaHandlers() {
@@ -722,11 +702,6 @@ void Parser::resetPragmaHandlers() {
722702
PP.RemovePragmaHandler("clang", RISCVPragmaHandler.get());
723703
RISCVPragmaHandler.reset();
724704
}
725-
726-
if (getTargetInfo().getTriple().isOSAIX()) {
727-
PP.RemovePragmaHandler(MCFuncPragmaHandler.get());
728-
MCFuncPragmaHandler.reset();
729-
}
730705
}
731706

732707
/// Handle the annotation token produced for #pragma unused(...)

clang/test/Preprocessor/pragma_mc_func.c

-23
This file was deleted.

0 commit comments

Comments
 (0)