diff --git a/include/asm/symbol.h b/include/asm/symbol.h index 5f987a74..7cee9949 100644 --- a/include/asm/symbol.h +++ b/include/asm/symbol.h @@ -77,7 +77,7 @@ static inline bool sym_IsExported(struct sSymbol const *sym) int32_t sym_GetValue(struct sSymbol const *sym); uint32_t sym_CalcHash(const char *s); -void sym_SetExportAll(uint8_t set); +void sym_SetExportAll(bool set); struct sSymbol *sym_AddLocalReloc(char const *tzSym); struct sSymbol *sym_AddReloc(char const *tzSym); void sym_Export(char const *tzSym); diff --git a/src/asm/symbol.c b/src/asm/symbol.c index de32f3ab..b018965f 100644 --- a/src/asm/symbol.c +++ b/src/asm/symbol.c @@ -279,11 +279,11 @@ uint32_t sym_GetConstantValue(char const *s) if (sym_IsConstant(psym)) return sym_GetValue(psym); - fatalerror("\"%s\" does not have a constant value", s); + yyerror("\"%s\" does not have a constant value", s); + } else { + yyerror("'%s' not defined", s); } - yyerror("'%s' not defined", s); - return 0; } @@ -706,7 +706,7 @@ void sym_Ref(char const *tzSym) /* * Set whether to export all relocatable symbols by default */ -void sym_SetExportAll(uint8_t set) +void sym_SetExportAll(bool set) { exportall = set; } diff --git a/test/asm/bracketed-symbols.asm b/test/asm/bracketed-symbols.asm index 33e7c1e3..358c4428 100644 --- a/test/asm/bracketed-symbols.asm +++ b/test/asm/bracketed-symbols.asm @@ -18,3 +18,4 @@ PRINTT "{X:S}\n" SECTION "Test", ROM0 Label: PRINTT "{x:Label}\n" +PRINTT "{x:@}\n" diff --git a/test/asm/bracketed-symbols.err b/test/asm/bracketed-symbols.err index b6c44e82..12541947 100644 --- a/test/asm/bracketed-symbols.err +++ b/test/asm/bracketed-symbols.err @@ -2,3 +2,6 @@ ERROR: bracketed-symbols.asm(16): Print types are only allowed for numbers ERROR: bracketed-symbols.asm(20): "Label" does not have a constant value +ERROR: bracketed-symbols.asm(21): + Expected constant PC but section is not fixed +error: Assembly aborted (3 errors)! diff --git a/test/asm/bracketed-symbols.out b/test/asm/bracketed-symbols.out index 67af4944..d06ee2b5 100644 --- a/test/asm/bracketed-symbols.out +++ b/test/asm/bracketed-symbols.out @@ -6,3 +6,5 @@ $2A 10100111001 0 You can't format me! +0 +0