diff --git a/build_tools/code-generators/c_structdef_cg.pm b/build_tools/code-generators/c_structdef_cg.pm index 3e98a1ab4..95b4f9f2d 100644 --- a/build_tools/code-generators/c_structdef_cg.pm +++ b/build_tools/code-generators/c_structdef_cg.pm @@ -62,8 +62,7 @@ sub postProcessField if (/set/) { - my $enumName = ${$field}{"enum"}; - my $enum = ${$enumMap}{$enumName}; + my $enum = ${$field}{"enum"}; my $enumSize = @{${$enum}{"values"}}; $$output .= "\[${enumSize}]" if (/set/); diff --git a/build_tools/code-generators/db-lang.pl b/build_tools/code-generators/db-lang.pl index 4804a1857..36f5c7fc2 100755 --- a/build_tools/code-generators/db-lang.pl +++ b/build_tools/code-generators/db-lang.pl @@ -128,7 +128,9 @@ sub parseStruct # Parse set and enum field declarations elsif (/^\s*(set|enum)\s+(\w+)\s+(unique\s+)?(\w+)\s*;\s*$/) { - my %field = (type=>$1, enum=>$2, name=>$4); + die "error: Cannot use enum \"$2\" as it isn't declared yet" unless exists($enumMap{$2}); + + my %field = (type=>$1, enum=>$enumMap{$2}, name=>$4); push @{$field{"qualifiers"}}, $3 if $3; diff --git a/build_tools/code-generators/sql_selectdef_cg.pm b/build_tools/code-generators/sql_selectdef_cg.pm index a74672353..823ba66d9 100644 --- a/build_tools/code-generators/sql_selectdef_cg.pm +++ b/build_tools/code-generators/sql_selectdef_cg.pm @@ -33,8 +33,7 @@ sub printStructFields if (${$field}{"type"} and ${$field}{"type"} =~ /set/) { - my $enumName = ${$field}{"enum"}; - my $enum = ${$enumMap}{$enumName}; + my $enum = ${$field}{"enum"}; my @values = @{${$enum}{"values"}}; while (@values) diff --git a/build_tools/code-generators/sql_tabledef_cg.pm b/build_tools/code-generators/sql_tabledef_cg.pm index f8ee5f5b8..4e7c8fbb6 100644 --- a/build_tools/code-generators/sql_tabledef_cg.pm +++ b/build_tools/code-generators/sql_tabledef_cg.pm @@ -59,8 +59,7 @@ sub printStructFields if (${$field}{"type"} and ${$field}{"type"} =~ /set/) { - my $enumName = ${$field}{"enum"}; - my $enum = ${$enumMap}{$enumName}; + my $enum = ${$field}{"enum"}; my @values = @{${$enum}{"values"}}; my $unique_string = "UNIQUE(";