Skip to content

Commit 4eee4d5

Browse files
committed
change flags, but break clang
1 parent 249f571 commit 4eee4d5

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
@@ -823,5 +823,4 @@ def err_drv_contract_group_name_invalid : Error<
823823
"|cannot be empty"
824824
"|\"%2\" is an invalid value"
825825
"}0">;
826-
827826
}

clang/include/clang/Driver/Options.td

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

1680-
def fclang_contract_groups_EQ : CommaJoined<["-"], "fclang-contract-groups=">,
1680+
def fcontract_group_evaluation_semantic_EQ : CommaJoined<["-"], "fcontract-group-evaluation-semantic=">,
16811681
Visibility<[ClangOption, CC1Option]>,
16821682
HelpText<"Clang extension. Enable or disable contracts by group. The argument is a comma-separated "
16831683
"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
@@ -7312,8 +7312,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
73127312
Twine("-fcontract-evaluation-semantic=") + A->getValue()));
73137313
}
73147314
std::vector<std::string> ContractGroups =
7315-
Args.getAllArgValues(options::OPT_fclang_contract_groups_EQ);
7316-
CmdArgs.push_back(Args.MakeArgString(Twine("-fclang-contract-groups=") +
7315+
Args.getAllArgValues(options::OPT_fcontract_group_evaluation_semantic_EQ);
7316+
CmdArgs.push_back(Args.MakeArgString(Twine("-fcontract-group-evaluation-semantic=") +
73177317
llvm::join(ContractGroups, ",")));
73187318

73197319
}();

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3475,9 +3475,11 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts,
34753475
GenerateArg(Consumer, OPT_pic_is_pie);
34763476
for (StringRef Sanitizer : serializeSanitizerKinds(Opts.Sanitize))
34773477
GenerateArg(Consumer, OPT_fsanitize_EQ, Sanitizer);
3478+
3479+
34783480
for (StringRef ContractGroup :
34793481
Opts.ContractOptions.serializeContractGroupArgs())
3480-
GenerateArg(Consumer, OPT_fclang_contract_groups_EQ, ContractGroup);
3482+
GenerateArg(Consumer, OPT_fcontract_group_evaluation_semantic_EQ, ContractGroup);
34813483
return;
34823484
}
34833485

@@ -3752,7 +3754,7 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts,
37523754

37533755
for (StringRef ContractGroup :
37543756
Opts.ContractOptions.serializeContractGroupArgs())
3755-
GenerateArg(Consumer, OPT_fclang_contract_groups_EQ, ContractGroup);
3757+
GenerateArg(Consumer, OPT_fcontract_group_evaluation_semantic_EQ, ContractGroup);
37563758
}
37573759

37583760
bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
@@ -4389,7 +4391,7 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
43894391
};
43904392

43914393
std::vector<std::string> ContractGroupValues =
4392-
Args.getAllArgValues(options::OPT_fclang_contract_groups_EQ);
4394+
Args.getAllArgValues(options::OPT_fcontract_group_evaluation_semantic_EQ);
43934395
Opts.ContractOptions.parseContractGroups(ContractGroupValues,
43944396
EmitContractDiag);
43954397

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)