From 4120f352761f88e53535f42eda4f895039289db9 Mon Sep 17 00:00:00 2001 From: Kugel Fuhr <98353208+kugelfuhr@users.noreply.github.com> Date: Mon, 14 Jul 2025 12:59:52 +0200 Subject: [PATCH] Added tests for warnings or errors that now have notifications. --- src/ld65/exports.c | 4 ++-- test/asm/listing/170-ld-errormsg.cfg | 11 +++++++++++ test/asm/listing/170-ld-errormsg.s | 6 ++++++ test/asm/listing/171-ld-errormsg.cfg | 11 +++++++++++ test/asm/listing/171-ld-errormsg.s | 4 ++++ test/asm/listing/172-ld-errormsg.cfg | 6 ++++++ test/asm/listing/172-ld-errormsg.s | 4 ++++ test/asm/listing/control/171-ld-errormsg.err | 0 test/asm/listing/control/172-ld-errormsg.err | 0 test/asm/listing/ref/170-ld-errormsg.bin-ref | 1 + test/asm/listing/ref/170-ld-errormsg.ld65err2-ref | 2 ++ test/asm/listing/ref/171-ld-errormsg.ld65err2-ref | 2 ++ test/asm/listing/ref/172-ld-errormsg.ld65err2-ref | 2 ++ 13 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 test/asm/listing/170-ld-errormsg.cfg create mode 100644 test/asm/listing/170-ld-errormsg.s create mode 100644 test/asm/listing/171-ld-errormsg.cfg create mode 100644 test/asm/listing/171-ld-errormsg.s create mode 100644 test/asm/listing/172-ld-errormsg.cfg create mode 100644 test/asm/listing/172-ld-errormsg.s create mode 100644 test/asm/listing/control/171-ld-errormsg.err create mode 100644 test/asm/listing/control/172-ld-errormsg.err create mode 100644 test/asm/listing/ref/170-ld-errormsg.bin-ref create mode 100644 test/asm/listing/ref/170-ld-errormsg.ld65err2-ref create mode 100644 test/asm/listing/ref/171-ld-errormsg.ld65err2-ref create mode 100644 test/asm/listing/ref/172-ld-errormsg.ld65err2-ref diff --git a/src/ld65/exports.c b/src/ld65/exports.c index e3ad4f986..6464e9e8f 100644 --- a/src/ld65/exports.c +++ b/src/ld65/exports.c @@ -787,8 +787,8 @@ static void PrintUnresolved (ExpCheckFunc F, void* Data) for (J = 0; J < Count; ++J) { const LineInfo* LI = CollConstAt (&Imp->RefLines, J); PWarning (GetSourcePos (LI), - "Unresolved external `%s'", - Name); + "Unresolved external `%s'", + Name); } } Imp = Imp->Next; diff --git a/test/asm/listing/170-ld-errormsg.cfg b/test/asm/listing/170-ld-errormsg.cfg new file mode 100644 index 000000000..e0c20c8f5 --- /dev/null +++ b/test/asm/listing/170-ld-errormsg.cfg @@ -0,0 +1,11 @@ +MEMORY { + ZP: file = "", start = $80, size = $001F; + MAIN: file = %O, start = %S, size = $1000; +} +SEGMENTS { + ZEROPAGE: load = ZP, type = zp; + CODE: load = MAIN, type = rw; + RODATA: load = MAIN, type = rw; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss; +} diff --git a/test/asm/listing/170-ld-errormsg.s b/test/asm/listing/170-ld-errormsg.s new file mode 100644 index 000000000..e1133bbc2 --- /dev/null +++ b/test/asm/listing/170-ld-errormsg.s @@ -0,0 +1,6 @@ + + .code + .byte 5 + .bss + .byte 3 + diff --git a/test/asm/listing/171-ld-errormsg.cfg b/test/asm/listing/171-ld-errormsg.cfg new file mode 100644 index 000000000..2c2abd88d --- /dev/null +++ b/test/asm/listing/171-ld-errormsg.cfg @@ -0,0 +1,11 @@ +MEMORY { + ZP: file = "", start = $80, size = $001F; + MAIN: file = %O, start = %S, size = $100; +} +SEGMENTS { + ZEROPAGE: load = ZP, type = zp; + CODE: load = MAIN, type = rw; + RODATA: load = MAIN, type = rw; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss; +} diff --git a/test/asm/listing/171-ld-errormsg.s b/test/asm/listing/171-ld-errormsg.s new file mode 100644 index 000000000..a469c6b6c --- /dev/null +++ b/test/asm/listing/171-ld-errormsg.s @@ -0,0 +1,4 @@ + + .code + .res 256, 3 + .byte $FF diff --git a/test/asm/listing/172-ld-errormsg.cfg b/test/asm/listing/172-ld-errormsg.cfg new file mode 100644 index 000000000..c065fef6b --- /dev/null +++ b/test/asm/listing/172-ld-errormsg.cfg @@ -0,0 +1,6 @@ +MEMORY { + MAIN: file = %O, start = %S, size = $1000; +} +SEGMENTS { + CODE: load = MAIN, type = rwx; +} diff --git a/test/asm/listing/172-ld-errormsg.s b/test/asm/listing/172-ld-errormsg.s new file mode 100644 index 000000000..48a43a5d7 --- /dev/null +++ b/test/asm/listing/172-ld-errormsg.s @@ -0,0 +1,4 @@ + + .bss + .byte 3 + diff --git a/test/asm/listing/control/171-ld-errormsg.err b/test/asm/listing/control/171-ld-errormsg.err new file mode 100644 index 000000000..e69de29bb diff --git a/test/asm/listing/control/172-ld-errormsg.err b/test/asm/listing/control/172-ld-errormsg.err new file mode 100644 index 000000000..e69de29bb diff --git a/test/asm/listing/ref/170-ld-errormsg.bin-ref b/test/asm/listing/ref/170-ld-errormsg.bin-ref new file mode 100644 index 000000000..b0b2b1c8d --- /dev/null +++ b/test/asm/listing/ref/170-ld-errormsg.bin-ref @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/asm/listing/ref/170-ld-errormsg.ld65err2-ref b/test/asm/listing/ref/170-ld-errormsg.ld65err2-ref new file mode 100644 index 000000000..3a7f78941 --- /dev/null +++ b/test/asm/listing/ref/170-ld-errormsg.ld65err2-ref @@ -0,0 +1,2 @@ +170-ld-errormsg.cfg:10: Warning: Segment 'BSS' with type 'bss' contains initialized data +170-ld-errormsg.cfg:10: Note: Initialized data comes at least partially from '<<<#PATH#>>>' diff --git a/test/asm/listing/ref/171-ld-errormsg.ld65err2-ref b/test/asm/listing/ref/171-ld-errormsg.ld65err2-ref new file mode 100644 index 000000000..aecac7f99 --- /dev/null +++ b/test/asm/listing/ref/171-ld-errormsg.ld65err2-ref @@ -0,0 +1,2 @@ +171-ld-errormsg.cfg:3: Warning: Segment 'CODE' overflows memory area 'MAIN' by 1 byte +ld65: Error: Cannot generate most of the files due to memory area overflow diff --git a/test/asm/listing/ref/172-ld-errormsg.ld65err2-ref b/test/asm/listing/ref/172-ld-errormsg.ld65err2-ref new file mode 100644 index 000000000..6da93f0ee --- /dev/null +++ b/test/asm/listing/ref/172-ld-errormsg.ld65err2-ref @@ -0,0 +1,2 @@ +172-ld-errormsg.cfg:5: Error: Segment type expected but got 'RWX' +172-ld-errormsg.cfg:5: Note: You may use one of 'RO', 'RW', 'BSS', 'ZP' or 'OVERWRITE'