ibAddrSize = 0x04,
ibType = 0x08,
ibSize = 0x10,
+ ibSegment = 0x20,
ibRequired = ibSymName | ibValue | ibAddrSize | ibType,
} InfoBits = ibNone;
/* Something we know? */
if (D->Tok != TOK_ADDRSIZE && D->Tok != TOK_NAME &&
- D->Tok != TOK_SIZE && D->Tok != TOK_TYPE &&
- D->Tok != TOK_VALUE) {
+ D->Tok != TOK_SEGMENT && D->Tok != TOK_SIZE &&
+ D->Tok != TOK_TYPE && D->Tok != TOK_VALUE) {
/* Try smart error recovery */
if (D->Tok == TOK_IDENT || TokenIsKeyword (D->Tok)) {
NextToken (D);
break;
+ case TOK_SEGMENT:
+ if (!IntConstFollows (D)) {
+ goto ErrorExit;
+ }
+ /* ### Drop value for now */
+ InfoBits |= ibSegment;
+ NextToken (D);
+ break;
+
case TOK_SIZE:
if (!IntConstFollows (D)) {
goto ErrorExit;