diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2011-03-10 15:20:12 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-03-10 15:20:40 +0000 |
commit | 876fe55db1eae687e2f7d1b868cf4933fd68cf68 (patch) | |
tree | 78dbe802ea618e4d9ec8e28cf6f2acf146028ec6 /risugen | |
parent | 8601756f6096fc17f2d8da94c95b516d26729d83 (diff) |
risugen: Improve diagnostics for missing continuation character
Improve diagnostics for config files missing line continuation characters
by enforcing C-identifier rules for what is a valid instruction and
encoding name (alphanumerics plus underscore, must not start with digit).
Diffstat (limited to 'risugen')
-rwxr-xr-x | risugen | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -531,6 +531,15 @@ sub parse_config_file($) print STDERR "$file:$.: no insn or encoding?\n"; exit(1); } + if ($insn !~ /^[A-Za-z0-9][A-Za-z0-9_]*$/) { + print STDERR "$file:$.: invalid insn name $insn "; + print STDERR "(possibly missing line continuation character?)\n"; + exit(1); + } + if ($enc !~ /^[A-Za-z0-9][A-Za-z0-9_]*$/) { + print STDERR "$file:$.: invalid encoding name $enc\n"; + exit(1); + } my $insnname = "${insn} ${enc}"; if (exists $insn_details{$insnname}) { print STDERR "$file:$.: redefinition of $insnname\n"; |