|
|
@@ -573,8 +573,9 @@ toolchain dds::parse_toolchain_json_data(const json5::data& dat, std::string_vie |
|
|
|
#endif |
|
|
|
}); |
|
|
|
|
|
|
|
/// TODO: Handle base_warning_flags: |
|
|
|
tc.warning_flags = read_opt(warning_flags, [&]() -> string_seq { |
|
|
|
// `base_warning_flags` is loaded first, and switches based on compiler_id. |
|
|
|
// This one is "advanced," and sets a common base for warning sets |
|
|
|
tc.warning_flags = read_opt(base_warning_flags, [&]() -> string_seq { |
|
|
|
if (!compiler_id) { |
|
|
|
// No error. Just no warning flags |
|
|
|
return {}; |
|
|
@@ -588,6 +589,11 @@ toolchain dds::parse_toolchain_json_data(const json5::data& dat, std::string_vie |
|
|
|
std::terminate(); |
|
|
|
}); |
|
|
|
|
|
|
|
// `warning_flags` allows the user to provide additional warnings/errors |
|
|
|
if (warning_flags) { |
|
|
|
extend(tc.warning_flags, *warning_flags); |
|
|
|
} |
|
|
|
|
|
|
|
tc.link_archive = read_opt(create_archive, [&]() -> string_seq { |
|
|
|
if (!compiler_id) { |
|
|
|
fail(context, "Unable to deduce archive creation rules without a 'compiler_id'"); |