From 10cefdb456327cbe0edeb4d7d9fb637d16b3cd5d Mon Sep 17 00:00:00 2001 From: bbbradsmith Date: Wed, 1 May 2019 02:50:16 -0400 Subject: [PATCH] move EXPR_NEARADDR to end of enum list to avoid invalidation of existing object binaries? --- src/ca65/studyexpr.c | 8 ++++---- src/common/exprdefs.c | 8 ++++---- src/common/exprdefs.h | 6 +++--- src/ld65/expr.c | 8 ++++---- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/ca65/studyexpr.c b/src/ca65/studyexpr.c index 3aabd3f88..b4260cab7 100644 --- a/src/ca65/studyexpr.c +++ b/src/ca65/studyexpr.c @@ -1447,10 +1447,6 @@ static void StudyExprInternal (ExprNode* Expr, ExprDesc* D) StudyWord1 (Expr, D); break; - case EXPR_NEARADDR: - StudyNearAddr (Expr, D); - break; - case EXPR_FARADDR: StudyFarAddr (Expr, D); break; @@ -1459,6 +1455,10 @@ static void StudyExprInternal (ExprNode* Expr, ExprDesc* D) StudyDWord (Expr, D); break; + case EXPR_NEARADDR: + StudyNearAddr (Expr, D); + break; + default: Internal ("Unknown Op type: %u", Expr->Op); break; diff --git a/src/common/exprdefs.c b/src/common/exprdefs.c index c9db831a2..6639e3d02 100644 --- a/src/common/exprdefs.c +++ b/src/common/exprdefs.c @@ -210,10 +210,6 @@ static void InternalDumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym printf (" WORD1"); break; - case EXPR_NEARADDR: - printf (" NEARADDR"); - break; - case EXPR_FARADDR: printf (" FARADDR"); break; @@ -222,6 +218,10 @@ static void InternalDumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym printf (" DWORD"); break; + case EXPR_NEARADDR: + printf (" NEARADDR"); + break; + default: AbEnd ("Unknown Op type: %u", Expr->Op); diff --git a/src/common/exprdefs.h b/src/common/exprdefs.h index 90da6dff4..bf2b7a2da 100644 --- a/src/common/exprdefs.h +++ b/src/common/exprdefs.h @@ -97,9 +97,9 @@ #define EXPR_BYTE3 (EXPR_UNARYNODE | 0x0B) #define EXPR_WORD0 (EXPR_UNARYNODE | 0x0C) #define EXPR_WORD1 (EXPR_UNARYNODE | 0x0D) -#define EXPR_NEARADDR (EXPR_UNARYNODE | 0x0E) -#define EXPR_FARADDR (EXPR_UNARYNODE | 0x0F) -#define EXPR_DWORD (EXPR_UNARYNODE | 0x10) +#define EXPR_FARADDR (EXPR_UNARYNODE | 0x0E) +#define EXPR_DWORD (EXPR_UNARYNODE | 0x0F) +#define EXPR_NEARADDR (EXPR_UNARYNODE | 0x10) diff --git a/src/ld65/expr.c b/src/ld65/expr.c index 482430a19..bc3d7941c 100644 --- a/src/ld65/expr.c +++ b/src/ld65/expr.c @@ -436,16 +436,16 @@ long GetExprVal (ExprNode* Expr) case EXPR_WORD1: return (GetExprVal (Expr->Left) >> 16) & 0xFFFF; - case EXPR_NEARADDR: - /* Assembler was expected to validate this truncation. */ - return GetExprVal (Expr->Left) & 0xFFFF; - case EXPR_FARADDR: return GetExprVal (Expr->Left) & 0xFFFFFF; case EXPR_DWORD: return GetExprVal (Expr->Left) & 0xFFFFFFFF; + case EXPR_NEARADDR: + /* Assembler was expected to validate this truncation. */ + return GetExprVal (Expr->Left) & 0xFFFF; + default: Internal ("Unknown expression Op type: %u", Expr->Op); /* NOTREACHED */