mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-11-27 03:45:39 +00:00
Merge pull request #14045 from JoshuaVandaele/warn-fix
Fix various warnings
This commit is contained in:
commit
c12d3a6d22
@ -1862,7 +1862,7 @@ void XEmitter::WriteVEXOp4(u8 opPrefix, u16 op, X64Reg regOp1, X64Reg regOp2, co
|
||||
Write8((u8)regOp3 << 4);
|
||||
}
|
||||
|
||||
void CheckAVXSupport()
|
||||
static void CheckAVXSupport()
|
||||
{
|
||||
if (!cpu_info.bAVX)
|
||||
PanicAlertFmt("Trying to use AVX on a system that doesn't support it. Bad programmer.");
|
||||
|
||||
@ -257,7 +257,13 @@ void GameConfigEdit::OpenExternalEditor()
|
||||
if (m_read_only)
|
||||
return;
|
||||
|
||||
file.open(QIODevice::WriteOnly);
|
||||
if (!file.open(QIODevice::WriteOnly))
|
||||
{
|
||||
ModalMessageBox::warning(this, tr("Error"),
|
||||
tr("Failed to create the configuration file:\n%1").arg(m_path));
|
||||
return;
|
||||
}
|
||||
|
||||
file.close();
|
||||
}
|
||||
|
||||
|
||||
@ -186,10 +186,6 @@ void OnScreenDisplayPane::AddDescriptions()
|
||||
"but the slower it will be to update."
|
||||
"<br><br><dolphin_emphasis>If unsure, leave this "
|
||||
"at 1000ms.</dolphin_emphasis>");
|
||||
static const char TR_LOG_RENDERTIME_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Logs the render time of every frame to User/Logs/render_time.txt.<br><br>Use this "
|
||||
"feature to measure Dolphin's performance.<br><br><dolphin_emphasis>If "
|
||||
"unsure, leave this unchecked.</dolphin_emphasis>");
|
||||
|
||||
static const char TR_SHOW_NETPLAY_PING_DESCRIPTION[] = QT_TR_NOOP(
|
||||
"Shows the player's maximum ping while playing on "
|
||||
|
||||
@ -222,7 +222,7 @@ bool MaterialData::FromJson(const CustomAssetLibrary::AssetID& asset_id,
|
||||
const picojson::object& json, MaterialData* data)
|
||||
{
|
||||
const auto parse_properties = [&](const char* name,
|
||||
std::vector<MaterialProperty>* properties) -> bool {
|
||||
std::vector<MaterialProperty>* material_properties) -> bool {
|
||||
const auto properties_iter = json.find(name);
|
||||
if (properties_iter == json.end())
|
||||
{
|
||||
@ -237,7 +237,7 @@ bool MaterialData::FromJson(const CustomAssetLibrary::AssetID& asset_id,
|
||||
}
|
||||
const auto& properties_array = properties_iter->second.get<picojson::array>();
|
||||
|
||||
if (!ParseMaterialProperties(asset_id, properties_array, properties))
|
||||
if (!ParseMaterialProperties(asset_id, properties_array, material_properties))
|
||||
return false;
|
||||
return true;
|
||||
};
|
||||
|
||||
@ -31,144 +31,6 @@ bool IsBuiltInMacro(std::string_view value)
|
||||
return Common::Contains(built_in, value);
|
||||
}
|
||||
|
||||
std::vector<std::string> GlobalConflicts(std::string_view source)
|
||||
{
|
||||
std::string_view last_identifier = "";
|
||||
std::vector<std::string> global_result;
|
||||
u32 scope = 0;
|
||||
for (u32 i = 0; i < source.size(); i++)
|
||||
{
|
||||
// If we're out of global scope, we don't care
|
||||
// about any of the details
|
||||
if (scope > 0)
|
||||
{
|
||||
if (source[i] == '{')
|
||||
{
|
||||
scope++;
|
||||
}
|
||||
else if (source[i] == '}')
|
||||
{
|
||||
scope--;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
const auto parse_identifier = [&] {
|
||||
const u32 start = i;
|
||||
for (; i < source.size(); i++)
|
||||
{
|
||||
if (!Common::IsAlpha(source[i]) && source[i] != '_' && !std::isdigit(source[i]))
|
||||
break;
|
||||
}
|
||||
u32 end = i;
|
||||
i--; // unwind
|
||||
return source.substr(start, end - start);
|
||||
};
|
||||
|
||||
if (Common::IsAlpha(source[i]) || source[i] == '_')
|
||||
{
|
||||
const std::string_view identifier = parse_identifier();
|
||||
if (IsQualifier(identifier))
|
||||
continue;
|
||||
if (IsBuiltInMacro(identifier))
|
||||
continue;
|
||||
last_identifier = identifier;
|
||||
}
|
||||
else if (source[i] == '#')
|
||||
{
|
||||
const auto parse_until_end_of_preprocessor = [&] {
|
||||
bool continue_until_next_newline = false;
|
||||
for (; i < source.size(); i++)
|
||||
{
|
||||
if (source[i] == '\n')
|
||||
{
|
||||
if (continue_until_next_newline)
|
||||
continue_until_next_newline = false;
|
||||
else
|
||||
break;
|
||||
}
|
||||
else if (source[i] == '\\')
|
||||
{
|
||||
continue_until_next_newline = true;
|
||||
}
|
||||
}
|
||||
};
|
||||
i++;
|
||||
const std::string_view identifier = parse_identifier();
|
||||
if (identifier == "define")
|
||||
{
|
||||
i++;
|
||||
// skip whitespace
|
||||
while (source[i] == ' ')
|
||||
{
|
||||
i++;
|
||||
}
|
||||
global_result.emplace_back(parse_identifier());
|
||||
parse_until_end_of_preprocessor();
|
||||
}
|
||||
else
|
||||
{
|
||||
parse_until_end_of_preprocessor();
|
||||
}
|
||||
}
|
||||
else if (source[i] == '{')
|
||||
{
|
||||
scope++;
|
||||
}
|
||||
else if (source[i] == '(')
|
||||
{
|
||||
// Unlikely the user will be using layouts but...
|
||||
if (last_identifier == "layout")
|
||||
continue;
|
||||
|
||||
// Since we handle equality, we can assume the identifier
|
||||
// before '(' is a function definition
|
||||
global_result.emplace_back(last_identifier);
|
||||
}
|
||||
else if (source[i] == '=')
|
||||
{
|
||||
global_result.emplace_back(last_identifier);
|
||||
i++;
|
||||
for (; i < source.size(); i++)
|
||||
{
|
||||
if (source[i] == ';')
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (source[i] == '/')
|
||||
{
|
||||
if ((i + 1) >= source.size())
|
||||
continue;
|
||||
|
||||
if (source[i + 1] == '/')
|
||||
{
|
||||
// Go to end of line...
|
||||
for (; i < source.size(); i++)
|
||||
{
|
||||
if (source[i] == '\n')
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (source[i + 1] == '*')
|
||||
{
|
||||
// Multiline, look for first '*/'
|
||||
for (; i < source.size(); i++)
|
||||
{
|
||||
if (source[i] == '/' && source[i - 1] == '*')
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort the conflicts from largest to smallest string
|
||||
// this way we can ensure smaller strings that are a substring
|
||||
// of the larger string are able to be replaced appropriately
|
||||
std::ranges::sort(global_result, std::ranges::greater{},
|
||||
[](const std::string& s) { return s.size(); });
|
||||
return global_result;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
void CustomPipeline::UpdatePixelData(std::shared_ptr<VideoCommon::CustomAssetLibrary>,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user