Move UNION code inside section.c

Improves organization and locality
This commit is contained in:
ISSOtm
2020-09-06 19:18:10 +02:00
parent 12b7cf3cd4
commit 14be01880d
5 changed files with 67 additions and 64 deletions

View File

@@ -21,7 +21,6 @@
#include "asm/localasm.h"
#include "asm/symbol.h"
#define MAXUNIONS 128
#define MAXMACROARGS 99999
#define MAXINCPATHS 128
@@ -29,9 +28,6 @@ extern int32_t nLineNo;
extern uint32_t nTotalLines;
extern uint32_t nIFDepth;
extern bool skipElif;
extern uint32_t nUnionDepth;
extern uint32_t unionStart[MAXUNIONS];
extern uint32_t unionSize[MAXUNIONS];
extern char tzCurrentFileName[_MAX_PATH + 1];
extern struct Section *pCurrentSection;
extern bool oDontExpandStrings;

View File

@@ -46,10 +46,14 @@ void out_EndLoadSection(void);
struct Section *sect_GetSymbolSection(void);
uint32_t sect_GetSymbolOffset(void);
void sect_SetSymbolOffset(uint32_t ofs);
uint32_t sect_GetOutputOffset(void);
void sect_AlignPC(uint8_t alignment, uint16_t offset);
void sect_StartUnion(void);
void sect_NextUnionMember(void);
void sect_EndUnion(void);
void sect_CheckUnionClosed(void);
void out_AbsByte(uint8_t b);
void out_AbsByteGroup(uint8_t const *s, int32_t length);
void out_Skip(int32_t skip, bool ds);