aboutsummaryrefslogtreecommitdiff
path: root/risugen
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2011-03-10 15:20:12 +0000
committerPeter Maydell <peter.maydell@linaro.org>2011-03-10 15:20:40 +0000
commit876fe55db1eae687e2f7d1b868cf4933fd68cf68 (patch)
tree78dbe802ea618e4d9ec8e28cf6f2acf146028ec6 /risugen
parent8601756f6096fc17f2d8da94c95b516d26729d83 (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-xrisugen9
1 files changed, 9 insertions, 0 deletions
diff --git a/risugen b/risugen
index 7f2f366..0dfafbd 100755
--- a/risugen
+++ b/risugen
@@ -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";