summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/validity.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/validity.cpp')
-rw-r--r--src/emu/validity.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp
index cc7007e77cc..7e8a88b1442 100644
--- a/src/emu/validity.cpp
+++ b/src/emu/validity.cpp
@@ -218,9 +218,15 @@ bool validity_checker::check_all_matching(const char *string)
// then iterate over all drivers and check them
m_drivlist.reset();
+ bool validated_any = false;
while (m_drivlist.next())
+ {
if (m_drivlist.matches(string, m_drivlist.driver().name))
+ {
validate_one(m_drivlist.driver());
+ validated_any = true;
+ }
+ }
// validate devices
if (!string)
@@ -229,6 +235,10 @@ bool validity_checker::check_all_matching(const char *string)
// cleanup
validate_end();
+ // if we failed to match anything, it
+ if (string && !validated_any)
+ throw emu_fatalerror(EMU_ERR_FAILED_VALIDITY, "\"%s\" failed to match any drivers\n", string);
+
return !(m_errors > 0 || m_warnings > 0);
}