mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
netlist: Add support for empty #defines to preprocessor. [Aaron Giles]
Also add detection and reporting of re-definitions.
This commit is contained in:
parent
88edd7c665
commit
cfc3a76d04
@ -556,7 +556,14 @@ namespace plib {
|
|||||||
pstring n = args.next();
|
pstring n = args.next();
|
||||||
if (!is_valid_token(n))
|
if (!is_valid_token(n))
|
||||||
error("define expected identifier");
|
error("define expected identifier");
|
||||||
if (args.next_ws() == "(")
|
auto prevdef = get_define(n);
|
||||||
|
if (lti.size() == 2)
|
||||||
|
{
|
||||||
|
if (prevdef != nullptr && prevdef->m_replace != "")
|
||||||
|
error("redefinition of " + n);
|
||||||
|
m_defines.insert({n, define_t(n, "")});
|
||||||
|
}
|
||||||
|
else if (args.next_ws() == "(")
|
||||||
{
|
{
|
||||||
define_t def(n);
|
define_t def(n);
|
||||||
def.m_has_params = true;
|
def.m_has_params = true;
|
||||||
@ -576,6 +583,8 @@ namespace plib {
|
|||||||
while (!args.eod())
|
while (!args.eod())
|
||||||
r += args.next_ws();
|
r += args.next_ws();
|
||||||
def.m_replace = r;
|
def.m_replace = r;
|
||||||
|
if (prevdef != nullptr && prevdef->m_replace != r)
|
||||||
|
error("redefinition of " + n);
|
||||||
m_defines.insert({n, def});
|
m_defines.insert({n, def});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -583,6 +592,8 @@ namespace plib {
|
|||||||
pstring r;
|
pstring r;
|
||||||
while (!args.eod())
|
while (!args.eod())
|
||||||
r += args.next_ws();
|
r += args.next_ws();
|
||||||
|
if (prevdef != nullptr && prevdef->m_replace != r)
|
||||||
|
error("redefinition of " + n);
|
||||||
m_defines.insert({n, define_t(n, r)});
|
m_defines.insert({n, define_t(n, r)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user