Acabei de descobrir uma coisa nova, velha mas nova pra mim.
-w3
Chamo de tolerância zero, dá aviso sobre qualquer chance de erro, isso eu já sabia
-w
Isso verifica definições, sem fazer toda checagem geral do -w3
Isso é importantÃssimo quando se costuma usar #define, #include, ou quando se esquece disso.
Eu não sabia que -w fazia essas checagens.
Por exemplo:
PROCEDURE Main
IF Lastkey() == K_ESC
ENDIF
d:\temp>hbmk2 test -w
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
Harbour 3.4.0dev (7bb5566) (2020-12-30 22:11)
Copyright (c) 1999-2020, https://github.com/JoseQuintas/harbour34/
Compiling 'test.prg'...
test.prg:6: warning W0001 Ambiguous reference 'K_ESC'
Com -w3 tem checagem de duplicidade também, por exemplo.