Blame | Last modification | View Log | Download
various_W.asm(4): warning[opkeyword]: Label collides with one of the operator keywords, try capitalizing it or other name: abs
various_W.asm(11): warning[fwdref]: forward reference of symbol: IF fwd_ref_label
various_W.asm(83): warning[fwdref]: forward reference of symbol: IF fwd_ref_label
# file opened: various_W.asm
1 0000 ; various -W<warning_id> combinations (hopefully all of them, if possible)
2 0000
3 0000 ; the default is "enabled" for all warnings - exercise all of them
4 0000 21 00 00 abs: ld hl,@abs ; placeholder for removed `ld hl,abs` (-Wabs removed in v1.20.0)
various_W.asm(5): warning[noramtop]: current device doesn't init memory in any way (RAMTOP is ignored)
5 0003 DEVICE ZXSPECTRUMNEXT, $8000
various_W.asm(6): warning[noramtop]: current device doesn't init memory in any way (RAMTOP is ignored)
6 0003 DEVICE NOSLOT64K, $8000
7 0003 DEVICE ZXSPECTRUM48, $8000
various_W.asm(7): warning[devramtop]: [DEVICE] this device was already opened with different RAMTOP value
7 0003 DEVICE ZXSPECTRUM48, $8001
8 0003 DISP 123
various_W.asm(8): warning[displacedorg]: ORG-address set inside displaced block, the physical address is not modified, only displacement address
8 007B ORG 345
8 0159 ENT
various_W.asm(9): warning[orgpage]: [ORG] page argument affects current slot while address is outside: address 0x007B vs slot 3 range 0xC000..0xFFFF
9 0003 ORG 123, 0
10 007B
11 007B IF fwd_ref_label
11 007B ENDIF ; it's W_EARLY warning, emitted before last pass, look at start of listing
12 007B
13 007B lua pass3
14 007B ~ _pc("nop")
15 007B 00 nop
various_W.asm(15): warning[luamc]: When lua script emits machine code bytes, use "ALLPASS" modifier
15 007C endlua
16 007C
17 007C DEVICE ZXSPECTRUMNEXT
17 007C ORG $8000
17 8000 C9 ret
various_W.asm(17): warning[nexstack]: [SAVENEX] non-zero data are in stackAddress area, may get overwritten by NEXLOAD
17 8001 SAVENEX OPEN "various_W.nex", $8000, $8002
17 8001 SAVENEX CLOSE
18 8001 ; omitting "nexbmppal" test because it requires too many prerequisites (has dedicated tests any way)
19 8001 ; omitting "sna48" and "sna128" tests (have dedicated test any way)
20 8001 ; omitting "trdext", "trdext3", "trdextb" and "trddup" tests (have dedicated test)
21 8001 RELOCATE_START
various_W.asm(21): warning[relalign]: [ALIGN] inside relocation block: may become misaligned when relocated
21 8001 00 ALIGN 2
21 8002 RELOCATE_END
various_W.asm(22): warning[rdlow]: Reading memory at low address: 255
22 8002 3A FF 00 ld a,(255)
23 8005 ; omitting "reldiverts" and "relunstable" test (relocation has many dedicated+updated tests)
24 8005 ; omitting "dispmempage" test (has dedicated test (non-trivial))
various_W.asm(25): warning[bpfile]: breakpoints file was not specified
25 8005 SETBREAKPOINT
various_W.asm(26): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`
26 8005 ED 71 out (c),0
27 8007
28 8007
29 8007
30 8007
31 8007
32 8007
33 8007
34 8007
35 8007
36 8007
37 8007
38 8007
39 8007
40 8007
41 8007
42 8007
43 8007 ORG 0 ; start again at zero offset
44 0000 ; disable/enable specific warning and test specific-suppression in eol comment
45 0000
46 0000 ; abs
47 0000 ; placeholder for removed -Wabs test to minimize diff
48 0000 21 00 00 ld hl,@abs
49 0003
50 0003 21 00 00 ld hl,@abs
51 0006 21 00 00 ld hl,@abs
52 0009
53 0009 ; impossible to re-test zxnramtop and noslotramtop, because they are emitted just once
54 0009
55 0009 ; devramtop
56 0009 OPT -Wno-devramtop
57 0009 DEVICE ZXSPECTRUM48, $8002
58 0009 OPT -Wdevramtop
various_W.asm(59): warning[devramtop]: [DEVICE] this device was already opened with different RAMTOP value
59 0009 DEVICE ZXSPECTRUM48, $8003 ; luamc-ok - some other id, should not suppress devramtop
60 0009 DEVICE ZXSPECTRUM48, $8004 ; but devramtop-ok should suppress it
61 0009
62 0009 ; displacedorg
63 0009 DISP 101
64 0065 OPT -Wno-displacedorg
65 0065 ORG 201
66 00C9 OPT -Wdisplacedorg
various_W.asm(67): warning[displacedorg]: ORG-address set inside displaced block, the physical address is not modified, only displacement address
67 00C9 ORG 202 ; luamc-ok - some other id, should not suppress displacedorg
68 00CA ORG 203 ; but displacedorg-ok should suppress it
69 00CB ENT
70 0009
71 0009 ; orgpage
72 0009 OPT -Wno-orgpage
73 0009 ORG 123, 0
74 007B OPT -Worgpage
various_W.asm(75): warning[orgpage]: [ORG] page argument affects current slot while address is outside: address 0x007B vs slot 3 range 0xC000..0xFFFF
75 007B ORG 123, 0 ; luamc-ok - some other id, should not suppress orgpage
76 007B ORG 123, 0 ; but orgpage-ok should suppress it
77 007B
78 007B ; fwdref
79 007B OPT -Wno-fwdref
80 007B IF fwd_ref_label
81 007B ENDIF
82 007B OPT -Wfwdref
83 007B IF fwd_ref_label ; luamc-ok - some other id, should not suppress fwdref
84 007B ENDIF
85 007B IF fwd_ref_label ; but fwdref-ok should suppress it
86 007B ENDIF
87 007B
88 007B ; luamc
89 007B OPT -Wno-luamc
90 007B lua pass3
91 007B ~ _pc("nop")
92 007B 00 nop
92 007C endlua
93 007C OPT -Wluamc
94 007C lua pass3 ; devramtop-ok - some other id, should not suppress luamc
95 007C ~ _pc("nop")
96 007C 00 nop
various_W.asm(96): warning[luamc]: When lua script emits machine code bytes, use "ALLPASS" modifier
96 007D endlua
97 007D lua pass3 ; but luamc-ok should suppress it
98 007D ~ _pc("nop")
99 007D 00 nop
99 007E endlua
100 007E lua pass3
101 007E ~ _pc("nop")
102 007E 00 nop
102 007F endlua ; but luamc-ok should suppress it (also at "endlua" line)
103 007F
104 007F ; nexstack
105 007F DEVICE ZXSPECTRUMNEXT
106 007F OPT -Wno-nexstack
107 007F SAVENEX OPEN "various_W.nex", $8000, $8002
108 007F SAVENEX CLOSE
109 007F OPT -Wnexstack
various_W.asm(110): warning[nexstack]: [SAVENEX] non-zero data are in stackAddress area, may get overwritten by NEXLOAD
110 007F SAVENEX OPEN "various_W.nex", $8000, $8002 ; devramtop-ok - some other id, should not suppress nexstack
111 007F SAVENEX CLOSE
112 007F SAVENEX OPEN "various_W.nex", $8000, $8002 ; but nexstack-ok should suppress it
113 007F SAVENEX CLOSE
114 007F
115 007F ; relalign
116 007F RELOCATE_START
117 007F OPT -Wno-relalign
118 007F 00 ALIGN 2
119 0080 OPT -Wrelalign
various_W.asm(120): warning[relalign]: [ALIGN] inside relocation block: may become misaligned when relocated
120 0080 ALIGN 4 ; devramtop-ok - some other id, should not suppress relalign
121 0080 ALIGN 8 ; but relalign-ok should suppress it
122 0080 RELOCATE_END
123 0080
124 0080 ; rdlow
125 0080 OPT -Wno-rdlow
126 0080 3A FF 00 ld a,(255)
127 0083 OPT -Wrdlow
various_W.asm(128): warning[rdlow]: Reading memory at low address: 255
128 0083 3A FF 00 ld a,(255) ; devramtop-ok - some other id, should not suppress rdlow
129 0086 3A FF 00 ld a,(255) ; but rdlow-ok should suppress it
130 0089
131 0089 ; bpfile
132 0089 OPT -Wno-bpfile
133 0089 SETBREAKPOINT
134 0089 OPT -Wbpfile
various_W.asm(135): warning[bpfile]: breakpoints file was not specified
135 0089 SETBREAKPOINT ; devramtop-ok - some other id, should not suppress bpfile
136 0089 SETBREAKPOINT ; but bpfile-ok should suppress it
137 0089
138 0089 ; out0
139 0089 OPT -Wno-out0
140 0089 ED 71 out (c),0
141 008B OPT -Wout0
various_W.asm(142): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`
142 008B ED 71 out (c),0 ; devramtop-ok - some other id, should not suppress out0
143 008D ED 71 out (c),0 ; but out0-ok should suppress it
144 008F
145 008F ; testing corner-case states possible with the -W option (test coverage)
various_W.asm(146): error: no argument after -W: OPT -W -Wnon-existent-warning-id-to-cause-warning
various_W.asm(146): warning: unknown warning id in -W option: non-existent-warning-id-to-cause-warning
146 008F OPT -W -Wnon-existent-warning-id-to-cause-warning
147 008F fwd_ref_label: EQU $1234
148 008F
# file closed: various_W.asm
Value Label
------ - -----------------------------------------------------------
0x0000 abs
0x1234 fwd_ref_label
0x0000 X relocate_count
0x0000 X relocate_size