瀏覽代碼

* synchronized with trunk

git-svn-id: branches/wasm@47106 -
nickysn 4 年之前
父節點
當前提交
8f059a6b8a
共有 100 個文件被更改,包括 826 次插入799 次删除
  1. 1 0
      .gitattributes
  2. 11 11
      compiler/Makefile
  3. 15 15
      compiler/Makefile.fpc
  4. 1 1
      compiler/aarch64/aasmcpu.pas
  5. 1 1
      compiler/aarch64/agcpugas.pas
  6. 2 2
      compiler/aarch64/cgcpu.pas
  7. 1 1
      compiler/aarch64/cpupara.pas
  8. 1 1
      compiler/aarch64/hlcgcpu.pas
  9. 1 1
      compiler/aarch64/ncpuflw.pas
  10. 1 1
      compiler/aarch64/racpugas.pas
  11. 1 1
      compiler/aasmbase.pas
  12. 1 1
      compiler/aasmcnst.pas
  13. 3 3
      compiler/arm/aasmcpu.pas
  14. 2 2
      compiler/arm/agarmgas.pas
  15. 28 28
      compiler/arm/cgcpu.pas
  16. 1 1
      compiler/arm/cpuelf.pas
  17. 1 1
      compiler/arm/cpupara.pas
  18. 1 1
      compiler/arm/hlcgcpu.pas
  19. 2 2
      compiler/arm/narmadd.pas
  20. 7 7
      compiler/arm/narmcnv.pas
  21. 1 1
      compiler/arm/narminl.pas
  22. 1 1
      compiler/arm/narmld.pas
  23. 1 1
      compiler/arm/narmmat.pas
  24. 1 1
      compiler/arm/raarmgas.pas
  25. 2 2
      compiler/arm/rgcpu.pas
  26. 3 3
      compiler/assemble.pas
  27. 2 2
      compiler/avr/aasmcpu.pas
  28. 1 1
      compiler/avr/agavrgas.pas
  29. 10 10
      compiler/avr/cgcpu.pas
  30. 2 2
      compiler/avr/cpupara.pas
  31. 1 1
      compiler/avr/navrmat.pas
  32. 2 2
      compiler/avr/raavrgas.pas
  33. 1 1
      compiler/cg64f32.pas
  34. 10 10
      compiler/cgobj.pas
  35. 2 2
      compiler/dbgdwarf.pas
  36. 1 1
      compiler/dbgstabs.pas
  37. 3 3
      compiler/fpcp.pas
  38. 1 1
      compiler/hlcg2ll.pas
  39. 12 12
      compiler/hlcgobj.pas
  40. 5 3
      compiler/i386/aoptcpu.pas
  41. 6 6
      compiler/i386/cgcpu.pas
  42. 1 1
      compiler/i386/cpuelf.pas
  43. 2 2
      compiler/i386/cpupara.pas
  44. 2 2
      compiler/i386/hlcgcpu.pas
  45. 24 24
      compiler/i386/i386prop.inc
  46. 3 3
      compiler/i386/n386add.pas
  47. 1 1
      compiler/i386/n386flw.pas
  48. 1 1
      compiler/i386/n386mat.pas
  49. 45 45
      compiler/i8086/cgcpu.pas
  50. 3 3
      compiler/i8086/cpupara.pas
  51. 2 2
      compiler/i8086/hlcgcpu.pas
  52. 24 24
      compiler/i8086/i8086prop.inc
  53. 6 6
      compiler/i8086/n8086add.pas
  54. 2 2
      compiler/i8086/n8086inl.pas
  55. 1 1
      compiler/i8086/n8086ld.pas
  56. 1 1
      compiler/i8086/n8086mat.pas
  57. 3 3
      compiler/i8086/n8086mem.pas
  58. 1 1
      compiler/i8086/symcpu.pas
  59. 1 1
      compiler/jvm/agjasmin.pas
  60. 4 4
      compiler/jvm/hlcgcpu.pas
  61. 2 2
      compiler/jvm/jvmdef.pas
  62. 1 1
      compiler/jvm/njvmcnv.pas
  63. 3 3
      compiler/jvm/njvmmem.pas
  64. 2 2
      compiler/jvm/njvmtcon.pas
  65. 3 3
      compiler/jvm/pjvm.pas
  66. 1 1
      compiler/llvm/aasmllvm.pas
  67. 5 5
      compiler/llvm/agllvm.pas
  68. 5 5
      compiler/llvm/hlcgllvm.pas
  69. 1 1
      compiler/llvm/llvmdef.pas
  70. 2 2
      compiler/llvm/llvmpara.pas
  71. 1 1
      compiler/llvm/llvmpi.pas
  72. 2 2
      compiler/llvm/llvmtype.pas
  73. 1 1
      compiler/llvm/nllvmmem.pas
  74. 1 1
      compiler/llvm/nllvmtcon.pas
  75. 7 7
      compiler/m68k/cgcpu.pas
  76. 1 1
      compiler/m68k/cpupara.pas
  77. 1 1
      compiler/m68k/n68kadd.pas
  78. 1 1
      compiler/m68k/n68kcal.pas
  79. 1 1
      compiler/m68k/n68kmat.pas
  80. 1 1
      compiler/m68k/n68kmem.pas
  81. 4 4
      compiler/mips/aasmcpu.pas
  82. 1 1
      compiler/mips/cgcpu.pas
  83. 1 1
      compiler/mips/cpuelf.pas
  84. 1 1
      compiler/mips/cpugas.pas
  85. 1 1
      compiler/mips/hlcgcpu.pas
  86. 1 1
      compiler/mips/ncpucnv.pas
  87. 1 1
      compiler/mips/ncpuinln.pas
  88. 3 3
      compiler/mips/racpugas.pas
  89. 11 2
      compiler/msg/errore.msg
  90. 6 2
      compiler/msgidx.inc
  91. 453 442
      compiler/msgtxt.inc
  92. 1 1
      compiler/nadd.pas
  93. 1 1
      compiler/nbas.pas
  94. 2 2
      compiler/ncgadd.pas
  95. 1 1
      compiler/ncgcal.pas
  96. 1 1
      compiler/ncgcon.pas
  97. 12 12
      compiler/ncginl.pas
  98. 2 2
      compiler/ncnv.pas
  99. 1 1
      compiler/ngenutil.pas
  100. 3 3
      compiler/ngtcon.pas

+ 1 - 0
.gitattributes

@@ -18528,6 +18528,7 @@ tests/webtbs/tw3780.pp svneol=native#text/plain
 tests/webtbs/tw37806.pp svneol=native#text/pascal
 tests/webtbs/tw3782.pp svneol=native#text/plain
 tests/webtbs/tw37823.pp svneol=native#text/pascal
+tests/webtbs/tw37844.pp svneol=native#text/pascal
 tests/webtbs/tw3796.pp svneol=native#text/plain
 tests/webtbs/tw3805.pp svneol=native#text/plain
 tests/webtbs/tw3814.pp svneol=native#text/plain

+ 11 - 11
compiler/Makefile

@@ -4790,9 +4790,9 @@ msgtxt.inc: $(MSGFILE)
 msg: msgtxt.inc
 insdatx86 : $(COMPILER_UNITTARGETDIR) x86/x86ins.dat
 	$(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkx86ins.pp
-	cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) i8086 && mv -f *.inc ../i8086
-	cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) && mv -f *.inc ../i386
-	cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) x86_64 && mv -f *.inc ../x86_64
+	cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) i8086 && mv -f i8086tab.inc i8086op.inc i8086nop.inc i8086att.inc i8086atts.inc i8086int.inc i8086prop.inc ../i8086
+	cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) && mv -f i386tab.inc i386op.inc i386nop.inc i386att.inc i386atts.inc i386int.inc i386prop.inc ../i386
+	cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) x86_64 && mv -f x8664tab.inc x8664op.inc x8664nop.inc x8664att.inc x8664ats.inc x8664int.inc x8664pro.inc ../x86_64
 insdatarm : arm/armins.dat
 	    $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkarmins.pp
 	cd arm && ..$(PATHSEP)utils$(PATHSEP)mkarmins$(SRCEXEEXT)
@@ -4898,7 +4898,7 @@ wpocycle:
 	$(RM) $(EXENAME)
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtlclean
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtl
-	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS)) 
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS))
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' compiler
 	$(MOVE) $(EXENAME) $(TEMPWPONAME1)
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1PREFIX)$(TEMPWPONAME1)' 'OPT=$(strip $(RTLOPT) $(OPTNEW) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM)))' rtlclean
@@ -4987,12 +4987,12 @@ ifdef NEED_G_COMPILERS
 endif
 	$(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 rtlclean
 	$(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 rtl
-	$(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 cycleclean 
-	$(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 compiler 
-	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtlclean 
-	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtl 
-	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 cycleclean 
-	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 compiler 
+	$(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 cycleclean
+	$(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 compiler
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtlclean
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtl
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 cycleclean
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 compiler
 ifndef CROSSINSTALL
 	$(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAMEPREFIX)$(PPCROSSNAME)' 'OPT=$(RTLOPT) $(CROSSOPT)' CYCLELEVEL=3 rtlclean
 	$(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAMEPREFIX)$(PPCROSSNAME)' 'OPT=$(RTLOPT) $(CROSSOPT)' CYCLELEVEL=3 rtl
@@ -5068,7 +5068,7 @@ endif
 	$(MKDIR) $(MSGINSTALLDIR)
 	$(INSTALL) $(MSGFILES) $(MSGINSTALLDIR)
 endif
-install: 
+install:
 ifndef FPC
 	$(MAKE) quickinstall auxfilesinstall FPC=$(BASEDIR)/$(INSTALLEXEFILE)
 else

+ 15 - 15
compiler/Makefile.fpc

@@ -697,9 +697,9 @@ msg: msgtxt.inc
 
 insdatx86 : $(COMPILER_UNITTARGETDIR) x86/x86ins.dat
 	$(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkx86ins.pp
-        cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) i8086 && mv -f *.inc ../i8086
-        cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) && mv -f *.inc ../i386
-        cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) x86_64 && mv -f *.inc ../x86_64
+        cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) i8086 && mv -f i8086tab.inc i8086op.inc i8086nop.inc i8086att.inc i8086atts.inc i8086int.inc i8086prop.inc ../i8086
+        cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) && mv -f i386tab.inc i386op.inc i386nop.inc i386att.inc i386atts.inc i386int.inc i386prop.inc ../i386
+        cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) x86_64 && mv -f x8664tab.inc x8664op.inc x8664nop.inc x8664att.inc x8664ats.inc x8664int.inc x8664pro.inc ../x86_64
 
 insdatarm : arm/armins.dat
 	    $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkarmins.pp
@@ -737,7 +737,7 @@ regdatsp64 : sparcgen/spreg.dat
             $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkspreg.pp
         cd sparcgen && ..$(PATHSEP)utils$(PATHSEP)mkspreg$(SRCEXEEXT) sparc64
 		mv -f sparcgen/rsp*.inc sparc64
-		
+
 regdatavr : avr/avrreg.dat
             $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkavrreg.pp
         cd avr && ..$(PATHSEP)utils$(PATHSEP)mkavrreg$(SRCEXEEXT)
@@ -767,7 +767,7 @@ intrdatx86 : x86/x86intr.dat
 		cp -f x86/cpumminnr.inc ../rtl/x86_64
         cp -f x86/cpummprocs.inc ../rtl/i386
 		cp -f x86/cpumminnr.inc ../rtl/i386
-        
+
 intrdat : intrdatx86
 
 # revision.inc rule
@@ -856,7 +856,7 @@ wpocycle:
         $(RM) $(EXENAME)
         $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtlclean
         $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtl
-        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS)) 
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS))
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' compiler
         $(MOVE) $(EXENAME) $(TEMPWPONAME1)
         $(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1PREFIX)$(TEMPWPONAME1)' 'OPT=$(strip $(RTLOPT) $(OPTNEW) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM)))' rtlclean
@@ -974,13 +974,13 @@ endif
 # Clear detected compiler binary, because it can be existing crosscompiler binary, but we need native compiler here
         $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 rtlclean
         $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 rtl
-        $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 cycleclean 
-        $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 compiler 
+        $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 cycleclean
+        $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 compiler
 # ppcross<ARCH> (source native)
-        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtlclean 
-        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtl 
-        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 cycleclean 
-        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 compiler 
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtlclean
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtl
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 cycleclean
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 compiler
 # ppc<ARCH> (target native)
 ifndef CROSSINSTALL
         $(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAMEPREFIX)$(PPCROSSNAME)' 'OPT=$(RTLOPT) $(CROSSOPT)' CYCLELEVEL=3 rtlclean
@@ -1093,7 +1093,7 @@ fullinstall:
 	$(MAKE) $(addsuffix _exe_install,$($(FULL_TARGETS)))
 	$(MAKE) $(addsuffix _all,$(TARGET_DIRS))
 	$(MAKE) $(addsuffix _install,$(TARGET_DIRS))
-        
+
 auxfilesinstall:
 ifndef CROSSINSTALL
 ifdef UNIXHier
@@ -1103,9 +1103,9 @@ endif
         $(MKDIR) $(MSGINSTALLDIR)
         $(INSTALL) $(MSGFILES) $(MSGINSTALLDIR)
 endif
-	
 
-install: 
+
+install:
 # if no FPC is passed, use that one we assume, we just build
 ifndef FPC
 	$(MAKE) quickinstall auxfilesinstall FPC=$(BASEDIR)/$(INSTALLEXEFILE)

+ 1 - 1
compiler/aarch64/aasmcpu.pas

@@ -569,7 +569,7 @@ implementation
           R_MMREGISTER:
             result:=taicpu.op_reg_ref(op,r,ref);
           else
-            internalerror(200401041);
+            internalerror(2004010407);
         end;
       end;
 

+ 1 - 1
compiler/aarch64/agcpugas.pas

@@ -650,7 +650,7 @@ unit agcpugas;
                 else
                   begin
                     if ref.refaddr<>addr_no then
-                      internalerror(2014121506);
+                      internalerror(2014121502);
                     if (ref.offset<>0) then
                       result:=result+', #'+tostr(ref.offset);
                   end;

+ 2 - 2
compiler/aarch64/cgcpu.pas

@@ -274,7 +274,7 @@ implementation
               { todo }
               A_LD1,A_LD2,A_LD3,A_LD4,
               A_ST1,A_ST2,A_ST3,A_ST4:
-                internalerror(2014110704);
+                internalerror(2014110702);
               { these don't support base+index }
               A_LDUR,A_STUR,
               A_LDP,A_STP:
@@ -301,7 +301,7 @@ implementation
                     offset may still be too big }
                 end;
               else
-                internalerror(2014110901);
+                internalerror(2014110903);
             end;
           end;
 

+ 1 - 1
compiler/aarch64/cpupara.pas

@@ -682,7 +682,7 @@ unit cpupara;
             result:=curstackoffset;
           end
         else
-          internalerror(200410231);
+          internalerror(2004102303);
 
         create_funcretloc_info(p,side);
       end;

+ 1 - 1
compiler/aarch64/hlcgcpu.pas

@@ -184,7 +184,7 @@ implementation
           not is_objectpascal_helper(procdef.struct) then
         begin
           if (procdef.extnumber=$ffff) then
-            Internalerror(200006139);
+            Internalerror(2000061302);
           { mov  0(%rdi),%rax ; load vmt}
           reference_reset_base(href,voidpointertype,paraloc^.register,0,ctempposinvalid,sizeof(pint),[]);
           getcpuregister(list,NR_IP0);

+ 1 - 1
compiler/aarch64/ncpuflw.pas

@@ -355,7 +355,7 @@ function taarch64tryfinallynode.dogetcopy: tnode;
     if (target_info.system=system_aarch64_win64) then
       begin
         if df_generic in current_procinfo.procdef.defoptions then
-          InternalError(2020033101);
+          InternalError(2020033104);
 
         p.finalizepi:=tcgprocinfo(current_procinfo.create_for_outlining('$fin$',current_procinfo.procdef.struct,potype_exceptfilter,voidtype,p.right));
         if pi_do_call in finalizepi.flags then

+ 1 - 1
compiler/aarch64/racpugas.pas

@@ -859,7 +859,7 @@ Unit racpugas;
                        OPR_REFERENCE :
                          inc(oper.opr.ref.offset,l);
                        else
-                         internalerror(200309202);
+                         internalerror(2003092005);
                      end;
                    end
                end;

+ 1 - 1
compiler/aasmbase.pas

@@ -313,7 +313,7 @@ implementation
             Delete(Result,(Length(Result)-charstoremove) div 2,charstoremove);
             Result:='_'+target_asm.dollarsign+'CRC'+hexstr(crc,8)+Result;
             if Length(Result)>target_asm.labelmaxlen then
-              Internalerror(2020042501);
+              Internalerror(2020042502);
           end;
       end;
 

+ 1 - 1
compiler/aasmcnst.pas

@@ -1312,7 +1312,7 @@ implementation
        else if (assigned(finternal_data_asmlist) and
            (list<>finternal_data_asmlist)) or
            not assigned(list) then
-         internalerror(2015032101);
+         internalerror(2015032102);
        finternal_data_asmlist:=list;
        if not assigned(l) then
          l:=get_internal_data_section_internal_label;

+ 3 - 3
compiler/arm/aasmcpu.pas

@@ -723,7 +723,7 @@ implementation
           R_MMREGISTER :
             result:=taicpu.op_reg_ref(A_VLDR,r,ref);
           else
-            internalerror(200401041);
+            internalerror(2004010415);
         end;
       end;
 
@@ -741,7 +741,7 @@ implementation
           R_MMREGISTER :
             result:=taicpu.op_reg_ref(A_VSTR,r,ref);
           else
-            internalerror(200401041);
+            internalerror(2004010416);
         end;
       end;
 
@@ -925,7 +925,7 @@ implementation
             else
               begin
                 writeln(opcode);
-                internalerror(200403151);
+                internalerror(2004031502);
               end;
           end;
       end;

+ 2 - 2
compiler/arm/agarmgas.pas

@@ -238,7 +238,7 @@ unit agarmgas;
                      else if shiftmode <> SM_None then
                        s:=s+', '+gas_shiftmode2str[shiftmode]+' #'+tostr(shiftimm);
                      if offset<>0 then
-                       Internalerror(2019012601);
+                       Internalerror(2019012602);
                   end
                 else if offset<>0 then
                   s:=s+', #'+tostr(offset);
@@ -426,7 +426,7 @@ unit agarmgas;
                      top_const:
                        s:=s+sep+tostr(taicpu(hp).oper[1]^.val);
                      else
-                       internalerror(200311292);
+                       internalerror(2003112903);
                    end;
                  end
                else

+ 28 - 28
compiler/arm/cgcpu.pas

@@ -329,7 +329,7 @@ unit cgcpu;
           imm1, imm2: DWord;
        begin
           if not(size in [OS_8,OS_S8,OS_16,OS_S16,OS_32,OS_S32]) then
-            internalerror(2002090902);
+            internalerror(2002090907);
           if is_shifter_const(a,imm_shift) then
             list.concat(taicpu.op_reg_const(A_MOV,reg,a))
           else if is_shifter_const(not(a),imm_shift) then
@@ -516,7 +516,7 @@ unit cgcpu;
         hsym:=tsym(procdef.parast.Find('self'));
         if not(assigned(hsym) and
           (hsym.typ=paravarsym)) then
-          internalerror(200305251);
+          internalerror(2003052503);
         paraloc:=tparavarsym(hsym).paraloc[callerside].location;
         while paraloc<>nil do
           with paraloc^ do
@@ -546,7 +546,7 @@ unit cgcpu;
                       end;
                   end
                 else
-                  internalerror(200309189);
+                  internalerror(2003091803);
               end;
               paraloc:=next;
             end;
@@ -1089,7 +1089,7 @@ unit cgcpu;
           OP_ROL:
             begin
               if not(size in [OS_32,OS_S32]) then
-                internalerror(2008072801);
+                internalerror(2008072804);
               { simulate ROL by ror'ing 32-value }
               tmpreg:=getintregister(list,OS_32);
               list.concat(taicpu.op_reg_reg_const(A_RSB,tmpreg,src1, 32));
@@ -1210,7 +1210,7 @@ unit cgcpu;
         if (ref.base=NR_NO) then
           begin
             if ref.shiftmode<>SM_None then
-              internalerror(2014020701);
+              internalerror(2014020707);
             ref.base:=ref.index;
             ref.index:=NR_NO;
           end;
@@ -1368,7 +1368,7 @@ unit cgcpu;
            OS_F32:
              oppostfix:=PF_None;
            else
-             InternalError(200308299);
+             InternalError(2003082912);
          end;
 
          if ((ref.alignment in [1,2]) and (ref.alignment<tcgsize2size[tosize])) or
@@ -2187,7 +2187,7 @@ unit cgcpu;
                   mmregs:=(rg[R_MMREGISTER].used_in_proc-paramanager.get_volatile_registers_mm(pocall_stdcall))*[0..31];
                 end
               else
-                internalerror(2019050926);
+                internalerror(2019050908);
             end;
 
             if (firstfloatreg<>RS_NO) or
@@ -3193,14 +3193,14 @@ unit cgcpu;
               tosize:=OS_F32;
               { since we are loading an integer, no conversion may be required }
               if (fromsize<>tosize) then
-                internalerror(2009112801);
+                internalerror(2009112802);
             end;
           OS_64,OS_S64:
             begin
               tosize:=OS_F64;
               { since we are loading an integer, no conversion may be required }
               if (fromsize<>tosize) then
-                internalerror(2009112901);
+                internalerror(2009112902);
             end;
           OS_F32,OS_F64:
             ;
@@ -3264,7 +3264,7 @@ unit cgcpu;
         if (fromsize<>OS_F32) then
           internalerror(2009112430);
         if not(tosize in [OS_32,OS_S32]) then
-          internalerror(2009112420);
+          internalerror(2009112409);
         if assigned(shuffle) and
            not shufflescalar(shuffle) then
           internalerror(2009112514);
@@ -3595,7 +3595,7 @@ unit cgcpu;
                   list.concat(setoppostfix(taicpu.op_reg_reg_reg(A_SBC,regdst.reghi,regsrc2.reghi,regsrc1.reghi),PF_S));
                 end;
               else
-                internalerror(2003083101);
+                internalerror(2003083102);
             end;
             if size=OS_64 then
               begin
@@ -3634,7 +3634,7 @@ unit cgcpu;
                   cg.a_reg_dealloc(list,NR_DEFAULTFLAGS);
                 end;
               else
-                internalerror(2003083101);
+                internalerror(2003083104);
             end;
           end;
       end;
@@ -3976,7 +3976,7 @@ unit cgcpu;
           hr : treference;
        begin
           if not(size in [OS_8,OS_S8,OS_16,OS_S16,OS_32,OS_S32]) then
-            internalerror(2002090902);
+            internalerror(2002090908);
           if is_thumb_imm(a) then
             list.concat(taicpu.op_reg_const(A_MOV,reg,a))
           else
@@ -4008,7 +4008,7 @@ unit cgcpu;
         hsym:=tsym(procdef.parast.Find('self'));
         if not(assigned(hsym) and
           (hsym.typ=paravarsym)) then
-          internalerror(200305251);
+          internalerror(2003052504);
         paraloc:=tparavarsym(hsym).paraloc[callerside].location;
         while paraloc<>nil do
           with paraloc^ do
@@ -4058,7 +4058,7 @@ unit cgcpu;
                       end;
                   end
                 else
-                  internalerror(200309189);
+                  internalerror(2003091804);
               end;
               paraloc:=next;
             end;
@@ -4145,7 +4145,7 @@ unit cgcpu;
           OP_ROL:
             begin
               if not(size in [OS_32,OS_S32]) then
-                internalerror(2008072801);
+                internalerror(2008072805);
               { simulate ROL by ror'ing 32-value }
               tmpreg:=getintregister(list,OS_32);
               a_load_const_reg(list,OS_32,32,tmpreg);
@@ -4227,7 +4227,7 @@ unit cgcpu;
             else if (op in [OP_MUL,OP_IMUL]) and ispowerof2(a-1,l1) and not(cgsetflags or setflags) then
               begin
                 if l1>32 then{roozbeh does this ever happen?}
-                  internalerror(200308296);
+                  internalerror(2003082903);
                 shifterop_reset(so);
                 so.shiftmode:=SM_LSL;
                 so.shiftimm:=l1;
@@ -4237,7 +4237,7 @@ unit cgcpu;
             else if (op in [OP_MUL,OP_IMUL]) and ispowerof2(a+1,l1) and not(cgsetflags or setflags) then
               begin
                 if l1>32 then{does this ever happen?}
-                  internalerror(201205181);
+                  internalerror(2012051802);
                 shifterop_reset(so);
                 so.shiftmode:=SM_LSL;
                 so.shiftimm:=l1;
@@ -4384,7 +4384,7 @@ unit cgcpu;
           hr : treference;
        begin
           if not(size in [OS_8,OS_S8,OS_16,OS_S16,OS_32,OS_S32]) then
-            internalerror(2002090902);
+            internalerror(2002090909);
           if is_thumb32_imm(a) then
             list.concat(taicpu.op_reg_const(A_MOV,reg,a))
           else if is_thumb32_imm(not(a)) then
@@ -4431,7 +4431,7 @@ unit cgcpu;
            OS_S32:
              oppostfix:=PF_None;
            else
-             InternalError(200308299);
+             InternalError(2003082913);
          end;
          if (ref.alignment in [1,2]) and (ref.alignment<tcgsize2size[fromsize]) then
            begin
@@ -4702,7 +4702,7 @@ unit cgcpu;
             else if (op in [OP_MUL,OP_IMUL]) and ispowerof2(a-1,l1) and not(cgsetflags or setflags) then
               begin
                 if l1>32 then{roozbeh does this ever happen?}
-                  internalerror(200308296);
+                  internalerror(2003082911);
                 shifterop_reset(so);
                 so.shiftmode:=SM_LSL;
                 so.shiftimm:=l1;
@@ -4712,7 +4712,7 @@ unit cgcpu;
             else if (op in [OP_MUL,OP_IMUL]) and ispowerof2(a+1,l1) and not(cgsetflags or setflags) then
               begin
                 if l1>32 then{does this ever happen?}
-                  internalerror(201205181);
+                  internalerror(2012051803);
                 shifterop_reset(so);
                 so.shiftmode:=SM_LSL;
                 so.shiftimm:=l1;
@@ -4774,7 +4774,7 @@ unit cgcpu;
            OP_ROL:
               begin
                 if not(size in [OS_32,OS_S32]) then
-                   internalerror(2008072801);
+                   internalerror(2008072806);
                 { simulate ROL by ror'ing 32-value }
                 tmpreg:=getintregister(list,OS_32);
                 list.concat(taicpu.op_reg_const(A_MOV,tmpreg,32));
@@ -5154,7 +5154,7 @@ unit cgcpu;
                 else if ref.refaddr=addr_tpoff then
                   begin
                     if assigned(ref.relsymbol) or (ref.offset<>0) then
-                      Internalerror(2019092805);
+                      Internalerror(2019092807);
 
                     current_procinfo.aktlocaldata.concat(tai_const.Create_type_sym(aitconst_tpoff,ref.symbol));
                   end
@@ -5224,7 +5224,7 @@ unit cgcpu;
         if ((op in [A_LDF,A_STF,A_FLDS,A_FLDD,A_FSTS,A_FSTD]) or (op=A_VSTR) or (op=A_VLDR)) and (ref.index<>NR_NO) then
           begin
             if ref.shiftmode<>SM_none then
-              internalerror(200309121);
+              internalerror(2003091202);
             if tmpreg<>NR_NO then
               begin
                 if ref.base=tmpreg then
@@ -5238,7 +5238,7 @@ unit cgcpu;
                 else
                   begin
                     if ref.index<>tmpreg then
-                      internalerror(200403161);
+                      internalerror(2004031602);
                     if ref.signindex<0 then
                       list.concat(taicpu.op_reg_reg_reg(A_SUB,tmpreg,ref.base,tmpreg))
                     else
@@ -5377,7 +5377,7 @@ unit cgcpu;
               list.concat(taicpu.op_reg_reg(A_SBC,regdst.reghi,regsrc.reghi));
             end;
           else
-            internalerror(2003083101);
+            internalerror(2003083105);
         end;
       end;
 
@@ -5431,7 +5431,7 @@ unit cgcpu;
               list.concat(taicpu.op_reg_reg(A_SBC,reg.reghi,tmpreg));
             end;
           else
-            internalerror(2003083101);
+            internalerror(2003083106);
         end;
       end;
 

+ 1 - 1
compiler/arm/cpuelf.pas

@@ -923,7 +923,7 @@ implementation
           else
             begin
               writeln(objreloc.ftype);
-              internalerror(200604014);
+              internalerror(2006040107);
             end;
           end
         else           { not relocsec.Used }

+ 1 - 1
compiler/arm/cpupara.pas

@@ -915,7 +915,7 @@ unit cpupara;
               end;
           end
         else
-          internalerror(200410231);
+          internalerror(2004102306);
 
         create_funcretloc_info(p,side);
       end;

+ 1 - 1
compiler/arm/hlcgcpu.pas

@@ -106,7 +106,7 @@ implementation
         l : TAsmLabel;
       begin
         if (procdef.extnumber=$ffff) then
-          Internalerror(200006139);
+          Internalerror(2000061311);
         if GenerateThumbCode then
           begin
             reference_reset_base(href,voidpointertype,NR_R0,tobjectdef(procdef.struct).vmtmethodoffset(procdef.extnumber),ctempposinvalid,sizeof(pint),[]);

+ 2 - 2
compiler/arm/narmadd.pas

@@ -207,7 +207,7 @@ interface
             end;
           fpu_soft:
             { this case should be handled already by pass1 }
-            internalerror(200308252);
+            internalerror(2003082503);
           else if FPUARM_HAS_VFP_DOUBLE in fpu_capabilities[current_settings.fputype] then
             begin
               { force mmreg as location, left right doesn't matter
@@ -260,7 +260,7 @@ interface
                 slashn :
                   op:=A_VDIV;
                 else
-                  internalerror(2009111401);
+                  internalerror(2009111404);
               end;
 
               current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg_reg(op, location.register,left.location.register,right.location.register), PF_F32));

+ 7 - 7
compiler/arm/narmcnv.pas

@@ -128,7 +128,7 @@ implementation
                       left:=nil;
                     end;
                   else
-                    internalerror(200610151);
+                    internalerror(2006101504);
                 end;
               s64real:
                 case tfloatdef(resultdef).floattype of
@@ -141,10 +141,10 @@ implementation
                       left:=nil;
                     end;
                   else
-                    internalerror(200610152);
+                    internalerror(2006101505);
                 end;
               else
-                internalerror(200610153);
+                internalerror(2006101506);
             end;
             left:=nil;
             firstpass(result);
@@ -223,7 +223,7 @@ implementation
                           end;
                       end;
                     else
-                      internalerror(200410031);
+                      internalerror(2004100307);
                   end;
               end;
             end;
@@ -248,7 +248,7 @@ implementation
               signed:=left.location.size=OS_S32;
               hlcg.location_force_mmregscalar(current_asmdata.CurrAsmList,left.location,left.resultdef,false);
               if (left.location.size<>OS_F32) then
-                internalerror(2009112703);
+                internalerror(2009112704);
               if left.location.size<>location.size then
                 location.register:=cg.getmmregister(current_asmdata.CurrAsmList,location.size)
               else
@@ -260,7 +260,7 @@ implementation
             end
           else
             { should be handled in pass 1 }
-            internalerror(2019050934);
+            internalerror(2019050909);
         end;
       end;
 
@@ -358,7 +358,7 @@ implementation
                 tbasecgarm(cg).cgsetflags:=false;
               end;
             else
-              internalerror(200311301);
+              internalerror(2003113002);
          end;
          { load flags to register }
          location_reset(location,LOC_REGISTER,def_cgsize(resultdef));

+ 1 - 1
compiler/arm/narminl.pas

@@ -333,7 +333,7 @@ implementation
               cg.maybe_check_for_fpu_exception(current_asmdata.CurrAsmList);
             end
           else
-            internalerror(2009111402);
+            internalerror(2009111405);
         end;
       end;
 

+ 1 - 1
compiler/arm/narmld.pas

@@ -157,7 +157,7 @@ implementation
                       handled:=true;
                     end;
                   else
-                    Internalerror(2019092802);
+                    Internalerror(2019092806);
                 end;
               end;
           end;

+ 1 - 1
compiler/arm/narmmat.pas

@@ -420,7 +420,7 @@ implementation
                 OS_64:
                   cg.a_op_const_reg(current_asmdata.CurrAsmList,OP_XOR,OS_32,tcgint($80000000),location.registerhi);
               else
-                internalerror(2014033101);
+                internalerror(2014033103);
               end;
             end
           else if FPUARM_HAS_VFP_DOUBLE in fpu_capabilities[init_settings.fputype] then

+ 1 - 1
compiler/arm/raarmgas.pas

@@ -988,7 +988,7 @@ Unit raarmgas;
                        OPR_REFERENCE :
                          inc(oper.opr.ref.offset,l);
                        else
-                         internalerror(200309202);
+                         internalerror(2003092021);
                      end;
                    end
                end;

+ 2 - 2
compiler/arm/rgcpu.pas

@@ -491,7 +491,7 @@ unit rgcpu;
             tmpref.index:=hreg;
 
             if spilltemp.index<>NR_NO then
-              internalerror(200401263);
+              internalerror(2004012601);
 
             helplist.concat(spilling_create_load(tmpref,tempreg));
             if getregtype(tempreg)=R_INTREGISTER then
@@ -545,7 +545,7 @@ unit rgcpu;
             helplist.concat(taicpu.op_reg_ref(A_LDR,hreg,tmpref));
 
             if spilltemp.index<>NR_NO then
-              internalerror(200401263);
+              internalerror(2004012602);
 
             reference_reset_base(tmpref,current_procinfo.framepointer,0,ctempposinvalid,sizeof(pint),[]);
             tmpref.index:=hreg;

+ 3 - 3
compiler/assemble.pas

@@ -1140,7 +1140,7 @@ Implementation
 	      else if sizeof(tai_realconst(hp).value.s80val) = sizeof(single) then
 	        eextended:=float32_to_floatx80(float32(single(tai_realconst(hp).value.s80val)))
 	      else
-	        internalerror(2017091901);
+	        internalerror(2017091902);
               pdata:=@eextended;
             end;
 {$pop}
@@ -2062,7 +2062,7 @@ Implementation
 		       else if sizeof(tai_realconst(hp).value.s80val) = sizeof(single) then
 			 eextended:=float32_to_floatx80(float32(single(tai_realconst(hp).value.s80val)))
 		       else
-			 internalerror(2017091901);
+			 internalerror(2017091903);
                        pdata:=@eextended;
                      end;
            {$pop}
@@ -2101,7 +2101,7 @@ Implementation
                      else if Tai_const(hp).consttype in [aitconst_tlsgd,aitconst_tlsdesc] then
                        begin
                          if objsymend.objsection<>ObjData.CurrObjSec then
-                           Internalerror(2019092802);
+                           Internalerror(2019092803);
                          Tai_const(hp).value:=ObjData.CurrObjSec.Size-objsymend.address+Tai_const(hp).symofs;
                        end
                      else if objsymend.objsection<>objsym.objsection then

+ 2 - 2
compiler/avr/aasmcpu.pas

@@ -355,7 +355,7 @@ implementation
             else
               result:=taicpu.op_reg_ref(A_LD,r,ref);
           else
-            internalerror(200401041);
+            internalerror(2004010413);
         end;
       end;
 
@@ -374,7 +374,7 @@ implementation
             else
               result:=taicpu.op_ref_reg(A_ST,ref,r);
           else
-            internalerror(200401041);
+            internalerror(2004010414);
         end;
       end;
 

+ 1 - 1
compiler/avr/agavrgas.pas

@@ -93,7 +93,7 @@ unit agavrgas;
               //   internalerror(200308293);
   {$endif extdebug}
               if index<>NR_NO then
-                internalerror(2011021701)
+                internalerror(2011021707)
               else if base<>NR_NO then
                 begin
                   if addressmode=AM_PREDRECEMENT then

+ 10 - 10
compiler/avr/cgcpu.pas

@@ -214,7 +214,7 @@ unit cgcpu;
                  list.concat(taicpu.op_reg(A_PUSH,r));
                end;
              else
-               internalerror(2002071004);
+               internalerror(2002071007);
           end;
         end;
 
@@ -224,7 +224,7 @@ unit cgcpu;
 
       begin
         if not(tcgsize2size[cgpara.Size] in [1..4]) then
-          internalerror(2014011101);
+          internalerror(2014011106);
 
         hp:=cgpara.location;
 
@@ -268,7 +268,7 @@ unit cgcpu;
         tmpreg: TRegister;
       begin
         if not(tcgsize2size[paraloc.Size] in [1..4]) then
-          internalerror(2014011101);
+          internalerror(2014011107);
 
         hp:=paraloc.location;
 
@@ -302,7 +302,7 @@ unit cgcpu;
                   hp:=hp^.Next;
                 end;
               else
-                internalerror(2002071004);
+                internalerror(2002071008);
             end;
           end;
       end;
@@ -955,7 +955,7 @@ unit cgcpu;
                              list.concat(taicpu.op_reg(A_ROL,reg))
                            end;
                          else
-                           internalerror(2011030901);
+                           internalerror(2011030903);
                        end;
                        if size in [OS_S16,OS_16,OS_S32,OS_32,OS_S64,OS_64] then
                          begin
@@ -971,7 +971,7 @@ unit cgcpu;
                                  OP_SAR:
                                    list.concat(taicpu.op_reg(A_ROR,GetOffsetReg64(reg,reghi,tcgsize2size[size]-i)));
                                  else
-                                   internalerror(2011030902);
+                                   internalerror(2011030904);
                                end;
                            end;
                          end;
@@ -1098,7 +1098,7 @@ unit cgcpu;
         Result:=ref;
 
          if ref.addressmode<>AM_UNCHANGED then
-           internalerror(2011021701);
+           internalerror(2011021705);
 
         { Be sure to have a base register }
         if (ref.base=NR_NO) then
@@ -1248,7 +1248,7 @@ unit cgcpu;
            QuickRef:=true;
 
          if (tcgsize2size[fromsize]>32) or (tcgsize2size[tosize]>32) or (fromsize=OS_NO) or (tosize=OS_NO) then
-           internalerror(2011021307);
+           internalerror(2011021303);
 
          conv_done:=false;
          if tosize<>fromsize then
@@ -1469,7 +1469,7 @@ unit cgcpu;
            QuickRef:=true;
 
          if (tcgsize2size[fromsize]>32) or (tcgsize2size[tosize]>32) or (fromsize=OS_NO) or (tosize=OS_NO) then
-           internalerror(2011021307);
+           internalerror(2011021304);
 
          conv_done:=false;
          if tosize<>fromsize then
@@ -2362,7 +2362,7 @@ unit cgcpu;
         tmpref : treference;
       begin
          if ref.addressmode<>AM_UNCHANGED then
-           internalerror(2011021701);
+           internalerror(2011021706);
 
         if assigned(ref.symbol) or (ref.offset<>0) then
           begin

+ 2 - 2
compiler/avr/cpupara.pas

@@ -58,7 +58,7 @@ unit cpupara;
     function tcpuparamanager.get_volatile_registers_int(calloption : tproccalloption):tcpuregisterset;
       begin
         if CPUAVR_16_REGS in cpu_capabilities[current_settings.cputype] then
-          result:=VOLATILE_INTREGISTERS-[RS_R18,RS_R19]
+          result:=VOLATILE_INTREGISTERS-[RS_R0,RS_R1,RS_R18,RS_R19]
         else
           result:=VOLATILE_INTREGISTERS;
       end;
@@ -555,7 +555,7 @@ unit cpupara;
               end;
           end
         else
-          internalerror(200410231);
+          internalerror(2004102305);
       end;
 
 begin

+ 1 - 1
compiler/avr/navrmat.pas

@@ -166,7 +166,7 @@ implementation
           shln: op:=OP_SHL;
           shrn: op:=OP_SHR;
           else
-            internalerror(2013120102);
+            internalerror(2013120109);
         end;
         opsize:=left.location.size;
         opdef:=left.resultdef;

+ 2 - 2
compiler/avr/raavrgas.pas

@@ -415,7 +415,7 @@ Unit raavrgas;
                     OPR_REFERENCE :
                       inc(oper.opr.ref.offset,l);
                     else
-                      internalerror(200309202);
+                      internalerror(2003092012);
                   end;
                   Consume(AS_RPAREN);
                 end
@@ -499,7 +499,7 @@ Unit raavrgas;
                        OPR_REFERENCE :
                          inc(oper.opr.ref.offset,l);
                        else
-                         internalerror(200309202);
+                         internalerror(2003092013);
                      end;
                    end
                end;

+ 1 - 1
compiler/cg64f32.pas

@@ -705,7 +705,7 @@ unit cg64f32;
           LOC_CONSTANT :
             cg.a_load_const_reg(list,OS_32,longint(hi(l.value64)),reg);
           else
-            internalerror(200203244);
+            internalerror(2002032411);
         end;
       end;
 

+ 10 - 10
compiler/cgobj.pas

@@ -1427,7 +1427,7 @@ implementation
                        OS_M8..OS_M512:
                          a_loadmm_reg_reg(list,paraloc.size,paraloc.size,paraloc.register,reg,nil);
                        else
-                         internalerror(2010053102);
+                         internalerror(2010053106);
                      end;
                    end;
                  else
@@ -1464,7 +1464,7 @@ implementation
                end;
              end;
            else
-             internalerror(2002081302);
+             internalerror(2002081303);
          end;
       end;
 
@@ -2086,7 +2086,7 @@ implementation
           LOC_REFERENCE, LOC_CREFERENCE:
             a_op_reg_ref(list,op,loc.size,reg,loc.reference);
           else
-            internalerror(200109061);
+            internalerror(2001090602);
         end;
       end;
 
@@ -2123,7 +2123,7 @@ implementation
               a_op_reg_ref(list,op,loc.size,tmpreg,loc.reference);
             end;
           else
-            internalerror(200109061);
+            internalerror(2001090603);
         end;
       end;
 
@@ -2265,7 +2265,7 @@ implementation
         tmpref: treference;
       begin
         if not (Op in [OP_NOT,OP_NEG]) then
-          internalerror(2020050701);
+          internalerror(2020050710);
         if assigned(ref.symbol) then
           begin
             tmpreg:=getaddressregister(list);
@@ -2325,7 +2325,7 @@ implementation
           LOC_REFERENCE,LOC_CREFERENCE:
             a_cmp_const_ref_label(list,size,cmp_op,a,loc.reference,l);
           else
-            internalerror(200109061);
+            internalerror(2001090604);
         end;
       end;
 
@@ -2388,7 +2388,7 @@ implementation
               a_cmp_ref_reg_label(list,size,cmp_op,ref,tmpreg,l);
             end;
           else
-            internalerror(200109061);
+            internalerror(2001090605);
         end;
       end;
 
@@ -2522,7 +2522,7 @@ implementation
           LOC_REFERENCE,LOC_CREFERENCE:
             a_loadmm_ref_cgpara(list,loc.size,loc.reference,cgpara,shuffle);
           else
-            internalerror(200310123);
+            internalerror(2003101204);
         end;
       end;
 
@@ -2616,7 +2616,7 @@ implementation
           LOC_CREFERENCE,LOC_REFERENCE:
             a_opmm_ref_reg_reg(list,op,size,loc.reference,src,dst,shuffle);
           else
-            internalerror(200312232);
+            internalerror(2003122304);
         end;
       end;
 
@@ -3163,7 +3163,7 @@ implementation
         tempreg: tregister64;
       begin
         if not (op in [OP_NOT,OP_NEG]) then
-          internalerror(2020050706);
+          internalerror(2020050713);
         tempreg.reghi:=cg.getintregister(list,OS_32);
         tempreg.reglo:=cg.getintregister(list,OS_32);
         a_load64_ref_reg(list,ref,tempreg);

+ 2 - 2
compiler/dbgdwarf.pas

@@ -1309,7 +1309,7 @@ implementation
             if data[i].VType<>vtInteger then
               internalerror(200601261);
             if data[i+1].VType<>vtInteger then
-              internalerror(200601261);
+              internalerror(2006012602);
             append_attribute(tdwarf_attribute(data[i].VInteger),tdwarf_form(data[i+1].VInteger),data[i+2]);
             inc(i,3);
           end;
@@ -2552,7 +2552,7 @@ implementation
                 currdef:=tarraydef(currdef).elementdef;
               end;
             else
-              internalerror(2009031401);
+              internalerror(2009031403);
           end;
           symlist:=symlist^.next;
         until not assigned(symlist);

+ 1 - 1
compiler/dbgstabs.pas

@@ -1561,7 +1561,7 @@ implementation
                   ss:=sym_stabstr_evaluate(sym,'"${name}:$1",'+base_stabs_str(paravarsymref_stab,'0','${line}','$2'),[c+st,getoffsetstr(sym.localloc.reference)])
                 end;
               else
-                internalerror(2003091814);
+                internalerror(2003091805);
             end;
           end;
         write_sym_stabstr(list,sym,ss);

+ 3 - 3
compiler/fpcp.pas

@@ -326,7 +326,7 @@ implementation
       if pcpfile.readentry<>ibpackagefiles then
         begin
           message(package_f_pcp_read_error);
-          internalerror(424242);
+          internalerror(2020100818);
         end;
       pplfilename:=pcpfile.getstring;
 
@@ -342,13 +342,13 @@ implementation
       if pcpfile.readentry<>ibstartcontained then
         begin
           message(package_f_pcp_read_error);
-          internalerror(424242);
+          internalerror(2020100819);
         end;
       cnt:=pcpfile.getlongint;
       if pcpfile.readentry<>ibendcontained then
         begin
           message(package_f_pcp_read_error);
-          internalerror(424242);
+          internalerror(2020100820);
         end;
       for i:=0 to cnt-1 do
         begin

+ 1 - 1
compiler/hlcg2ll.pas

@@ -837,7 +837,7 @@ implementation
     begin
 {$ifdef extdebug}
       if def_cgsize(size)<>loc.size then
-        internalerror(2010112101);
+        internalerror(2010112103);
 {$endif}
       case loc.loc of
         LOC_SUBSETREG,LOC_CSUBSETREG,

+ 12 - 12
compiler/hlcgobj.pas

@@ -999,7 +999,7 @@ implementation
                    begin
                      { should be the last part }
                      if assigned(location^.next) then
-                       internalerror(2010052907);
+                       internalerror(2010052902);
                      { load the value piecewise to get it into the register }
                      orgsizeleft:=sizeleft;
                      reghasvalue:=false;
@@ -1083,7 +1083,7 @@ implementation
                    OS_M8..OS_M128:
                      a_loadmm_ref_reg(list,location^.def,location^.def,tmpref,location^.register,nil);
                    else
-                     internalerror(2010053101);
+                     internalerror(2010053103);
                  end;
               end
             else
@@ -1644,7 +1644,7 @@ implementation
       if sref.bitlen>AIntBits then
         begin
           if ((sref.bitlen mod AIntBits)<>0) then
-            internalerror(2019052901);
+            internalerror(2019052902);
           tmpsref:=sref;
           tmpsref.bitlen:=AIntBits;
           if target_info.endian=endian_big then
@@ -2762,7 +2762,7 @@ implementation
         LOC_REFERENCE,LOC_CREFERENCE:
           a_loadmm_reg_ref(list,fromsize,tosize,reg,loc.reference,shuffle);
         else
-          internalerror(2010120415);
+          internalerror(2010120417);
       end;
     end;
 
@@ -3069,7 +3069,7 @@ implementation
             a_load_reg_subsetref(list,size,size,tmpreg,loc.sref);
           end;
         else
-          internalerror(2010120429);
+          internalerror(2010120418);
       end;
     end;
 
@@ -3124,7 +3124,7 @@ implementation
   procedure thlcgobj.a_op_reg(list: TAsmList; Op: TOpCG; size: tdef; reg: TRegister);
     begin
       if not (Op in [OP_NOT,OP_NEG]) then
-        internalerror(2020050701);
+        internalerror(2020050711);
       a_op_reg_reg(list,op,size,reg,reg);
     end;
 
@@ -3133,7 +3133,7 @@ implementation
       tmpreg: TRegister;
     begin
       if not (Op in [OP_NOT,OP_NEG]) then
-        internalerror(2020050701);
+        internalerror(2020050712);
       tmpreg:=getintregister(list,size);
       a_load_ref_reg(list,size,size,ref,tmpreg);
       a_op_reg_reg(list,op,size,tmpreg,tmpreg);
@@ -4252,7 +4252,7 @@ implementation
           begin
             { vectors can't be represented yet using tdef }
             if size.typ<>floatdef then
-              internalerror(2012062301);
+              internalerror(2012062302);
             tg.gethltemp(list,size,size.size,tt_normal,r);
             a_loadmm_reg_ref(list,size,size,l.register,r,mms_movescalar);
             location_reset_ref(l,LOC_REFERENCE,l.size,size.alignment,[]);
@@ -5036,7 +5036,7 @@ implementation
                            begin
                              hsym:=tparavarsym(get_high_value_sym(tparavarsym(p)));
                              if not assigned(hsym) then
-                               internalerror(201003032);
+                               internalerror(2010030303);
                              highloc:=hsym.initialloc
                            end
                          else
@@ -5067,7 +5067,7 @@ implementation
                              begin
                                hsym:=tparavarsym(get_high_value_sym(tparavarsym(p)));
                                if not assigned(hsym) then
-                                 internalerror(201003032);
+                                 internalerror(2010030304);
                                highloc:=hsym.initialloc
                              end
                            else
@@ -5232,7 +5232,7 @@ implementation
                 a_loadfpu_reg_cgpara(list,size,tmploc.register,cgpara);
               end;
             else
-              internalerror(200204249);
+              internalerror(2002042402);
           end;
         LOC_FPUREGISTER,
         LOC_CFPUREGISTER:
@@ -5381,7 +5381,7 @@ implementation
                       a_load_ref_ref(list,para.def,para.def,href,destloc.reference);
                     end;
                   else
-                    internalerror(2013102301);
+                    internalerror(2013102305);
                 end;
               end;
           end;

+ 5 - 3
compiler/i386/aoptcpu.pas

@@ -143,8 +143,12 @@ unit aoptcpu;
                   Result:=OptPass1Imul(p);
                 A_CMP:
                   Result:=OptPass1Cmp(p);
+                A_VXORPS,
+                A_VXORPD,
                 A_VPXOR:
                   Result:=OptPass1VPXor(p);
+                A_XORPS,
+                A_XORPD,
                 A_PXOR:
                   Result:=OptPass1PXor(p);
                 A_FLD:
@@ -199,9 +203,7 @@ unit aoptcpu;
                 A_VANDPD,
                 A_VANDPS,
                 A_VORPD,
-                A_VORPS,
-                A_VXORPD,
-                A_VXORPS:
+                A_VORPS:
                   Result:=OptPass1VOP(p);
                 A_MULSD,
                 A_MULSS,

+ 6 - 6
compiler/i386/cgcpu.pas

@@ -636,7 +636,7 @@ unit cgcpu;
               op2:=A_AND;
             end;
           else
-            internalerror(200203241);
+            internalerror(2002032408);
         end;
       end;
 
@@ -857,7 +857,7 @@ unit cgcpu;
                     list.Concat(taicpu.op_reg_reg(A_SAR,S_L,NR_CL,regdst.reghi));
                   end;
                 else
-                  internalerror(2017041801);
+                  internalerror(2017041802);
               end;
               cg.a_label(list,l2);
 
@@ -980,7 +980,7 @@ unit cgcpu;
                           list.concat(taicpu.op_const_reg(A_SHL,S_L,value,reg.reglo));
                         end;
                       else
-                        internalerror(2017041201);
+                        internalerror(2017041202);
                     end;
                 end;
             end;
@@ -1049,7 +1049,7 @@ unit cgcpu;
                           cg.a_reg_dealloc(list,NR_DEFAULTFLAGS);
                         end;
                       else
-                        internalerror(2019050901);
+                        internalerror(2019050903);
                     end
                   else if value>31 then
                     case op of
@@ -1086,7 +1086,7 @@ unit cgcpu;
                           cg.a_load_const_ref(list,OS_32,0,tempref);
                         end;
                       else
-                        internalerror(2017041801);
+                        internalerror(2017041803);
                     end
                   else
                     case op of
@@ -1130,7 +1130,7 @@ unit cgcpu;
                             end;
                         end;
                       else
-                        internalerror(2017041201);
+                        internalerror(2017041203);
                     end;
                 end;
             end;

+ 1 - 1
compiler/i386/cpuelf.pas

@@ -473,7 +473,7 @@ implementation
               else
                 begin
                   writeln(reltyp);
-                  internalerror(200604014);
+                  internalerror(2006040108);
                 end;
             end
           else           { not relocsec.Used }

+ 2 - 2
compiler/i386/cpupara.pas

@@ -522,7 +522,7 @@ unit cpupara;
             else
               begin
                 if paralen=0 then
-                  internalerror(200501163);
+                  internalerror(2005011606);
                 firstparaloc:=true;
                 while (paralen>0) do
                   begin
@@ -688,7 +688,7 @@ unit cpupara;
                           else
                             begin
                               if paralen=0 then
-                                internalerror(200501163);
+                                internalerror(2005011607);
                               firstparaloc:=true;
                               while (paralen>0) do
                                 begin

+ 2 - 2
compiler/i386/hlcgcpu.pas

@@ -352,7 +352,7 @@ implementation
         href : treference;
       begin
         if (procdef.extnumber=$ffff) then
-          Internalerror(200006139);
+          Internalerror(2000061312);
         { call/jmp  vmtoffs(%reg) ; method offs }
         reference_reset_base(href,voidpointertype,reg,tobjectdef(procdef.struct).vmtmethodoffset(procdef.extnumber),ctempposinvalid,4,[]);
         list.concat(taicpu.op_ref(op,S_L,href));
@@ -364,7 +364,7 @@ implementation
         href : treference;
       begin
         if (procdef.extnumber=$ffff) then
-          Internalerror(200006139);
+          Internalerror(2000061313);
         { mov vmtoffs(%eax),%eax ; method offs }
         reference_reset_base(href,voidpointertype,NR_EAX,tobjectdef(procdef.struct).vmtmethodoffset(procdef.extnumber),ctempposinvalid,4,[]);
         cg.a_load_ref_reg(list,OS_ADDR,OS_ADDR,href,NR_EAX);

+ 24 - 24
compiler/i386/i386prop.inc

@@ -1200,30 +1200,30 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),

+ 3 - 3
compiler/i386/n386add.pas

@@ -141,7 +141,7 @@ interface
           else
             begin
               { everything should be handled in pass_1 (JM) }
-              internalerror(200109051);
+              internalerror(2001090505);
             end;
         end;
 
@@ -409,7 +409,7 @@ interface
                 end;
             end;
         else
-          internalerror(200203282);
+          internalerror(2002032803);
         end;
 
       end;
@@ -622,7 +622,7 @@ interface
       else if (hreg2<>NR_NO) then
         emit_reg_reg(A_ADD,S_L,hreg2,NR_EDX)
       else
-        InternalError(2014011604);
+        InternalError(2014011601);
 
       { Result is now in EDX:EAX. Copy it to virtual registers. }
       set_mul_result_location;

+ 1 - 1
compiler/i386/n386flw.pas

@@ -209,7 +209,7 @@ function ti386tryfinallynode.pass_1: tnode;
           begin
             selfsym:=tparavarsym(current_procinfo.procdef.parast.Find('self'));
             if (selfsym=nil) or (selfsym.typ<>paravarsym) then
-              InternalError(2011123101);
+              InternalError(2011123102);
             selfsym.varregable:=vr_none;
           end;
       end;

+ 1 - 1
compiler/i386/n386mat.pas

@@ -71,7 +71,7 @@ implementation
       begin
         if is_64bitint(resultdef) then
           { should be handled in pass_1 (JM) }
-          internalerror(200109052);
+          internalerror(2001090507);
 
         if (nodetype=divn) and (right.nodetype=ordconstn) and
           is_signed(left.resultdef) and

+ 45 - 45
compiler/i8086/cgcpu.pas

@@ -261,7 +261,7 @@ unit cgcpu;
                         OP_OR,OP_XOR:
                           {do nothing};
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100704);
                       end;
                     end
                   else if aint(a and $FFFF) = aint($FFFF) then
@@ -274,7 +274,7 @@ unit cgcpu;
                         OP_XOR:
                           list.concat(taicpu.op_reg(A_NOT,S_W,reg));
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100705);
                       end;
                     end
                   else
@@ -289,7 +289,7 @@ unit cgcpu;
                         OP_OR,OP_XOR:
                           {do nothing};
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100706);
                       end;
                     end
                   else if aint(a shr 16) = aint($FFFF) then
@@ -302,7 +302,7 @@ unit cgcpu;
                         OP_XOR:
                           list.concat(taicpu.op_reg(A_NOT,S_W,GetNextReg(reg)));
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100707);
                       end;
                     end
                   else
@@ -450,7 +450,7 @@ unit cgcpu;
                                 list.concat(taicpu.op_reg_reg(A_OR,S_W,tmpreg,GetNextReg(reg)));
                               end;
                             else
-                              internalerror(2017040301);
+                              internalerror(2017040302);
                           end;
 
                           ungetcpuregister(list,NR_CX);
@@ -522,7 +522,7 @@ unit cgcpu;
                                     cg.a_reg_dealloc(list,NR_DEFAULTFLAGS);
                                   end;
                                 else
-                                  internalerror(2013030903);
+                                  internalerror(2013030907);
                               end;
                             end;
                         end;
@@ -739,7 +739,7 @@ unit cgcpu;
                 else
                   { OP_MUL should be handled specifically in the code        }
                   { generator because of the silly register usage restraints }
-                  internalerror(200109225);
+                  internalerror(2001092208);
               end
             else
               inherited a_op_const_reg(list, Op, size, a, reg);
@@ -801,7 +801,7 @@ unit cgcpu;
                         OP_OR,OP_XOR:
                           {do nothing};
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100708);
                       end;
                     end
                   else if aint(a and $FFFF) = aint($FFFF) then
@@ -814,7 +814,7 @@ unit cgcpu;
                         OP_XOR:
                           list.concat(taicpu.op_ref(A_NOT,S_W,tmpref));
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100709);
                       end;
                     end
                   else
@@ -830,7 +830,7 @@ unit cgcpu;
                         OP_OR,OP_XOR:
                           {do nothing};
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100710);
                       end;
                     end
                   else if aint(a shr 16) = aint($FFFF) then
@@ -843,7 +843,7 @@ unit cgcpu;
                         OP_XOR:
                           list.concat(taicpu.op_ref(A_NOT,S_W,tmpref));
                         else
-                          InternalError(2013100701);
+                          InternalError(2013100711);
                       end;
                     end
                   else
@@ -991,7 +991,7 @@ unit cgcpu;
                         cg.a_reg_dealloc(list,NR_DEFAULTFLAGS);
                       end;
                     else
-                      internalerror(2013030903);
+                      internalerror(2013030908);
                   end;
 
                   ai:=Taicpu.Op_Sym(A_LOOP,S_W,hl_loop_start);
@@ -1051,7 +1051,7 @@ unit cgcpu;
                   ungetcpuregister(list,NR_CX);
                 end;
               else
-                internalerror(2013030901);
+                internalerror(2013030905);
             end;
           end
         else
@@ -1069,7 +1069,7 @@ unit cgcpu;
         check_register_size(size,reg);
 
         if size in [OS_64, OS_S64] then
-          internalerror(2013030902);
+          internalerror(2013030906);
 
         if size in [OS_32, OS_S32] then
           begin
@@ -1123,7 +1123,7 @@ unit cgcpu;
               OP_MUL,OP_DIV,OP_IDIV:
                 { special stuff, needs separate handling inside code }
                 { generator                                          }
-                internalerror(200109238);
+                internalerror(2001092304);
               OP_ADD,OP_SUB,OP_XOR,OP_OR,OP_AND:
                 begin
                   get_32bit_ops(op, op1, op2);
@@ -1180,7 +1180,7 @@ unit cgcpu;
                         cg.a_reg_dealloc(list,NR_DEFAULTFLAGS);
                       end;
                     else
-                      internalerror(2013030903);
+                      internalerror(2013030909);
                   end;
 
                   ai:=Taicpu.Op_Sym(A_LOOP,S_W,hl_loop_start);
@@ -1215,7 +1215,7 @@ unit cgcpu;
         make_simple_ref(list,tmpref);
 
         if size in [OS_64, OS_S64] then
-          internalerror(2013050803);
+          internalerror(2013050805);
 
         if size in [OS_32, OS_S32] then
           begin
@@ -1279,7 +1279,7 @@ unit cgcpu;
                   a_load_reg_ref(list,paraloc^.size,paraloc^.size,r,ref);
                end;
              else
-               internalerror(2002071004);
+               internalerror(2002071006);
           end;
         end;
       var
@@ -1296,16 +1296,16 @@ unit cgcpu;
                 if cgpara.location^.Next = nil then
                   begin
                     if tcgsize2size[cgpara.location^.size] <> 4 then
-                      internalerror(2013031101);
+                      internalerror(2013031103);
                   end
                 else
                   begin
                     if tcgsize2size[cgpara.location^.size] <> 2 then
-                      internalerror(2013031101);
+                      internalerror(2013031104);
                     if tcgsize2size[cgpara.location^.Next^.size] <> 2 then
-                      internalerror(2013031101);
+                      internalerror(2013031105);
                     if cgpara.location^.Next^.Next <> nil then
-                      internalerror(2013031101);
+                      internalerror(2013031106);
                   end;
 
                 if tcgsize2size[cgpara.size]>cgpara.alignment then
@@ -1354,23 +1354,23 @@ unit cgcpu;
             if tcgsize2size[cgpara.Size] > 2 then
               begin
                 if tcgsize2size[cgpara.Size] <> 4 then
-                  internalerror(2013031101);
+                  internalerror(2013031107);
                 if cgpara.location^.Next = nil then
                   begin
                     if tcgsize2size[cgpara.location^.size] <> 4 then
-                      internalerror(2013031101);
+                      internalerror(2013031108);
                   end
                 else
                   begin
                     if tcgsize2size[cgpara.location^.size] <> 2 then
-                      internalerror(2013031101);
+                      internalerror(2013031109);
                     if tcgsize2size[cgpara.location^.Next^.size] <> 2 then
-                      internalerror(2013031101);
+                      internalerror(2013031110);
                     if cgpara.location^.Next^.Next <> nil then
-                      internalerror(2013031101);
+                      internalerror(2013031111);
                   end;
                 if (cgpara.alignment <> 4) and (cgpara.alignment <> 2) then
-                  internalerror(2013031101);
+                  internalerror(2013031112);
 
                 push_const(list,OS_16,a shr 16);
                 push_const(list,OS_16,a and $FFFF);
@@ -1501,19 +1501,19 @@ unit cgcpu;
                     if cgpara.location^.Next = nil then
                       begin
                         if tcgsize2size[cgpara.location^.size] <> 4 then
-                          internalerror(2014032401);
+                          internalerror(2014032404);
                       end
                     else
                       begin
                         if tcgsize2size[cgpara.location^.size] <> 2 then
-                          internalerror(2014032401);
+                          internalerror(2014032405);
                         if tcgsize2size[cgpara.location^.Next^.size] <> 2 then
-                          internalerror(2014032401);
+                          internalerror(2014032406);
                         if cgpara.location^.Next^.Next <> nil then
-                          internalerror(2014032401);
+                          internalerror(2014032407);
                       end;
                     if cgpara.alignment > 4 then
-                      internalerror(2014032401);
+                      internalerror(2014032408);
 
                     if segment<>NR_NO then
                       begin
@@ -1764,7 +1764,7 @@ unit cgcpu;
         check_register_size(tosize,reg);
 
         if (tcgsize2size[fromsize]>32) or (tcgsize2size[tosize]>32) or (fromsize=OS_NO) or (tosize=OS_NO) then
-          internalerror(2011021307);
+          internalerror(2011021302);
 {        if tcgsize2size[tosize]<=tcgsize2size[fromsize] then
           fromsize:=tosize;}
 
@@ -1919,7 +1919,7 @@ unit cgcpu;
                       add_mov(taicpu.op_reg_reg(A_MOV, S_B, reg1, reg2));
                   end
                 else
-                  internalerror(2013030210);
+                  internalerror(2013030203);
               OS_16,OS_S16:
                 case fromsize of
                   OS_8:
@@ -1955,7 +1955,7 @@ unit cgcpu;
                         add_mov(taicpu.op_reg_reg(A_MOV, S_W, reg1, reg2));
                     end
                   else
-                    internalerror(2013030212);
+                    internalerror(2013030205);
                 end;
               OS_32,OS_S32:
                 case fromsize of
@@ -2013,10 +2013,10 @@ unit cgcpu;
                         end;
                     end;
                   else
-                    internalerror(2013030213);
+                    internalerror(2013030206);
                 end;
               else
-                internalerror(2013030211);
+                internalerror(2013030204);
             end;
           end;
       end;
@@ -2176,7 +2176,7 @@ unit cgcpu;
               a_jmp_cond(list, OC_B, l_skip);
             end;
           else
-            internalerror(2014010305);
+            internalerror(2014010321);
         end;
       end;
 
@@ -2204,7 +2204,7 @@ unit cgcpu;
           OC_A:
             a_jmp_cond(list, OC_A, l_target);
           else
-            internalerror(2014010306);
+            internalerror(2014010322);
         end;
       end;
 
@@ -2276,7 +2276,7 @@ unit cgcpu;
                   list.concat(Taicpu.op_const_reg(A_SBB, S_W, 0, reg));
                 end;
               else
-                internalerror(2013123101);
+                internalerror(2013123102);
             end;
             a_load_reg_reg(list,tmpsize,size,reg,reg);
           end
@@ -2297,7 +2297,7 @@ unit cgcpu;
                   list.concat(Taicpu.op_const_reg(A_MOV, S_W, 0, reg));
                 end;
               else
-                internalerror(2013123101);
+                internalerror(2013123103);
             end;
 
             current_asmdata.getjumplabel(hl_skip);
@@ -2682,7 +2682,7 @@ unit cgcpu;
         hsym:=tsym(procdef.parast.Find('self'));
         if not(assigned(hsym) and
                (hsym.typ=paravarsym)) then
-          internalerror(200305251);
+          internalerror(2003052502);
         paraloc:=tparavarsym(hsym).paraloc[callerside].location;
         with paraloc^ do
           begin
@@ -2715,7 +2715,7 @@ unit cgcpu;
                     end;
                 end
               else
-                internalerror(200309189);
+                internalerror(2003091802);
             end;
             paraloc:=next;
           end;
@@ -2753,7 +2753,7 @@ unit cgcpu;
               op2:=A_AND;
             end;
           else
-            internalerror(200203241);
+            internalerror(2002032403);
         end;
       end;
 

+ 3 - 3
compiler/i8086/cpupara.pas

@@ -120,7 +120,7 @@ unit cpupara;
     function tcpuparamanager.asm_result_var(def:tdef;pd:tabstractprocdef):boolean;
       begin
         if not(po_assembler in pd.procoptions) then
-          internalerror(2018021501);
+          internalerror(2018021502);
         result:=ret_in_param(def,pd);
       end;
 
@@ -495,7 +495,7 @@ unit cpupara;
             else
               begin
                 if paralen=0 then
-                  internalerror(200501163);
+                  internalerror(2005011604);
                 firstparaloc:=true;
                 while (paralen>0) do
                   begin
@@ -691,7 +691,7 @@ unit cpupara;
                           else
                             begin
                               if paralen=0 then
-                                internalerror(200501163);
+                                internalerror(2005011605);
                               firstparaloc:=true;
                               while (paralen>0) do
                                 begin

+ 2 - 2
compiler/i8086/hlcgcpu.pas

@@ -423,7 +423,7 @@ implementation
         size:=voidpointertype;
 
       if is_hugepointer(size) then
-        internalerror(2015111201)
+        internalerror(2015111204)
       else if is_farpointer(size) then
         cg.a_op_const_reg(list,Op,OS_16,a,reg)
       else
@@ -581,7 +581,7 @@ implementation
         srcseg: TRegister;
       begin
         if (procdef.extnumber=$ffff) then
-          Internalerror(200006139);
+          Internalerror(2000061306);
         if current_settings.x86memorymodel in x86_far_data_models then
           srcseg:=NR_ES
         else

+ 24 - 24
compiler/i8086/i8086prop.inc

@@ -1214,30 +1214,30 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),

+ 6 - 6
compiler/i8086/n8086add.pas

@@ -106,7 +106,7 @@ interface
               niln:
                 lv:=0;
               else
-                internalerror(2002080202);
+                internalerror(2002080201);
             end;
             case rt of
               ordconstn:
@@ -116,7 +116,7 @@ interface
               niln:
                 rv:=0;
               else
-                internalerror(2002080203);
+                internalerror(2002080204);
             end;
 
             case nodetype of
@@ -138,7 +138,7 @@ interface
                     if (rt=pointerconstn) then
                       begin
                         if not(nf_has_pointerdiv in flags) then
-                          internalerror(2008030101);
+                          internalerror(2008030102);
                         { todo: implement pointer-pointer as well }
                         internalerror(2014040607);
                         //t := cpointerconstnode.create(qword(v),resultdef);
@@ -240,7 +240,7 @@ interface
           else
             begin
               { everything should be handled in pass_1 (JM) }
-              internalerror(200109051);
+              internalerror(2001090503);
             end;
         end;
 
@@ -456,7 +456,7 @@ interface
         else if (left.resultdef.typ<>pointerdef) and (right.resultdef.typ=pointerdef) then
           pointernode:=right
         else
-          internalerror(2014040601);
+          internalerror(2014040608);
 
         if not (nodetype in [addn,subn]) then
           internalerror(2014040602);
@@ -927,7 +927,7 @@ interface
                    end;
                end;
              else
-               internalerror(200203282);
+               internalerror(2002032801);
            end;
          end;
       end;

+ 2 - 2
compiler/i8086/n8086inl.pas

@@ -178,7 +178,7 @@ implementation
                          { find proc field in methodpointer record }
                          hsym:=tfieldvarsym(trecorddef(procpointertype).symtable.Find('proc'));
                          if not assigned(hsym) then
-                           internalerror(200412041);
+                           internalerror(2004120404);
                          { Load tmehodpointer(left).proc }
                          result:=csubscriptnode.create(
                                       hsym,
@@ -346,7 +346,7 @@ implementation
                      addvalue:=tpointerdef(tcallparanode(left).left.resultdef).pointeddef.size;
                  end;
                else
-                 internalerror(10081);
+                 internalerror(2020100815);
              end;
              { second_ argument specified?, must be a s16bit in register }
              if assigned(tcallparanode(left).right) then

+ 1 - 1
compiler/i8086/n8086ld.pas

@@ -134,7 +134,7 @@ implementation
             { make sure hregister can't allocate the register necessary for the parameter }
             pvd:=search_system_type('TRELOCATETHREADVARHANDLER').typedef;
             if pvd.typ<>procvardef then
-              internalerror(2012120901);
+              internalerror(2012120902);
             paraloc1.init;
             paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,tprocvardef(pvd),1,paraloc1);
             hregister:=hlcg.getaddressregister(current_asmdata.CurrAsmList,pvd);

+ 1 - 1
compiler/i8086/n8086mat.pas

@@ -114,7 +114,7 @@ implementation
 
         if is_64bitint(resultdef) or is_32bitint(resultdef) then
           { should be handled in pass_1 (JM) }
-          internalerror(200109052);
+          internalerror(2001090506);
         { put numerator in register }
         location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
         hlcg.location_force_reg(current_asmdata.CurrAsmList,left.location,left.resultdef,resultdef,false);

+ 3 - 3
compiler/i8086/n8086mem.pas

@@ -96,7 +96,7 @@ implementation
             location_reset(location,LOC_REGISTER,OS_16);
             location.register:=hlcg.getaddressregister(current_asmdata.CurrAsmList,voidnearpointertype);
             if not(left.location.loc in [LOC_REFERENCE,LOC_CREFERENCE]) then
-              internalerror(2015103001);
+              internalerror(2015103003);
             hlcg.a_loadaddr_ref_reg(current_asmdata.CurrAsmList,left.resultdef,voidnearpointertype,left.location.reference,location.register);
           end
         else
@@ -151,7 +151,7 @@ implementation
                    cg.a_load_const_reg(current_asmdata.CurrAsmList,OS_16,(left.location.value shr 16) and $FFFF,location.reference.segment);
                  end;
                else
-                 internalerror(200507031);
+                 internalerror(2005070302);
             end;
             if (cs_use_heaptrc in current_settings.globalswitches) and
                (cs_checkpointer in current_settings.localswitches) and
@@ -165,7 +165,7 @@ implementation
              begin
                if not searchsym_in_named_module('HEAPTRC','CHECKPOINTER',sym,st) or
                   (sym.typ<>procsym) then
-                 internalerror(2012010601);
+                 internalerror(2012010603);
                pd:=tprocdef(tprocsym(sym).ProcdefList[0]);
                paraloc1.init;
                paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1);

+ 1 - 1
compiler/i8086/symcpu.pas

@@ -250,7 +250,7 @@ implementation
     else if p is tcpuprocvardef then
       result:=tcpuprocvardef(p).is_far
     else
-      internalerror(2014041301);
+      internalerror(2014041303);
   end;
 
   { true if p is a far proc var }

+ 1 - 1
compiler/jvm/agjasmin.pas

@@ -865,7 +865,7 @@ implementation
         kindname: ansistring;
       begin
         if not(obj.owner.defowner.typ in [objectdef,recorddef]) then
-          internalerror(2011021701);
+          internalerror(2011021704);
         { Nested classes in the Pascal sense are equivalent to "static"
           inner classes in Java -- will be changed when support for
           Java-style non-static classes is added }

+ 4 - 4
compiler/jvm/hlcgcpu.pas

@@ -756,7 +756,7 @@ implementation
                 end;
               end;
             else
-              internalerror(2011081801);
+              internalerror(2011081802);
           end;
         end;
     end;
@@ -843,7 +843,7 @@ implementation
               decstack(list,2);
             end;
           else
-            internalerror(2010120538);
+            internalerror(2010120505);
         end;
       end;
 
@@ -1618,7 +1618,7 @@ implementation
             s64real:
               opc:=a_dreturn;
             else
-              internalerror(2011010213);
+              internalerror(2011010202);
           end;
         else
           opc:=a_areturn;
@@ -2429,7 +2429,7 @@ implementation
         exit;
       selfpara:=tparavarsym(current_procinfo.procdef.parast.find('self'));
       if not assigned(selfpara) then
-        internalerror(2011033001);
+        internalerror(2011033002);
       selfreg:=getaddressregister(list,selfpara.vardef);
       a_load_loc_reg(list,obj,obj,selfpara.localloc,selfreg);
       cgutils.reference_reset_base(ref,selfreg,0,ctempposinvalid,1,[]);

+ 2 - 2
compiler/jvm/jvmdef.pas

@@ -449,7 +449,7 @@ implementation
         errdef: tdef;
       begin
         if not jvmtryencodetype(def,result,false,errdef) then
-          internalerror(2011012205);
+          internalerror(2011012201);
         primitivetype:=false;
         if length(result)=1 then
           begin
@@ -463,7 +463,7 @@ implementation
               'F': result:='float';
               'D': result:='double';
               else
-                internalerror(2011012206);
+                internalerror(2011012203);
               end;
             primitivetype:=true;
           end

+ 1 - 1
compiler/jvm/njvmcnv.pas

@@ -1021,7 +1021,7 @@ implementation
           fsym:=tfieldvarsym(search_struct_member(tcpuprocvardef(fromdef).classdef,'METHOD'));
           if not assigned(fsym) or
              (fsym.typ<>fieldvarsym) then
-            internalerror(2011072414);
+            internalerror(2011072401);
           result:=csubscriptnode.create(fsym,left);
           left:=nil;
         end;

+ 3 - 3
compiler/jvm/njvmmem.pas

@@ -263,7 +263,7 @@ implementation
                   end;
               end
             else
-              internalerror(2011072506);
+              internalerror(2011072503);
           end
         else if (left.resultdef.typ=procdef) then
           begin
@@ -334,7 +334,7 @@ implementation
             vs:=search_struct_member(tobjectdef(left.resultdef),'GETCLASS');
             if not assigned(vs) or
                (tsym(vs).typ<>procsym) then
-              internalerror(2011041901);
+              internalerror(2011041903);
             result:=ccallnode.create(nil,tprocsym(vs),vs.owner,left,[],nil);
             inserttypeconv_explicit(result,resultdef);
             { reused }
@@ -391,7 +391,7 @@ implementation
             psym:=search_struct_member(tabstractrecorddef(stringclass),'CHARAT');
             if not assigned(psym) or
                (psym.typ<>procsym) then
-              internalerror(2011031501);
+              internalerror(2011031502);
             { Pascal strings are 1-based, Java strings 0-based }
             result:=ccallnode.create(ccallparanode.create(
               caddnode.create(subn,right,genintconstnode(1)),nil),tprocsym(psym),

+ 2 - 2
compiler/jvm/njvmtcon.pas

@@ -197,7 +197,7 @@ implementation
                 if (tstringconstnode(n).cst_type in [cst_unicodestring,cst_widestring]) then
                   inserttypeconv(n,getansistringdef);
                   if n.nodetype<>stringconstn then
-                    internalerror(2010033003);
+                    internalerror(2010033010);
                   ca:=pbyte(tstringconstnode(n).value_str);
                 { For tp7 the maximum lentgh can be 255 }
                 if (m_tp7 in current_settings.modeswitches) and
@@ -214,7 +214,7 @@ implementation
                begin
                  inserttypeconv(n,cansichartype);
                  if not is_constcharnode(n) then
-                   internalerror(2010033001);
+                   internalerror(2010033007);
                  ch[0]:=chr(tordconstnode(n).value.uvalue and $ff);
                  ca:=@ch;
                  len:=1;

+ 3 - 3
compiler/jvm/pjvm.pas

@@ -267,11 +267,11 @@ implementation
         pd.synthetickind:=tsk_jvm_enum_fpcordinal;
         { add static class method to convert an ordinal to the corresponding enum }
         if not str_parse_method_dec('function FPCValueOf(__fpc_int: longint): __FPC_TEnumClassAlias; static;',potype_function,true,enumclass,pd) then
-          internalerror(2011062402);
+          internalerror(2011062403);
         pd.synthetickind:=tsk_jvm_enum_fpcvalueof;
         { similar (instance) function for use in set factories; implements FpcEnumValueObtainable interface }
         if not str_parse_method_dec('function fpcGenericValueOf(__fpc_int: longint): JLEnum;',potype_function,false,enumclass,pd) then
-          internalerror(2011062402);
+          internalerror(2011062404);
         pd.synthetickind:=tsk_jvm_enum_fpcvalueof;
 
         { insert "public static valueOf(string): tenumclass" that returns tenumclass(inherited valueOf(tenumclass,string)) }
@@ -417,7 +417,7 @@ implementation
             old_current_structdef:=current_structdef;
             current_structdef:=pvclass;
             if not str_parse_method_dec('constructor Create(__intf:'+pvintf.objextname^+');overload;',potype_constructor,false,pvclass,methoddef) then
-              internalerror(2011092401);
+              internalerror(2011092402);
             methoddef.synthetickind:=tsk_jvm_procvar_intconstr;
             methoddef.skpara:=def;
             current_structdef:=old_current_structdef;

+ 1 - 1
compiler/llvm/aasmllvm.pas

@@ -671,7 +671,7 @@ uses
                 2:
                   result:=oper[1]^.def;
                 else
-                  internalerror(2013110105);
+                  internalerror(2013110111);
               end;
             end;
           la_fence,

+ 5 - 5
compiler/llvm/agllvm.pas

@@ -307,7 +307,7 @@ implementation
             if ref.offset<>0 then
               result:=result+'offset='+tostr(ref.offset);
             result:=result+')**';
-            internalerror(2013060225);
+            internalerror(2013060203);
           end;
          if ref.base<>NR_NO then
            result:=result+getregisterstring(ref.base)
@@ -454,7 +454,7 @@ implementation
                else
                  getopstr:='null';
                if o.ref^.offset<>0 then
-                 internalerror(2013060223);
+                 internalerror(2013060202);
              end
            else
              getopstr:=getreferencestring(o.ref^,refwithalign);
@@ -883,7 +883,7 @@ implementation
               aitrealconst_s64comp:
                 writer.AsmWriteLn(asminfo^.comment+'value: '+extended2str(tai_realconst(hp).value.s64compval));
               else
-                internalerror(2014050604);
+                internalerror(2014050603);
             end;
             internalerror(2016120202);
           end;
@@ -960,7 +960,7 @@ implementation
 }
             end;
           else
-            internalerror(200704251);
+            internalerror(2007042504);
         end;
       end;
 
@@ -1378,7 +1378,7 @@ implementation
             begin
               { must only appear as an operand }
               if fdecllevel=0 then
-                internalerror(2019050110);
+                internalerror(2019050101);
               writer.AsmWrite('!');
               writer.AsmWrite(tai_llvmmetadatareferenceoperand(hp).id);
               writer.AsmWrite(' !');

+ 5 - 5
compiler/llvm/hlcgllvm.pas

@@ -270,7 +270,7 @@ implementation
             LOC_REFERENCE,LOC_CREFERENCE:
               begin
                  if assigned(location^.next) then
-                   internalerror(2010052906);
+                   internalerror(2010052901);
                  reference_reset_base(ref,cpointerdef.getreusable(size),location^.reference.index,location^.reference.offset,ctempposinvalid,newalignment(cgpara.alignment,cgpara.intsize-sizeleft),[]);
                  if (def_cgsize(size)<>OS_NO) and
                     (size.size=sizeleft) and
@@ -295,11 +295,11 @@ implementation
                    OS_NO:
                      a_loadmm_ref_reg(list,location^.def,location^.def,tmpref,location^.register,nil);
                    else
-                     internalerror(2010053101);
+                     internalerror(2010053105);
                  end;
               end
             else
-              internalerror(2010053111);
+              internalerror(2010053107);
           end;
           inc(totaloffset,tcgsize2size[location^.size]);
           dec(sizeleft,tcgsize2size[location^.size]);
@@ -685,7 +685,7 @@ implementation
     begin
       if (fromsize=llvm_metadatatype) or
          (tosize=llvm_metadatatype) then
-        internalerror(2019122802);
+        internalerror(2019122812);
       sref:=make_simple_ref(list,ref,tosize);
       hreg:=register;
       (* typecast the pointer to the value instead of the value itself if
@@ -758,7 +758,7 @@ implementation
     begin
       if (fromsize=llvm_metadatatype) or
          (tosize=llvm_metadatatype) then
-        internalerror(2019122801);
+        internalerror(2019122805);
       op:=llvmconvop(fromsize,tosize,true);
       { converting from pointer to something else and vice versa is only
         possible via an intermediate pass to integer. Same for "something else"

+ 1 - 1
compiler/llvm/llvmdef.pas

@@ -224,7 +224,7 @@ implementation
                   begin
                     { todo: update once we support vectors }
                     if not(toregtyp in [R_FPUREGISTER,R_MMREGISTER]) then
-                      internalerror(2014062203);
+                      internalerror(2014062202);
                     if tobytesize<frombytesize then
                       result:=la_fptrunc
                     else

+ 2 - 2
compiler/llvm/llvmpara.pas

@@ -75,7 +75,7 @@ unit llvmpara;
   procedure tllvmparamanager.getcgtempparaloc(list: TAsmList; pd: tabstractprocdef; nr: longint; var cgpara: tcgpara);
     begin
       if (nr<1) or (nr>pd.paras.count) then
-        InternalError(2015040401);
+        InternalError(2015040402);
       pd.init_paraloc_info(callerside);
       createtempparaloc(list,pd.proccalloption,tparavarsym(pd.paras[nr-1]),true,cgpara);
     end;
@@ -256,7 +256,7 @@ unit llvmpara;
           not(po_assembler in p.procoptions)) then
         begin
           if not(paraloc^.loc in [LOC_REGISTER,LOC_FPUREGISTER,LOC_MMREGISTER]) then
-            internalerror(2019011902);
+            internalerror(2019011901);
           reducetosingleregparaloc(paraloc,result.def,paraloc^.register);
         end;
     end;

+ 1 - 1
compiler/llvm/llvmpi.pas

@@ -408,7 +408,7 @@ implementation
       begin
         result:=TAsmLabel(fexceptlabelstack.last);
         if not assigned(result) then
-          internalerror(2016121703);
+          internalerror(2016121706);
       end;
 
 

+ 2 - 2
compiler/llvm/llvmtype.pas

@@ -685,9 +685,9 @@ implementation
                     dbg_state_written:
                       continue;
                     dbg_state_writing:
-                      internalerror(200610052);
+                      internalerror(2006100501);
                     dbg_state_unused:
-                      internalerror(200610053);
+                      internalerror(2006100505);
                     dbg_state_used:
                       appenddef(current_asmdata.asmlists[al_start],def)
                   else

+ 1 - 1
compiler/llvm/nllvmmem.pas

@@ -244,7 +244,7 @@ implementation
           exit;
         end;
       if (l>8*sizeof(aint)) then
-        internalerror(200608051);
+        internalerror(2006080502);
 
       { adjust the index by subtracting the lower bound of the array and adding
         any constant adjustments }

+ 1 - 1
compiler/llvm/nllvmtcon.pas

@@ -469,7 +469,7 @@ implementation
       if not assigned(ll.lab) then
         begin
           if ll.ofs<>0 then
-            internalerror(2015030701);
+            internalerror(2015030703);
           inherited;
           exit;
         end;

+ 7 - 7
compiler/m68k/cgcpu.pas

@@ -1194,7 +1194,7 @@ unit cgcpu;
           OP_DIV,
           OP_IDIV:
               begin
-                 internalerror(20020816);
+                 internalerror(2002081601);
               end;
           OP_MUL,
           OP_IMUL:
@@ -1294,7 +1294,7 @@ unit cgcpu;
                 move_if_needed(list, size, scratch_reg, reg);
               end;
         else
-            internalerror(20020729);
+            internalerror(2002072901);
          end;
       end;
 
@@ -1425,7 +1425,7 @@ unit cgcpu;
           OP_DIV,
           OP_IDIV :
               begin
-                internalerror(20020816);
+                internalerror(2002081602);
               end;
           OP_MUL,
           OP_IMUL:
@@ -1471,7 +1471,7 @@ unit cgcpu;
                 move_if_needed(list, size, hreg2, dst);
               end;
         else
-            internalerror(20020729);
+            internalerror(2002072902);
          end;
       end;
 
@@ -2212,7 +2212,7 @@ unit cgcpu;
               OS_16:
                 begin
                   if (isaddressregister(reg)) then
-                    internalerror(2015031502);
+                    internalerror(2015031503);
                   //list.concat(tai_comment.create(strpnew('zero extend word')));
                   list.concat(taicpu.op_const_reg(A_AND,S_L,$FFFF,reg));
                 end;
@@ -2577,10 +2577,10 @@ unit cgcpu;
           { this is handled in 1st pass for 32-bit cpus (helper call) }
           OP_IDIV,OP_DIV,
           OP_IMUL,OP_MUL:
-            internalerror(2002081701);
+            internalerror(2002081703);
           { this is also handled in 1st pass for 32-bit cpus (helper call) }
           OP_SAR,OP_SHL,OP_SHR:
-            internalerror(2002081702);
+            internalerror(2002081704);
           { these should have been handled already by earlier passes }
           OP_NOT,OP_NEG:
             internalerror(2012110403);

+ 1 - 1
compiler/m68k/cpupara.pas

@@ -699,7 +699,7 @@ unit cpupara;
               end;
           end
         else
-          internalerror(200410231);
+          internalerror(2004102304);
         create_funcretloc_info(p,side);
       end;
 

+ 1 - 1
compiler/m68k/n68kadd.pas

@@ -410,7 +410,7 @@ implementation
                 cgop:=OP_IMUL;
             end;
           else
-            internalerror(2013120104);
+            internalerror(2013120111);
         end;
 
         pass_left_right;

+ 1 - 1
compiler/m68k/n68kcal.pas

@@ -81,7 +81,7 @@ implementation
                   inc(pushedparasize,2); { kludge, trap code should be a hidden para instead... }
                 end
               else
-                internalerror(2016100301);
+                internalerror(2016100302);
             end;
           system_m68k_amiga:
             begin

+ 1 - 1
compiler/m68k/n68kmat.pas

@@ -218,7 +218,7 @@ implementation
                current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg(A_FNEG,fpuregopsize,left.location.register,location.register));
             end;
           else
-            internalerror(200306021);
+            internalerror(2003060202);
         end;
       end;
 

+ 1 - 1
compiler/m68k/n68kmem.pas

@@ -161,7 +161,7 @@ implementation
              exit;
            end;
          if (l > 8*sizeof(aint)) then
-           internalerror(200608051);
+           internalerror(2006080503);
          sref.ref := location.reference;
          hreg := cg.getintregister(current_asmdata.CurrAsmList,OS_ADDR);
          cg.a_op_const_reg_reg(current_asmdata.CurrAsmList,OP_SUB,OS_INT,tarraydef(left.resultdef).lowrange,maybe_const_reg,hreg);

+ 4 - 4
compiler/mips/aasmcpu.pas

@@ -453,11 +453,11 @@ end;
                 R_SUBFD :
                   result:=taicpu.op_reg_ref(A_LDC1,r,ref);
                 else
-                  internalerror(200401042);
+                  internalerror(2004010418);
               end;
             end
           else
-            internalerror(200401041);
+            internalerror(2004010408);
         end;
       end;
 
@@ -475,11 +475,11 @@ end;
                 R_SUBFD :
                   result:=taicpu.op_reg_ref(A_SDC1,r,ref);
                 else
-                  internalerror(200401042);
+                  internalerror(2004010419);
               end;
             end
           else
-            internalerror(200401041);
+            internalerror(2004010409);
         end;
       end;
 

+ 1 - 1
compiler/mips/cgcpu.pas

@@ -630,7 +630,7 @@ begin
   if (cs_create_pic in current_settings.moduleswitches) then
     begin
       if not (pi_needs_got in current_procinfo.flags) then
-        InternalError(2013060103);
+        InternalError(2013060104);
       { For PIC global symbols offset must be handled separately.
         Otherwise (non-PIC or local symbols) offset can be encoded
         into relocation even if exceeds 16 bits. }

+ 1 - 1
compiler/mips/cpuelf.pas

@@ -1069,7 +1069,7 @@ implementation
           else
             begin
               writeln(objsec.fullname,'+',objreloc.dataoffset,' ',objreloc.ftype);
-              internalerror(200604014);
+              internalerror(2006040106);
             end;
           end
         else           { not relocsec.Used }

+ 1 - 1
compiler/mips/cpugas.pas

@@ -177,7 +177,7 @@ unit cpugas;
             top_ref:
               getopstr := getreferencestring(ref^);
             else
-              internalerror(10001);
+              internalerror(2020100809);
           end;
       end;
 

+ 1 - 1
compiler/mips/hlcgcpu.pas

@@ -249,7 +249,7 @@ implementation
       list.concat(taicpu.op_reg_ref(A_LW,NR_VMT,href));
 
       if (procdef.extnumber=$ffff) then
-        Internalerror(200006139);
+        Internalerror(2000061303);
 
       { TODO: case of large VMT is not handled }
       { We have no reason not to use $t9 even in non-PIC mode. }

+ 1 - 1
compiler/mips/ncpucnv.pas

@@ -185,7 +185,7 @@ begin
         end;
       end;
       else
-        internalerror(200410031);
+        internalerror(2004100306);
     end;
   end;
 end;

+ 1 - 1
compiler/mips/ncpuinln.pas

@@ -102,7 +102,7 @@ begin
     s64real:
       current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg(A_ABS_d, location.Register, left.location.Register));
     else
-      internalerror(200410031);
+      internalerror(2004100305);
   end;
 end;
 

+ 3 - 3
compiler/mips/racpugas.pas

@@ -251,7 +251,7 @@ Interface
                   OPR_LOCAL:
                     inc(oper.opr.localsymofs,l);
                 else
-                  InternalError(12345);
+                  InternalError(2020100817);
                 end;
                 GotPlus:=(prevasmtoken=AS_PLUS) or
                          (prevasmtoken=AS_MINUS);
@@ -291,7 +291,7 @@ Interface
                   OPR_REFERENCE :
                     inc(oper.opr.ref.offset,l);
                   else
-                    internalerror(200309202);
+                    internalerror(2003092006);
                 end;
                 Consume(AS_RPAREN);
                 gotplus:=false;
@@ -380,7 +380,7 @@ Interface
                          OPR_REFERENCE :
                            inc(oper.opr.ref.offset,l);
                          else
-                           internalerror(200309202);
+                           internalerror(2003092007);
                        end;
                      end
                  end;

+ 11 - 2
compiler/msg/errore.msg

@@ -1075,8 +1075,9 @@ parser_e_paraloc_only_one_para=03197_E_Each argument must have its own location
 parser_e_paraloc_all_paras=03198_E_Each argument must have an explicit location
 % If one argument has an explicit argument location, all arguments of a procedure
 % must have one.
-parser_e_illegal_explicit_paraloc=03199_E_Unknown argument location
-% The location specified for an argument isn't recognized by the compiler.
+parser_e_illegal_explicit_paraloc=03199_E_Invalid explicit parameter location specified
+% Syscalls specific: the specified explicit location string for this parameter cannot be parsed, invalid,
+% or The location specified for an argument isn't recognized by the compiler.
 parser_e_32bitint_or_pointer_variable_expected=03200_E_32 Bit-Integer or pointer variable expected
 % The libbase for MorphOS/AmigaOS can be given only as \var{longint}, \var{dword} or any pointer variable.
 parser_e_goto_outside_proc=03201_E_Goto statements are not allowed between different procedures
@@ -1612,6 +1613,14 @@ parser_e_method_for_type_in_other_unit=03354_E_Implementing a method for type "$
 parser_e_generic_constraints_not_allowed_here=03355_E_Generic constraint not allowed here
 % At the current location specifying a constraint is not allowed. For example
 % in delphi mode, a constraint might not be specified in the header of the implementation.
+parser_e_location_size_too_small=03356_E_Explicit location is too small for parameter
+% AmigaOS/MorphOS syscall specific: for int64/qword parameter only a single register location is specified
+parser_e_location_size_too_large=03357_E_Explicit location size is larger than required by parameter
+% AmigaOS/MorphOS syscall specific: for a parameter which is smaller than 64bit, a register pair is specified
+parser_e_location_regpair_only_data=03358_E_Only data registers are supported for explicit location register pairs
+% AmigaOS/MorphOS syscall specific: for 64bit register pairs, only data registers are supported
+parser_e_location_regpair_only_consecutive=03359_E_Only consecutive registers are supported for explicit location register pairs
+% MorphOS syscall specific: only consecutive (f.e.: d1-d2) registers are supported for 64bit register pairs
 %
 % \end{description}
 %

+ 6 - 2
compiler/msgidx.inc

@@ -466,6 +466,10 @@ const
   parser_w_enumeration_out_of_range=03353;
   parser_e_method_for_type_in_other_unit=03354;
   parser_e_generic_constraints_not_allowed_here=03355;
+  parser_e_location_size_too_small=03356;
+  parser_e_location_size_too_large=03357;
+  parser_e_location_regpair_only_data=03358;
+  parser_e_location_regpair_only_consecutive=03359;
   type_e_mismatch=04000;
   type_e_incompatible_types=04001;
   type_e_not_equal_types=04002;
@@ -1127,9 +1131,9 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 85795;
+  MsgTxtSize = 86101;
 
   MsgIdxMax : array[1..20] of longint=(
-    28,106,356,130,99,63,143,36,223,68,
+    28,106,360,130,99,63,143,36,223,68,
     62,20,30,1,1,1,1,1,1,1
   );

File diff suppressed because it is too large
+ 453 - 442
compiler/msgtxt.inc


+ 1 - 1
compiler/nadd.pas

@@ -2891,7 +2891,7 @@ implementation
                     { find proc field in methodpointer record }
                     hsym:=tfieldvarsym(trecorddef(methodpointertype).symtable.Find('proc'));
                     if not assigned(hsym) then
-                      internalerror(200412043);
+                      internalerror(2004120405);
                     { Compare tmehodpointer(left).proc }
                     right:=csubscriptnode.create(
                                  hsym,

+ 1 - 1
compiler/nbas.pas

@@ -1666,7 +1666,7 @@ implementation
       begin
         temp:=ttempcreatenode(nodeppuidxget(tempidx));
         if temp.nodetype<>tempcreaten then
-          internalerror(200311075);
+          internalerror(2003110701);
         tempinfo:=temp.tempinfo;
       end;
 

+ 2 - 2
compiler/ncgadd.pas

@@ -210,7 +210,7 @@ interface
             equaln:   result:=OC_EQ;
             unequaln: result:=OC_NE;
           else
-            internalerror(2011010412);
+            internalerror(2011010403);
           end
       end;
 
@@ -607,7 +607,7 @@ interface
                 end;
             end;
           else
-            internalerror(2002072803);
+            internalerror(2002072804);
         end;
 {$endif cpu64bitalu or cpuhighleveltarget}
 

+ 1 - 1
compiler/ncgcal.pas

@@ -504,7 +504,7 @@ implementation
           else
             begin
               reference_reset(tmpref,0,[]);
-              internalerror(2016090202);
+              internalerror(2016090205);
             end;
         end;
       end;

+ 1 - 1
compiler/ncgcon.pas

@@ -312,7 +312,7 @@ implementation
                                { because we hardcode the offset below due to it
                                  not being stored in the hashset, check here }
                                if lastlabel.ofs<>datatcb.get_string_symofs(tstringdef(resultdef).stringtype,winlikewidestring) then
-                                 internalerror(2012051704);
+                                 internalerror(2012051702);
                              end;
                            { no contents of the datatcb itself to concatenate,
                              as we will just return the address of the emitted

+ 12 - 12
compiler/ncginl.pas

@@ -425,7 +425,7 @@ implementation
                    addvalue:=tpointerdef(tcallparanode(left).left.resultdef).pointeddef.size;
                end;
            else
-               internalerror(10081);
+               internalerror(2020100814);
           end;
           { second_ argument specified?, must be a s32bit in register }
           if assigned(tcallparanode(left).right) then
@@ -678,27 +678,27 @@ implementation
 }
     procedure tcginlinenode.second_pi;
       begin
-        internalerror(20020718);
+        internalerror(2002071801);
       end;
 
     procedure tcginlinenode.second_arctan_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071802);
       end;
 
     procedure tcginlinenode.second_abs_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071803);
       end;
 
     procedure tcginlinenode.second_round_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071804);
       end;
 
     procedure tcginlinenode.second_trunc_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071805);
       end;
 
     procedure tcginlinenode.second_int_real;
@@ -708,27 +708,27 @@ implementation
 
     procedure tcginlinenode.second_sqr_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071806);
       end;
 
     procedure tcginlinenode.second_sqrt_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071807);
       end;
 
     procedure tcginlinenode.second_ln_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071808);
       end;
 
     procedure tcginlinenode.second_cos_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071809);
       end;
 
     procedure tcginlinenode.second_sin_real;
       begin
-        internalerror(20020718);
+        internalerror(2002071810);
       end;
 
 
@@ -966,7 +966,7 @@ implementation
 
     procedure tcginlinenode.second_popcnt;
       begin
-        internalerror(2012082601);
+        internalerror(2012082602);
       end;
 
 

+ 2 - 2
compiler/ncnv.pas

@@ -1184,7 +1184,7 @@ implementation
         with tarraydef(resultdef) do
           begin
             if highrange<lowrange then
-             internalerror(200501051);
+             internalerror(2005010502);
             arrsize := highrange-lowrange+1;
           end;
         if (left.nodetype = stringconstn) and
@@ -2042,7 +2042,7 @@ implementation
           begin
             { arr[i] := param_i }
             if not assigned(elemnode.left) then
-              internalerror(2017050101);
+              internalerror(2017050103);
             addstatement(assstatement,
               cassignmentnode.create(
                 cvecnode.create(

+ 1 - 1
compiler/ngenutil.pas

@@ -197,7 +197,7 @@ implementation
                   nil));
             end
           else
-            internalerror(200305108);
+            internalerror(2003051002);
         end
       else
         if is_object(current_structdef) then

+ 3 - 3
compiler/ngtcon.pas

@@ -1321,7 +1321,7 @@ function get_next_varsym(def: tabstractrecorddef; const SymList:TFPHashObjectLis
                       begin
                         inserttypeconv(n,cunicodestringtype);
                         if n.nodetype<>stringconstn then
-                          internalerror(2010033003);
+                          internalerror(2010033009);
                         ca:=pointer(pcompilerwidestring(tstringconstnode(n).value_str)^.data)
                       end;
                     else
@@ -1357,13 +1357,13 @@ function get_next_varsym(def: tabstractrecorddef; const SymList:TFPHashObjectLis
                       begin
                         inserttypeconv(n,cansichartype);
                         if not is_constcharnode(n) then
-                          internalerror(2010033001);
+                          internalerror(2010033006);
                         ch[0]:=chr(tordconstnode(n).value.uvalue and $ff);
                       end;
                     2:
                       widechar(ch):=widechar(tordconstnode(n).value.uvalue and $ffff);
                     else
-                      internalerror(2010033002);
+                      internalerror(2010033008);
                   end;
                   ca:=@ch;
                   len:=1;

Some files were not shown because too many files changed in this diff