diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-01-21 23:28:34 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-01-21 23:28:34 +0000 |
commit | 1903b037de2fb3e75826406b46f055acb70963fa (patch) | |
tree | 604cd8b790fe14e5fbe441d4cd647c80d2a36a9a /rtl/java | |
parent | ad1141d52f8353457053b925cd674fe1d5c4eafc (diff) | |
parent | 953d907e4d6c3a5c2f8aaee6e5e4f73c55ce5985 (diff) | |
download | fpc-blocks.tar.gz |
* synchronised with trunk till r29513blocks
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/blocks@29516 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/java')
-rw-r--r-- | rtl/java/Makefile | 45 | ||||
-rw-r--r-- | rtl/java/Makefile.fpc | 8 | ||||
-rw-r--r-- | rtl/java/jcompproc.inc | 2 | ||||
-rw-r--r-- | rtl/java/jsstrings.inc | 2 | ||||
-rw-r--r-- | rtl/java/jsystem.inc | 48 | ||||
-rw-r--r-- | rtl/java/jsystemh.inc | 16 | ||||
-rw-r--r-- | rtl/java/jsystemh_types.inc | 5 | ||||
-rw-r--r-- | rtl/java/justrings.inc | 2 |
8 files changed, 90 insertions, 38 deletions
diff --git a/rtl/java/Makefile b/rtl/java/Makefile index 50dc34d176..7600da224f 100644 --- a/rtl/java/Makefile +++ b/rtl/java/Makefile @@ -1,9 +1,9 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-04-01 rev 27428] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-12-07 rev 29213] # default: all -MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos -BSDs = freebsd netbsd openbsd darwin +MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos +BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos OSNeedsComspecToRunBatch = go32v2 watcom @@ -413,6 +413,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas jdk15 endif +ifeq ($(FULL_TARGET),i386-aros) +override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas jdk15 +endif ifeq ($(FULL_TARGET),m68k-linux) override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas jdk15 endif @@ -500,6 +503,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas jdk15 endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas jdk15 +endif ifeq ($(FULL_TARGET),arm-linux) override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas jdk15 endif @@ -639,6 +645,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) endif +ifeq ($(FULL_TARGET),i386-aros) +override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) +endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) endif @@ -726,6 +735,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) +endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) endif @@ -864,6 +876,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH) endif +ifeq ($(FULL_TARGET),i386-aros) +override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH) +endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH) endif @@ -951,6 +966,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH) endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH) +endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH) endif @@ -1262,6 +1280,12 @@ EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif +ifeq ($(OS_TARGET),dragonfly) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=df +endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= @@ -1307,6 +1331,11 @@ EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=amg endif +ifeq ($(OS_TARGET),aros) +EXEEXT= +SHAREDLIBEXT=.library +SHORTSUFFIX=aros +endif ifeq ($(OS_TARGET),morphos) EXEEXT= SHAREDLIBEXT=.library @@ -1771,7 +1800,7 @@ endif ifdef CREATESHARED override FPCOPT+=-Cg endif -ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),) +ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),) ifeq ($(CPU_TARGET),x86_64) override FPCOPT+=-Cg endif @@ -2197,13 +2226,15 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) $(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(REDIR) -uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp -objpas$(PPUEXT): objpas.pp +uuchar$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp + $(COMPILER) $(INC)/uuchar.pp $(REDIR) +objpas$(PPUEXT) : objpas.pp $(COMPILER) objpas.pp $(REDIR) strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \ $(SYSTEMUNIT)$(PPUEXT) -jdk15$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) jdk15.inc jdk15.pas + $(COMPILER) $(INC)/strings.pp $(REDIR) +jdk15$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) jdk15.inc jdk15.pas dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \ $(SYSTEMUNIT)$(PPUEXT) objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/java/Makefile.fpc b/rtl/java/Makefile.fpc index 41793cf44b..c561fe0f2f 100644 --- a/rtl/java/Makefile.fpc +++ b/rtl/java/Makefile.fpc @@ -84,16 +84,18 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) $(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(REDIR) -uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp +uuchar$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp + $(COMPILER) $(INC)/uuchar.pp $(REDIR) -objpas$(PPUEXT): objpas.pp +objpas$(PPUEXT) : objpas.pp $(COMPILER) objpas.pp $(REDIR) strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \ $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $(INC)/strings.pp $(REDIR) -jdk15$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) jdk15.inc jdk15.pas +jdk15$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) jdk15.inc jdk15.pas # # System Dependent Units diff --git a/rtl/java/jcompproc.inc b/rtl/java/jcompproc.inc index a2114883b3..0c4e31afb5 100644 --- a/rtl/java/jcompproc.inc +++ b/rtl/java/jcompproc.inc @@ -531,7 +531,7 @@ function fpc_variant_to_idispatch(const v : variant) : idispatch;compilerproc; function fpc_idispatch_to_variant(const i : idispatch) : variant;compilerproc; procedure fpc_vararray_get(var d : variant;const s : variant;indices : plongint;len : sizeint);compilerproc; procedure fpc_vararray_put(var d : variant;const s : variant;indices : plongint;len : sizeint);compilerproc; -procedure fpc_dispinvoke_variant(dest : pvardata;const source : tvardata; calldesc : pcalldesc;params : pointer);compilerproc; +procedure fpc_dispinvoke_variant(dest : pvardata;var source : tvardata; calldesc : pcalldesc;params : pointer);compilerproc; {$endif FPC_HAS_FEATURE_VARIANTS} {$ifdef FPC_HAS_FEATURE_TEXTIO} diff --git a/rtl/java/jsstrings.inc b/rtl/java/jsstrings.inc index d35fb84a0f..79b2d7b10f 100644 --- a/rtl/java/jsstrings.inc +++ b/rtl/java/jsstrings.inc @@ -363,7 +363,7 @@ Function int_Val_SInt_ShortStr(DestSize: SizeInt; Const S: ShortString; out Code {$define FPC_HAS_SETSTRING_SHORTSTR} -Procedure SetString (Out S : Shortstring; Buf : PChar; Len : SizeInt); +Procedure fpc_setstring_shortstr(Out S : Shortstring; Buf : PChar; Len : SizeInt); compilerproc; begin If Len > High(S) then Len := High(S); diff --git a/rtl/java/jsystem.inc b/rtl/java/jsystem.inc index f4b4fd57c7..ec7df434fa 100644 --- a/rtl/java/jsystem.inc +++ b/rtl/java/jsystem.inc @@ -67,20 +67,6 @@ Const Local types ****************************************************************************} -{ - TextRec and FileRec are put in a separate file to make it available to other - units without putting it explicitly in systemh. - This way we keep TP compatibility, and the TextRec definition is available - for everyone who needs it. -} -{$ifdef FPC_HAS_FEATURE_FILEIO} -{$i filerec.inc} -{$endif FPC_HAS_FEATURE_FILEIO} - -{$ifndef CPUJVM} -{$i textrec.inc} -{$endif CPUJVM} - {$ifdef FPC_HAS_FEATURE_EXITCODE} {$ifdef FPC_OBJFPC_EXTENDED_IF} {$if High(errorcode)<>maxExitCode} @@ -108,7 +94,7 @@ const (* { For Error Handling.} - ErrorBase : Pointer = nil; public name 'FPC_ERRORBASE'; + ErrorBase : Pointer = nil;public name 'FPC_ERRORBASE'; *) {$ifndef cpujvm} @@ -382,22 +368,22 @@ End; Function Swap (X : Longint) : Longint;{$ifdef SYSTEMINLINE}inline;{$endif} Begin - Swap:=(X and $ffff) shl 16 + (X shr 16) + Swap:=(X shl 16) + (X shr 16); End; //Function Swap (X : Cardinal) : Cardinal;{$ifdef SYSTEMINLINE}inline;{$endif} //Begin -// Swap:=(X and $ffff) shl 16 + (X shr 16) +// Swap:=(X shl 16) + (X shr 16); //End; //Function Swap (X : QWord) : QWord;{$ifdef SYSTEMINLINE}inline;{$endif} //Begin -// Swap:=(X and $ffffffff) shl 32 + (X shr 32); +// Swap:=(X shl 32) + (X shr 32); //End; -Function swap (X : Int64) : Int64;{$ifdef SYSTEMINLINE}inline;{$endif} +Function Swap (X : Int64) : Int64;{$ifdef SYSTEMINLINE}inline;{$endif} Begin - Swap:=(X and $ffffffff) shl 32 + (X shr 32); + Swap:=(X shl 32) + (X shr 32); End; {$ifdef SUPPORT_DOUBLE} @@ -1576,6 +1562,7 @@ begin end; +{$ifdef FPC_HAS_FEATURE_ANSISTRINGS} procedure DoDirSeparators(var ps:RawByteString); var i : longint; @@ -1595,7 +1582,10 @@ begin p[i-1]:=DirectorySeparator; end; end; +{$endif FPC_HAS_FEATURE_ANSISTRINGS} + +{$ifdef FPC_HAS_FEATURE_UNICODESTRINGS} procedure DoDirSeparators(var ps:UnicodeString); var i : longint; @@ -1615,6 +1605,7 @@ begin p[i-1]:=DirectorySeparator; end; end; +{$endif FPC_HAS_FEATURE_UNICODESTRINGS} {$endif FPC_HAS_FEATURE_FILEIO} @@ -1699,10 +1690,23 @@ end; {$endif FPC_HAS_FEATURE_FILEIO} +(* already declared earlier in system.pp for java + +{ helper for targets supporting no ansistrings, it is used + by non-ansistring code } +function min(v1,v2 : SizeInt) : SizeInt; + begin + if v1<v2 then + result:=v1 + else + result:=v2; + end; +*) + +{$ifdef FPC_HAS_FEATURE_TEXTIO} { Text file } -{$ifndef CPUJVM} {$i text.inc} -{$endif CPUJVM} +{$endif FPC_HAS_FEATURE_TEXTIO} {$ifdef FPC_HAS_FEATURE_FILEIO} { Untyped file } diff --git a/rtl/java/jsystemh.inc b/rtl/java/jsystemh.inc index 7950369f92..af0776f196 100644 --- a/rtl/java/jsystemh.inc +++ b/rtl/java/jsystemh.inc @@ -175,7 +175,12 @@ Function abs(l:longint):longint;[internproc:fpc_in_abs_long]; {$else FPC_HAS_INTERNAL_ABS_LONG} Function abs(l:Longint):Longint;[internconst:fpc_in_const_abs];{$ifdef SYSTEMINLINE}inline;{$endif} {$endif FPC_HAS_INTERNAL_ABS_LONG} +{$ifdef FPC_HAS_INTERNAL_ABS_INT64} +{$define FPC_SYSTEM_HAS_ABS_INT64} +Function abs(l:Int64):Int64;[internproc:fpc_in_abs_long]; +{$else FPC_HAS_INTERNAL_ABS_INT64} Function abs(l:Int64):Int64;[internconst:fpc_in_const_abs];{$ifdef SYSTEMINLINE}inline;{$endif} +{$endif FPC_HAS_INTERNAL_ABS_INT64} Function sqr(l:Longint):Longint;[internconst:fpc_in_const_sqr];{$ifdef SYSTEMINLINE}inline;{$endif} Function sqr(l:Int64):Int64;[internconst:fpc_in_const_sqr];{$ifdef SYSTEMINLINE}inline;{$endif} Function sqr(l:QWord):QWord;[internconst:fpc_in_const_sqr]; external; @@ -451,10 +456,16 @@ Function Pos(const substr:shortstring;const s:shortstring):SizeInt; Function Pos(C:Char;const s:shortstring):SizeInt; {$ifdef FPC_HAS_FEATURE_ANSISTRINGS} Function Pos(const Substr : ShortString; const Source : RawByteString) : SizeInt; + +{$ifdef FPC_HAS_CPSTRING} +Procedure fpc_setstring_ansistr_pansichar(out S : RawByteString; Buf : PAnsiChar; Len : SizeInt; cp: TSystemCodePage); rtlproc; compilerproc; +Procedure fpc_setstring_ansistr_pwidechar(out S : RawByteString; Buf : PWideChar; Len : SizeInt; cp: TSystemCodePage); rtlproc; compilerproc; +{$else} Procedure SetString(out S : AnsiString; Buf : PAnsiChar; Len : SizeInt); Procedure SetString(out S : AnsiString; Buf : PWideChar; Len : SizeInt); +{$endif} {$endif FPC_HAS_FEATURE_ANSISTRINGS} -Procedure SetString (out S : Shortstring; Buf : PChar; Len : SizeInt); +Procedure {$ifdef FPC_HAS_CPSTRING}fpc_setstring_shortstr{$else}SetString{$endif}(out S : Shortstring; Buf : PChar; Len : SizeInt); {$ifdef FPC_HAS_CPSTRING} compilerproc; {$endif FPC_HAS_CPSTRING} function ShortCompareText(const S1, S2: shortstring): SizeInt; Function upCase(const s:shortstring):shortstring; Function lowerCase(const s:shortstring):shortstring; overload; @@ -471,6 +482,7 @@ Function binStr(Val:qword;cnt:byte):shortstring; {$ifdef cpujvm}external;{$endi {$ifdef CPUI8086} Function hexStr(Val:NearPointer):shortstring; Function hexStr(Val:FarPointer):shortstring; +Function hexStr(Val:HugePointer):shortstring;{$ifdef SYSTEMINLINE}inline;{$endif} {$else CPUI8086} Function hexStr(Val:Pointer):shortstring; {$endif CPUI8086} @@ -758,7 +770,7 @@ Function ParamStr(l:Longint):string; {$endif FPC_HAS_FEATURE_COMMANDARGS} {$ifndef JVM} -Procedure Dump_Stack(var f : text;bp:pointer;addr : pointer = nil); +Procedure Dump_Stack(var f : text;fp:pointer;addr : codepointer = nil); {$ifdef FPC_HAS_FEATURE_EXCEPTIONS} procedure DumpExceptionBackTrace(var f:text); {$endif FPC_HAS_FEATURE_EXCEPTIONS} diff --git a/rtl/java/jsystemh_types.inc b/rtl/java/jsystemh_types.inc index 4320b9ecfb..78595a2458 100644 --- a/rtl/java/jsystemh_types.inc +++ b/rtl/java/jsystemh_types.inc @@ -507,7 +507,8 @@ Type { the size of textrec/filerec is hardcoded in the 2.6 compiler binary } {$define FPC_ANSI_TEXTFILEREC} {$endif} - TFileTextRecChar = {$ifdef FPC_ANSI_TEXTFILEREC}AnsiChar{$else}UnicodeChar{$endif}; + + TFileTextRecChar = {$if defined(FPC_ANSI_TEXTFILEREC) or not(defined(FPC_HAS_FEATURE_WIDESTRINGS))}AnsiChar{$else}UnicodeChar{$endif}; PFileTextRecChar = ^TFileTextRecChar; TTextLineBreakStyle = (tlbsLF,tlbsCRLF,tlbsCR); @@ -703,6 +704,8 @@ Var { Stack checking } StackBottom : Pointer; StackLength : SizeUInt; + +function StackTop: Pointer; *) { Numbers for routines that have compiler magic } diff --git a/rtl/java/justrings.inc b/rtl/java/justrings.inc index 1c1b3b6903..e3f3ff1c4a 100644 --- a/rtl/java/justrings.inc +++ b/rtl/java/justrings.inc @@ -760,7 +760,7 @@ end; {$define FPC_HAS_SETSTRING_UNICODESTR_PUNICODECHAR} -Procedure SetString (Out S : UnicodeString; Buf : PUnicodeChar; Len : SizeInt); +Procedure fpc_setstring_unicodestr_pwidechar(Out S : UnicodeString; Buf : PUnicodeChar; Len : SizeInt); compilerproc; begin if assigned(buf) and (Len>0) then s:=JLString.Create(TJCharArray(Buf),0,Len) |