diff --git a/.gitattributes b/.gitattributes index 56bcdbee7e..c7b5004ce5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8324,6 +8324,7 @@ packages/pasjpeg/examples/cderror.pas svneol=native#text/plain packages/pasjpeg/examples/cdjpeg.pas svneol=native#text/plain packages/pasjpeg/examples/cjpeg.pas svneol=native#text/plain packages/pasjpeg/examples/cjpeg.res svneol=native#text/plain +packages/pasjpeg/examples/demo.lpi svneol=native#text/plain packages/pasjpeg/examples/demo.pas svneol=native#text/plain packages/pasjpeg/examples/demo.res svneol=native#text/plain packages/pasjpeg/examples/djpeg.pas svneol=native#text/plain diff --git a/compiler/msg/errorct.msg b/compiler/msg/errorct.msg index 3aea8fafb2..1275367752 100644 --- a/compiler/msg/errorct.msg +++ b/compiler/msg/errorct.msg @@ -1,6 +1,6 @@ # # This file is part of the Free Pascal Compiler -# Copyright (c) 1993-2020 by the Free Pascal Development team +# Copyright (c) 1993-2021 by the Free Pascal Development team # # Catalan Language File for Free Pascal # @@ -2103,7 +2103,7 @@ option_code_page_not_available=11039_E_La p # option_logo=11023_[ Free Pascal Compiler versi $FPCFULLVERSION [$FPCDATE] per $FPCCPU -Copyright (c) 1993-2020 per Florian Klaempfl and others +Copyright (c) 1993-2021 per Florian Klaempfl and others ] # diff --git a/compiler/msg/errord.msg b/compiler/msg/errord.msg index 65712c0f5b..d8e37df549 100644 --- a/compiler/msg/errord.msg +++ b/compiler/msg/errord.msg @@ -6,7 +6,7 @@ # Based on errore.msg of SVN revision 45316 # # This file is part of the Free Pascal Compiler -# Copyright (c) 1998-2020 by the Free Pascal Development team +# Copyright (c) 1998-2021 by the Free Pascal Development team # # See the file COPYING.v2, included in this distribution, # for details about the copyright. @@ -3784,7 +3784,7 @@ package_u_ppl_filename=13029_U_PPL Dateiname $1 # option_logo=11023_[ Free Pascal Compiler Version $FPCFULLVERSION [$FPCDATE] fr $FPCTARGET -Copyright (c) 1993-2020 Florian Klmpfl und andere +Copyright (c) 1993-2021 Florian Klmpfl und andere ] # diff --git a/compiler/msg/errorda.msg b/compiler/msg/errorda.msg index ed01dd9369..f610f8fabf 100644 --- a/compiler/msg/errorda.msg +++ b/compiler/msg/errorda.msg @@ -3535,7 +3535,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # option_logo=11023_[ Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] til $FPCTARGET -Copyright (c) 1993-2020 Florian Klaempfl and others +Copyright (c) 1993-2021 Florian Klaempfl and others ] # diff --git a/compiler/msg/errordu.msg b/compiler/msg/errordu.msg index ce02893f71..7a02a6d617 100644 --- a/compiler/msg/errordu.msg +++ b/compiler/msg/errordu.msg @@ -6,7 +6,7 @@ # Based on errore.msg of SVN revision 45316 # # This file is part of the Free Pascal Compiler -# Copyright (c) 1998-2020 by the Free Pascal Development team +# Copyright (c) 1998-2021 by the Free Pascal Development team # # See the file COPYING.v2, included in this distribution, # for details about the copyright. @@ -3784,7 +3784,7 @@ package_u_ppl_filename=13029_U_PPL Dateiname $1 # option_logo=11023_[ Free Pascal Compiler Version $FPCFULLVERSION [$FPCDATE] für $FPCTARGET -Copyright (c) 1993-2020 Florian Klämpfl und andere +Copyright (c) 1993-2021 Florian Klämpfl und andere ] # diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg index 32c13fa20e..0738a4e0ae 100644 --- a/compiler/msg/errore.msg +++ b/compiler/msg/errore.msg @@ -3756,7 +3756,7 @@ package_u_ppl_filename=13029_U_PPL filename $1 # option_logo=11023_[ Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errores.msg b/compiler/msg/errores.msg index 9e77fd2396..e7eff83ce7 100644 --- a/compiler/msg/errores.msg +++ b/compiler/msg/errores.msg @@ -3477,7 +3477,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # option_logo=11023_[ Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorf.msg b/compiler/msg/errorf.msg index 1174238b5d..3ca9d2f308 100644 --- a/compiler/msg/errorf.msg +++ b/compiler/msg/errorf.msg @@ -1715,7 +1715,7 @@ option_asm_forced=11022_W_"$1" assembler use forced # option_logo=11023_[ Compilateur Free Pascal version $FPCFULLVERSION [$FPCDATE] pour $FPCTARGET -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorfi.msg b/compiler/msg/errorfi.msg index 3813c06e30..a1c91eadc2 100644 --- a/compiler/msg/errorfi.msg +++ b/compiler/msg/errorfi.msg @@ -3499,7 +3499,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # Logo (option -l) # option_logo=11023_[ Compilateur Free Pascal version $FPCFULLVERSION [$FPCDATE] for $FPCCPU -Copyright (c) 1993-2020, Florian Klaempfl and others] +Copyright (c) 1993-2021, Florian Klaempfl and others] # # Info (option -i) # diff --git a/compiler/msg/errorhe.msg b/compiler/msg/errorhe.msg index 524621bfd8..b9ef626478 100644 --- a/compiler/msg/errorhe.msg +++ b/compiler/msg/errorhe.msg @@ -2407,7 +2407,7 @@ option_confict_asm_debug=11041_W_ # option_logo=11023_[ Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorheu.msg b/compiler/msg/errorheu.msg index 9f99dec525..a9548f08fa 100644 --- a/compiler/msg/errorheu.msg +++ b/compiler/msg/errorheu.msg @@ -3496,7 +3496,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # option_logo=11023_[ Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorid.msg b/compiler/msg/errorid.msg index 02de4237d8..9c6d0ecda7 100644 --- a/compiler/msg/errorid.msg +++ b/compiler/msg/errorid.msg @@ -3504,7 +3504,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # option_logo=11023_[ Free Pascal Compiler versi $FPCFULLVERSION [$FPCDATE] untuk $FPCCPU -Hak Cipta (c) 1993-2020 oleh Florian Klaempfl and others +Hak Cipta (c) 1993-2021 oleh Florian Klaempfl and others ] # diff --git a/compiler/msg/erroriu.msg b/compiler/msg/erroriu.msg index 22c8be009e..127634d57d 100644 --- a/compiler/msg/erroriu.msg +++ b/compiler/msg/erroriu.msg @@ -2693,7 +2693,7 @@ wpo_cant_create_feedback_file=12019_E_Impossibile creare il file di feedback "$1 # option_logo=11023_[ Compilatore Free Pascal, versione $FPCFULLVERSION [$FPCDATE] per $FPCCPU -Copyright (c) 1993-2020 di Florian Klaempfl and others +Copyright (c) 1993-2021 di Florian Klaempfl and others ] # diff --git a/compiler/msg/errorn.msg b/compiler/msg/errorn.msg index 54bad47519..25140d19b4 100644 --- a/compiler/msg/errorn.msg +++ b/compiler/msg/errorn.msg @@ -3485,7 +3485,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # option_logo=11023_[ Free Pascal Compiler versie $FPCFULLVERSION [$FPCDATE] voor $FPCTARGET -Copyright (c) 1993-2020 door Florian Klaempfl en anderen +Copyright (c) 1993-2021 door Florian Klaempfl en anderen ] # # Info (option -i) diff --git a/compiler/msg/errorpl.msg b/compiler/msg/errorpl.msg index 6db59ac21e..5270079c39 100644 --- a/compiler/msg/errorpl.msg +++ b/compiler/msg/errorpl.msg @@ -2119,7 +2119,7 @@ option_code_page_not_available=11039_E_Nieznana strona kodowa # option_logo=11023_[ Free Pascal Compiler wersja $FPCFULLVERSION [$FPCDATE] dla $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorpli.msg b/compiler/msg/errorpli.msg index fad211bef8..a306a6f1b8 100644 --- a/compiler/msg/errorpli.msg +++ b/compiler/msg/errorpli.msg @@ -2119,7 +2119,7 @@ option_code_page_not_available=11039_E_Nieznana strona kodowa # option_logo=11023_[ Free Pascal Compiler wersja $FPCFULLVERSION [$FPCDATE] dla $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorpt.msg b/compiler/msg/errorpt.msg index 8703d4fd8e..e01dfef32b 100644 --- a/compiler/msg/errorpt.msg +++ b/compiler/msg/errorpt.msg @@ -3086,7 +3086,7 @@ wpo_cant_create_feedback_file=12019_E_Imposs # option_logo=11023_[ Compilador Free Pascal verso $FPCFULLVERSION [$FPCDATE] para $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorptu.msg b/compiler/msg/errorptu.msg index 247325c2b4..4bbed9672c 100644 --- a/compiler/msg/errorptu.msg +++ b/compiler/msg/errorptu.msg @@ -3514,7 +3514,7 @@ wpo_cant_create_feedback_file=12019_E_Impossível criar arquivo retorno otimiza # option_logo=11023_[ Compilador Free Pascal versão $FPCFULLVERSION [$FPCDATE] para $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorr.msg b/compiler/msg/errorr.msg index de376fdde6..b34a0342fe 100644 --- a/compiler/msg/errorr.msg +++ b/compiler/msg/errorr.msg @@ -2506,7 +2506,7 @@ wpo_cant_create_feedback_file=12019_E_ # option_logo=11023_[ Free Pascal ᨨ $FPCFULLVERSION [$FPCDATE] $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorru.msg b/compiler/msg/errorru.msg index 6c832e78b0..77be2cfe0c 100644 --- a/compiler/msg/errorru.msg +++ b/compiler/msg/errorru.msg @@ -3387,7 +3387,7 @@ wpo_cant_create_feedback_file=12019_E_Невозможно создать фай # option_logo=11023_[ Компилятор Free Pascal версии $FPCFULLVERSION [$FPCDATE] для $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msg/errorues.msg b/compiler/msg/errorues.msg index 5b0d037a84..2398ea14dd 100644 --- a/compiler/msg/errorues.msg +++ b/compiler/msg/errorues.msg @@ -3471,7 +3471,7 @@ wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program opti # option_logo=11023_[ Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU -Copyright (c) 1993-2020 by Florian Klaempfl and others +Copyright (c) 1993-2021 by Florian Klaempfl and others ] # diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index a92d5ae6e4..81a5198eac 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -1394,7 +1394,7 @@ const msgtxt : array[0..000362,1..240] of char=( '13029_U_PPL filename $1'#000+ '11023_Free Pascal Compiler',' version $FPCFULLVERSION [$FPCDATE] for $F'+ 'PCCPU'#010+ - 'Copyright (c) 1993-2020 by Florian Klaempfl and others'#000+ + 'Copyright (c) 1993-2021 by Florian Klaempfl and others'#000+ '11024_Free Pascal Compiler version $FPCVERSION'#010+ #010+ 'Compiler date : $FPCDATE'#010+ diff --git a/packages/pasjpeg/examples/demo.lpi b/packages/pasjpeg/examples/demo.lpi new file mode 100644 index 0000000000..99fac0cd7f --- /dev/null +++ b/packages/pasjpeg/examples/demo.lpi @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <BuildModes> + <Item Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + <UseFileFilters Value="True"/> + </PublishOptions> + <RunParams> + <FormatVersion Value="2"/> + </RunParams> + <Units> + <Unit> + <Filename Value="demo.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="Demo"/> + </Unit> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <Target> + <Filename Value="demo"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="../src"/> + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + </CompilerOptions> + <Debugging> + <Exceptions> + <Item> + <Name Value="ECompilerAbort"/> + </Item> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/rtl/i386/cpu.pp b/rtl/i386/cpu.pp index 7ef4af7b53..7454440dba 100644 --- a/rtl/i386/cpu.pp +++ b/rtl/i386/cpu.pp @@ -74,13 +74,24 @@ unit cpu; if _RTMSupport then begin asm - .Lretry: +{$ifdef USE_REAL_INSTRUCTIONS} + .Lretry: xbegin .Lretry +{$else} +{ 3d: c7 f8 fa ff ff ff xbegin } + .byte 0xc7,0xf8, 0xfa, 0xff, 0xff, 0xff +{$endif} end; Result:=Target; if (Result.Lo=Comperand.Lo) and (Result.Hi=Comperand.Hi) then Target:=NewValue; asm +{$ifdef USE_REAL_INSTRUCTIONS} + xend +{$else} + { 8a: 0f 01 d5 xend } + .byte 0x0f, 0x01, 0xd5 +{$endif} xend end; end @@ -119,7 +130,11 @@ unit cpu; function cr0 : longint;assembler; asm +{$ifdef USE_REAL_INSTRUCTIONS} + mov eax,cr0 +{$else} DB 0Fh,20h,0C0h +{$endif} { mov eax,cr0 special registers are not allowed in the assembler parsers } @@ -138,8 +153,12 @@ unit cpu; function XGETBV(i : dword) : int64;assembler; asm movl %eax,%ecx +{$ifdef USE_REAL_INSTRUCTIONS} + xgetbv +{$else} // older FPCs don't know the xgetbv opcode .byte 0x0f,0x01,0xd0 +{$endif} end;