config.set_direct_mode(false);
}
- // -Xarch_* options need to be handled with care
+ // Handle -Xarch_* options.
if (util::starts_with(arg, "-Xarch_")) {
if (i == args.size() - 1) {
LOG("Missing argument to {}", args[i]);
return Statistic::bad_compiler_arguments;
}
const auto arch = arg.substr(7);
- auto [it, inserted] =
- state.xarch_args.emplace(arch, std::vector<std::string>());
+ auto it = state.xarch_args.emplace(arch, std::vector<std::string>()).first;
it->second.emplace_back(args[i + 1]);
++i;
return Statistic::none;
preprocessor_args->push_back("-arch");
for (size_t i = 0; i < ctx.args_info.arch_args.size(); ++i) {
const auto& arch = ctx.args_info.arch_args[i];
- size_t xarch_count{};
+ size_t xarch_count = 0;
preprocessor_args->push_back(arch);
auto it = ctx.args_info.xarch_args.find(arch);
if (it != ctx.args_info.xarch_args.end()) {
if (i != ctx.args_info.arch_args.size() - 1) {
result_key = std::nullopt;
}
- preprocessor_args->pop_back();
- if (xarch_count > 0) {
- preprocessor_args->pop_back(xarch_count);
- }
+ preprocessor_args->pop_back(1 + xarch_count);
}
preprocessor_args->pop_back();
}
-// Copyright (C) 2020-2022 Joel Rosdahl and other contributors
+// Copyright (C) 2020-2023 Joel Rosdahl and other contributors
//
// See doc/AUTHORS.adoc for a complete list of contributors.
//
SUBCASE("pop_back")
{
+ args.pop_back(0);
+ CHECK(args == Args::from_string("eeny meeny miny moe"));
+
args.pop_back();
CHECK(args == Args::from_string("eeny meeny miny"));
SUBCASE("pop_front")
{
+ args.pop_front(0);
+ CHECK(args == Args::from_string("eeny meeny miny moe"));
+
args.pop_front();
CHECK(args == Args::from_string("meeny miny moe"));