Report an error when trying to define ports

'v', 'vd', 'i', and 'id' as 'inout'
Parch 105 provided by  Giles Atkinson
This commit is contained in:
Holger Vogt 2021-04-10 16:33:53 +02:00
parent bc74caca2f
commit 545d2f9177
1 changed files with 9 additions and 4 deletions

View File

@ -221,6 +221,11 @@ static void check_port_type_direction (Dir_t dir, Port_Type_t port_type)
case DIFF_VOLTAGE: case DIFF_VOLTAGE:
case CURRENT: case CURRENT:
case DIFF_CURRENT: case DIFF_CURRENT:
if (dir == CMPP_INOUT) {
yyerror ("Port types `v', `vd', `i', `id' are not valid for `inout' ports");
ifs_num_errors++;
}
break;
case DIGITAL: case DIGITAL:
case USER_DEFINED: case USER_DEFINED:
/* /*
@ -229,8 +234,8 @@ static void check_port_type_direction (Dir_t dir, Port_Type_t port_type)
break; break;
case VSOURCE_CURRENT: case VSOURCE_CURRENT:
if (dir != CMPP_IN) { if (dir != CMPP_IN) {
yyerror ("Port type `vnam' is only valid for `in' ports"); yyerror ("Port type `vnam' is only valid for `in' ports");
ifs_num_errors++; ifs_num_errors++;
} }
break; break;
case CONDUCTANCE: case CONDUCTANCE:
@ -238,8 +243,8 @@ static void check_port_type_direction (Dir_t dir, Port_Type_t port_type)
case RESISTANCE: case RESISTANCE:
case DIFF_RESISTANCE: case DIFF_RESISTANCE:
if (dir != CMPP_INOUT) { if (dir != CMPP_INOUT) {
yyerror ("Port types `g', `gd', `h', `hd' are only valid for `inout' ports"); yyerror ("Port types `g', `gd', `h', `hd' are only valid for `inout' ports");
ifs_num_errors++; ifs_num_errors++;
} }
break; break;
default: default: