Página 1 de 1

Atualização hb32 GIT 12/05/2023

Enviado: 12 Mai 2023 13:44
por Itamar M. Lins Jr.
Olá!
Quem usa tipagem forte no código, tinha um bug. Eu não uso.

Código: Selecionar todos

2023-05-12 18:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/compiler/hbmain.c
    ! fixed GPFs in dummy and never finished code for strong typing and message
      call validation.
Saudações,
Itamar M. Lins Jr.

Atualização hb32 GIT 12/05/2023

Enviado: 12 Mai 2023 14:41
por JoséQuintas
bug.png
Acho que é disso.
Na verdade ninguém usa, isso é de colocar errado mesmo, esse STATIC é no final e não no começo.

Atualização hb32 GIT 12/05/2023

Enviado: 12 Mai 2023 14:44
por JoséQuintas
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2304211101)
Copyright (c) 1999-2021, https://harbour.github.io/

source\ze_boletopdf.prg:19: warning W0028 Unreachable code

source\ze_boletopdf.prg:19: error E0004 STATIC declaration follows executable statement

Unrecoverable error 6005: Exception error:

Exception Code:C0000005 ACCESS_VIOLATION
Exception Address:0068FF9F
EAX:01327164 EBX:01327164 ECX:00000007 EDX:00000000
ESI:01327534 EDI:00000000 EBP:012F2984
CS:EIP:0023:0068FF9F SS:ESP:002B:00AEE330
DS:002B ES:002B FS:0053 GS:002B
Flags:00010202
Exception Parameters: 00000000 00000004
CS:EIP: 8B 47 04 85 C0 74 1A 8B 47 08 89 58 14 89 5F 08
SS:ESP: 00000018 012F2984 00AEE518 0069B6FF 012F2984 008AC240 00000045 0000001E 0089978E 0134020C 012F2984 0000030F
00AEE51C 00AEE700 00000000 0069D90A

C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...
Modules:
00400000 004EA000 d:\harbour\bin\hbmk2.exe
77990000 001A4000 C:\WINDOWS\SYSTEM32\ntdll.dll
765D0000 000F0000 C:\WINDOWS\System32\KERNEL32.DLL
77010000 00223000 C:\WINDOWS\System32\KERNELBASE.dll
763A0000 0007B000 C:\WINDOWS\System32\ADVAPI32.dll
76420000 000BF000 C:\WINDOWS\System32\msvcrt.dll
77250000 00076000 C:\WINDOWS\System32\sechost.dll
773F0000 000BF000 C:\WINDOWS\System32\RPCRT4.dll
76E30000 00023000 C:\WINDOWS\System32\GDI32.dll
77620000 00018000 C:\WINDOWS\System32\win32u.dll
77860000 000E1000 C:\WINDOWS\System32\gdi32full.dll
76320000 0007B000 C:\WINDOWS\System32\msvcp_win.dll
772D0000 00120000 C:\WINDOWS\System32\ucrtbase.dll
75840000 0019C000 C:\WINDOWS\System32\USER32.dll
764E0000 00063000 C:\WINDOWS\System32\WS2_32.dll
72490000 00028000 C:\WINDOWS\SYSTEM32\WINMM.DLL
74E00000 00033000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
77830000 00025000 C:\WINDOWS\System32\IMM32.DLL

Called from HB_COMPILE(0) in ../../../hbmk2.prg
Called from HBMK_HB_COMPILE(0) in ../../../hbmk2.prg
Called from __HBMK(0) in ../../../hbmk2.prg
Called from HBMK_LOCAL_ENTRY(0) in ../../../hbmk2.prg
Called from _APPMAIN(0) in ../../../hbmk2.prg
Não é o erro em si, é o que acontece depois.

Atualização hb32 GIT 12/05/2023

Enviado: 12 Mai 2023 15:12
por JoséQuintas
d:\temp>hbmk2 test
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing local make script: hbmk.hbm
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
hbmk2[test]: Warning: Cannot find pdfclass.hbc (referenced from test.hbp)
Harbour 3.2.0dev (r2305121613)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'test.prg'...
500
test.prg:9: warning W0028 Unreachable code

test.prg:9: error E0004 STATIC declaration follows executable statement
Class member 'A' declaration without class definition.

test.prg:10: warning W0001 Ambiguous reference 'OCLASS'
test.prg:10: warning W0001 Ambiguous reference 'NSCOPE'
test.prg:11: warning W0001 Ambiguous reference 'OCLASS'
test.prg:11: error E0030 Syntax error "syntax error at 'ALWAYS'"
test.prg:11: warning W0001 Ambiguous reference 'S_OCLASS'
test.prg:11: warning W0001 Ambiguous reference 'OCLASS'
test.prg:11: warning W0001 Ambiguous reference 'OCLASS'
test.prg:11: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:11: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:11: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:11: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:11: warning W0006 Procedure returns value
test.prg:11: warning W0028 Unreachable code
test.prg:11: warning W0001 Ambiguous reference 'S_OCLASS'
test.prg:11: warning W0006 Procedure returns value
3 errors

No code generated.
hbmk2[test]: Error: Running Harbour compiler (built-in). 1
(d:\harbour\bin\harbour.exe) -n2 test.prg \fontes\integra\libjpa\prg\errorsys.prg -m -n -w3 -es2 -ge1 -DMT_EXPERIMENTAL
-DHB_NO_GTGUI=YES -DHB_NO_HWGUIDEBUG=YES -DHBMK_HAS_HBMK=1 -DHBMK_HAS_LIBHPDF=1 -DHBMK_HAS_HBHPDF=1 -DHBMK_HAS_HBCT=1 -DHBMK_HAS_HBZEBRA=1 -DHBMK_HAS_HBWIN=1 -DHBMK_HAS_SEFAZCLASS=1 -DHBMK_HAS_BOLETOCLASS=1 -DHBMK_HAS_GTWVG=1 -oC:\Users\jmcqu\AppData\Local\Temp\hbmk_9bxwwt.dir\ -id:\harbour\include -id:\harbour\contrib\hbhpdf -id:\harbour\contrib\hbct -id:\fontes\integra\sefazclass\sefazclass\include -id:\harbour\contrib\hbzebra -id:\harbour\contrib\hbwin -id:\harbour\contrib
\gtwvg -u+d:\harbour\contrib\hbhpdf\harupdf.ch -u+d:\harbour\contrib\hbzebra\hbzebra.ch -u+d:\harbour\contrib\hbwin\hbwin.ch
Ficou assim com a alteração.
Antes acabava gerando erro no próprio harbour e abortava tudo.
Agora o harbour consegue ir até o final.

Parece a mesma coisa, mas é diferente o compilador mostrar erros do fonte, ou o compilador dar erro e não completar o serviço.

Atualização hb32 GIT 12/05/2023

Enviado: 12 Mai 2023 16:39
por JoséQuintas
hb.png
É interessante pra saber que o pessoal está atento.
O harbour parece parado, mas não está.

A outra pessoa testou, e só acontecia compilando com -w3.
Não fiz esse teste.
Pode ter ajudado na solução.

Atualização hb32 GIT 12/05/2023

Enviado: 14 Mai 2023 11:04
por JoséQuintas
Reportaram que isso gerou problema.
Testei aqui e gera mesmo.

Código: Selecionar todos

CLASS test
   VAR x
ENDCLASS
Isso acima gera mensagem de erro se compilar sem -w3
Vai afetar a maioria daqui, porque isso é básico de uma classe, e a maioria não usa -w3.

Atualização hb32 GIT 12/05/2023

Enviado: 14 Mai 2023 23:23
por ivanil
Por enquanto não tive mais nenhum erro nas classes; propriedades que sumiam.
Amanha executarei alguns processos bem pesados;

Atualização hb32 GIT 12/05/2023

Enviado: 15 Mai 2023 10:52
por JoséQuintas
Çom compilação -w3, sem problemas.
Aqui tudo bem, só compilo assim.

O problema é na COMPILAÇÃO.
A detecção de erros no fonte acusa erros em classes, se não usar -w3
E como acusa erros, não compila, e não gera EXE.

Considero o erro atual mais grave do que o original, porque a maioria usa -w0
O problema é SÓ PRA QUEM CRIA CLASSES e compila com -w0.
Se não cria classes, sem problemas.
Se compila usando -w3, sem problemas.

Quebra-galho pra quem for afetado, e não quiser mexer com harbour:

Em fonte que cria classes, colocar #pragma -w3

Atualização hb32 GIT 12/05/2023

Enviado: 16 Mai 2023 10:39
por JoséQuintas
hwguilinux.png
Xi......
hwgui em linux já era....
Depende da correção.

minigui então.... vixi....