Skip to content

Commit d19459f

Browse files
committed
change flags, but break clang
1 parent c8290ce commit d19459f

File tree

6 files changed

+11
-11
lines changed

6 files changed

+11
-11
lines changed

clang/include/clang/Basic/DiagnosticDriverKinds.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,5 +827,4 @@ def err_drv_contract_group_name_invalid : Error<
827827
"|cannot be empty"
828828
"|\"%2\" is an invalid value"
829829
"}0">;
830-
831830
}

clang/include/clang/Driver/Options.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1683,7 +1683,7 @@ def fcontract_evaluation_semantic_EQ : Joined<["-"], "fcontract-evaluation-seman
16831683
NormalizedValues<["Ignore", "Enforce", "Observe", "QuickEnforce"]>,
16841684
MarshallingInfoEnum<LangOpts<"ContractEvalSemantic">, "Enforce">;
16851685

1686-
def fclang_contract_groups_EQ : CommaJoined<["-"], "fclang-contract-groups=">,
1686+
def fcontract_group_evaluation_semantic_EQ : CommaJoined<["-"], "fcontract-group-evaluation-semantic=">,
16871687
Visibility<[ClangOption, CC1Option]>,
16881688
HelpText<"Clang extension. Enable or disable contracts by group. The argument is a comma-separated "
16891689
"sequence of one or more group names, each prefixed by '+' or '-'.">;

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7258,8 +7258,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
72587258
Twine("-fcontract-evaluation-semantic=") + A->getValue()));
72597259
}
72607260
std::vector<std::string> ContractGroups =
7261-
Args.getAllArgValues(options::OPT_fclang_contract_groups_EQ);
7262-
CmdArgs.push_back(Args.MakeArgString(Twine("-fclang-contract-groups=") +
7261+
Args.getAllArgValues(options::OPT_fcontract_group_evaluation_semantic_EQ);
7262+
CmdArgs.push_back(Args.MakeArgString(Twine("-fcontract-group-evaluation-semantic=") +
72637263
llvm::join(ContractGroups, ",")));
72647264

72657265
}();

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3512,9 +3512,11 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts,
35123512
GenerateArg(Consumer, OPT_pic_is_pie);
35133513
for (StringRef Sanitizer : serializeSanitizerKinds(Opts.Sanitize))
35143514
GenerateArg(Consumer, OPT_fsanitize_EQ, Sanitizer);
3515+
3516+
35153517
for (StringRef ContractGroup :
35163518
Opts.ContractOptions.serializeContractGroupArgs())
3517-
GenerateArg(Consumer, OPT_fclang_contract_groups_EQ, ContractGroup);
3519+
GenerateArg(Consumer, OPT_fcontract_group_evaluation_semantic_EQ, ContractGroup);
35183520
return;
35193521
}
35203522

@@ -3789,7 +3791,7 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts,
37893791

37903792
for (StringRef ContractGroup :
37913793
Opts.ContractOptions.serializeContractGroupArgs())
3792-
GenerateArg(Consumer, OPT_fclang_contract_groups_EQ, ContractGroup);
3794+
GenerateArg(Consumer, OPT_fcontract_group_evaluation_semantic_EQ, ContractGroup);
37933795
}
37943796

37953797
bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
@@ -4426,7 +4428,7 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
44264428
};
44274429

44284430
std::vector<std::string> ContractGroupValues =
4429-
Args.getAllArgValues(options::OPT_fclang_contract_groups_EQ);
4431+
Args.getAllArgValues(options::OPT_fcontract_group_evaluation_semantic_EQ);
44304432
Opts.ContractOptions.parseContractGroups(ContractGroupValues,
44314433
EmitContractDiag);
44324434

libcxx/include/contracts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public:
5656
unsigned __line_;
5757
};
5858

59-
contract_violation(_Info __info) noexcept
59+
explicit contract_violation(_Info __info) noexcept
6060
: __info_(__info) {}
6161

6262

@@ -70,13 +70,13 @@ _LIBCPP_EXPORTED_FROM_ABI void invoke_default_contract_violation_handler(const c
7070

7171
} // namespace std::contracts
7272

73-
_LIBCPP_WEAK void handle_contract_violation(const std::contracts::contract_violation&) noexcept;
73+
_LIBCPP_WEAK void handle_contract_violation(const std::contracts::contract_violation&);
7474

7575

7676
extern "C" {
7777
_LIBCPP_EXPORTED_FROM_ABI
7878
void __handle_contract_violation(unsigned kind, unsigned eval_semantic,
79-
unsigned detection_mode, const char* comment, const char* file, unsigned line);
79+
unsigned detection_mode, const char* comment, const char* file, unsigned line);
8080
}
8181

8282

libcxx/src/contracts.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
namespace std::contracts {
1010

1111
void invoke_default_contract_violation_handler(const contract_violation& violation) noexcept {
12-
1312
::handle_contract_violation(violation);
1413
}
1514

0 commit comments

Comments
 (0)