<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d9fc3c67b104e98c18fdc8cd75640c0a1f3d2594">https://github.com/macports/macports-ports/commit/d9fc3c67b104e98c18fdc8cd75640c0a1f3d2594</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new d9fc3c67b10 fpc: bump to 3.2.0
</span>d9fc3c67b10 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit d9fc3c67b104e98c18fdc8cd75640c0a1f3d2594
</span>Author: Ken Cunningham <ken.cunningham.webuse@gmail.com>
AuthorDate: Tue Aug 11 09:04:54 2020 -0700
<span style='display:block; white-space:pre;color:#404040;'> fpc: bump to 3.2.0
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> old patchfiles not needed
</span><span style='display:block; white-space:pre;color:#404040;'> new bootstrap compiler in new location
</span>---
lang/fpc/Portfile | 35 +--
lang/fpc/files/fpc.cfg.patch | 9 -
lang/fpc/files/patch-iso-tmp.diff | 346 -------------------------
lang/fpc/files/patch-transparent-filename.diff | 93 -------
4 files changed, 18 insertions(+), 465 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fpc/Portfile b/lang/fpc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7930a576487..6cce6158038 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fpc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fpc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,7 +3,7 @@
</span> PortSystem 1.0
name fpc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 3.0.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 3.2.0
</span> categories lang
platforms darwin
license GPL-2 LGPL-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,25 +15,29 @@ long_description Free Pascal is a 32, 64 and 16 bit professional Pascal compi
</span> Supported operating systems include Linux, FreeBSD, Mac OS X/iOS/iPhoneSimulator/Darwin, \
Win32, Win64, WinCE and Android.
homepage http://www.freepascal.org
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites sourceforge:freepascal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites sourceforge:freepascal:main \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://ftp.freepascal.org/pub/fpc/dist/3.0.4/bootstrap/:bootstrap
</span>
set src ${name}build-${version}.tar.gz
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# the 3.0.0 bootstrap compiler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set pp x86_64-macosx-10.7-ppcx64.tar.bz2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles ${src} ${pp}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the 3.0.4 bootstrap compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pp x86_64-macosx-10.9-ppcx64.tar.bz2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles ${src}:main ${pp}:bootstrap
</span> checksums ${src} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 f9414fe72342cff4317029f3a83a90e8dc710389 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 f66514e6f2c2e4e1bccccb4d554c24b77682ed61c87811ae5dd210f421855e76 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 68908523 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 c8d56acb409a6d5c186b0aaed38dc02dfa3bcb69 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 f9b914eace989a023fb953da203dc0d973b44487568b4138c7d5b9613d7d6838 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 80698915 \
</span> ${pp} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 25fb3c2eb9fa364ee56a5f3c2667151143f39777 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 a67ef5def356d122a4692e21b209c328f6d46deef4539f4d4506c3dc1eecb4b0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 1095556
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 7c5327aa6f4fd8616d78bc4f708463b9fb3e8844 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 0515ad4251c51fa7e5c0ff9b1d90ea50f41530b56276cc72b73798fae437b3b4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1556308
</span> supported_archs x86_64
# doesn't install shared libraries
installs_libs no
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# parallel building is unreliable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> extract.only ${src}
use_configure no
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,7 +46,7 @@ universal_variant no
</span> set fpcbasepath ${prefix}/libexec/${name}
subport "chmcmd-${name}" {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span>
description The FPC Pascal htmlhelp (CHM) compiler
long_description \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -79,7 +83,7 @@ subport "chmcmd-${name}" {
</span> }
subport "${name}-cross" {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span>
description FreePascal common cross-compiler binaries
long_description \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -112,7 +116,7 @@ subport "${name}-cross" {
</span> }
if {${subport} eq "${name}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span>
installs_libs yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -121,9 +125,6 @@ if {${subport} eq "${name}"} {
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Fix filename issues in iso mode. Should be resolved in version 3.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles patch-transparent-filename.diff patch-iso-tmp.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-patch {
# adjust the path "codfilepath" for plex from /usr/local to MacPort's prefix.
reinplace "s|/usr/local|${prefix}|g" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fpc/files/fpc.cfg.patch b/lang/fpc/files/fpc.cfg.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index b9da5f9aaa5..8b8f779af52 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fpc/files/fpc.cfg.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fpc/files/fpc.cfg.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +1,5 @@
</span> --- etc/fpc.cfg 2019-06-14 15:54:16.000000000 +0200
+++ fpc.cfg-new 2019-08-17 10:54:57.000000000 +0200
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -247,7 +247,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #-k-s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Always strip debuginfo from the executable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---Xs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-Xs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Always use smartlinking on i8086, because the system unit exceeds the 64kb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # code limit
</span> @@ -256,6 +256,12 @@
-XX
#endif
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fpc/files/patch-iso-tmp.diff b/lang/fpc/files/patch-iso-tmp.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 918300c0614..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fpc/files/patch-iso-tmp.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,346 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur rtl/inc/iso7185.pp rtl-new/inc/iso7185.pp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- rtl/inc/iso7185.pp 2017-02-17 19:04:47.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ rtl-new/inc/iso7185.pp 2017-02-18 10:38:58.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -47,13 +47,160 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- implementation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$IF defined(WINDOWS)}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ isoLPWStr = PWideChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ isoWinBool = LongBool;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TSysCharSet = set of AnsiChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function GetEnvironmentStringsW: isoLPWStr; stdcall; external 'kernel32' name 'GetEnvironmentStringsW';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function FreeEnvironmentStringsW(_para1 : isoLPWStr): isoWinBool; stdcall; external 'kernel32' name 'FreeEnvironmentStringsW';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function StrLen(p : PWideChar): sizeint; external name 'FPC_PWIDECHAR_LENGTH'; overload;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$push}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$checkpointer off}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function CharInSet(Ch : WideChar; const CSet : TSysCharSet): Boolean;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CharInSet := (Ch <= #$FF) and (AnsiChar(byte(Ch)) in CSet);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function InternalChangeCase(const S : UnicodeString; const Chars: TSysCharSet; const Adjustment: Longint): UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i : Integer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p : PWideChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unique : Boolean;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ InternalChangeCase := S;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if InternalChangeCase = '' then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unique := false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p := PWideChar(InternalChangeCase);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for i := 1 to Length(InternalChangeCase) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if CharInSet(p^, Chars) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if not unique then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UniqueString(InternalChangeCase);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p := @InternalChangeCase[i];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unique := true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p^ := WideChar(Ord(p^) + Adjustment);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function UpperCase(const s : UnicodeString) : UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UpperCase := InternalChangeCase(s, ['a'..'z'], -32);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function GetEnvironmentVariable(const EnvVar : UnicodeString) : UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ s, upperenv : UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i : Longint;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ hp, p : PWideChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ GetEnvironmentVariable := '';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p := GetEnvironmentStringsW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ hp := p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ upperenv := uppercase(envvar);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while hp^ <> #0 do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ s := hp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i := pos('=', s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if uppercase(copy(s,1,i-1)) = upperenv then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ GetEnvironmentVariable := copy(s, i+1, length(s)-i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { next string entry }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ hp := hp + strlen(hp) + 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FreeEnvironmentStringsW(p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function getTempDir: String;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ astringLength : Integer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := GetEnvironmentVariable('TMP');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if getTempDir = '' then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := GetEnvironmentVariable('TEMP');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ astringlength := Length(getTempDir);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (astringlength > 0) and (getTempDir[astringlength] <> DirectorySeparator) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := getTempDir + DirectorySeparator;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$pop}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ELSEIF defined(UNIX)}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function getTempDir: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ key: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_env, i_key, i_value: integer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value := '/tmp/'; (** default for UNIX **)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (envp <> NIL) and assigned(envp^) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_env := 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_key := 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while not (envp^[i_env] in ['=', #0]) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ key[i_key] := envp^[i_env];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_env);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_key);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ setlength(key, i_key - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (key = 'TEMP') or (key = 'TMP') or (key = 'TMPDIR') then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_env); (** skip '=' **)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_value := 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (envp^[i_env] <> #0) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value[i_value] := envp^[i_env];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_env);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ setlength(value, i_value - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(envp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_value:=length(value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (i_value > 0) and (value[i_value] <> DirectorySeparator) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value := value + DirectorySeparator;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := value;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ELSE} // neither unix nor windows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function getTempDir: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir:='';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ENDIF}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {$i-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- procedure DoAssign(var t : Text);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ifndef FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ NextIndex : Word = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$endif FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Assign(t,'fpc_'+HexStr(random(1000000000),8)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ifdef FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Assign(t,getTempDir+'fpc_'+HexStr(random(1000000000),8)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$else FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Assign(t,getTempDir+'fpc_'+HexStr(NextIndex,4)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Inc(NextIndex);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$endif FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure Rewrite(var t : Text);[IOCheck];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { create file name? }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -172,7 +319,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { we shouldn't do this because it might confuse user programs, but for now it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is good enough to get pretty unique tmp file names }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ifdef FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Randomize;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$endif FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { reset opens with read-only }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Filemode:=0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur rtl/inc/typefile.inc rtl-new/inc/typefile.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- rtl/inc/typefile.inc 2017-02-18 10:41:19.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ rtl-new/inc/typefile.inc 2017-02-18 10:48:32.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -68,12 +68,151 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Rewrite(UnTypedFile(f),Size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- End;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ this code is duplicated in the iso7185 unit }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$IF defined(WINDOWS)}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ isoLPWStr = PWideChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ isoWinBool = LongBool;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TSysCharSet = set of AnsiChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function GetEnvironmentStringsW: isoLPWStr; stdcall; external 'kernel32' name 'GetEnvironmentStringsW';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function FreeEnvironmentStringsW(_para1 : isoLPWStr): isoWinBool; stdcall; external 'kernel32' name 'FreeEnvironmentStringsW';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function StrLen(p : PWideChar): sizeint; external name 'FPC_PWIDECHAR_LENGTH'; overload;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$push}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$checkpointer off}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function CharInSet(Ch : WideChar; const CSet : TSysCharSet): Boolean;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CharInSet := (Ch <= #$FF) and (AnsiChar(byte(Ch)) in CSet);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function InternalChangeCase(const S : UnicodeString; const Chars: TSysCharSet; const Adjustment: Longint): UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i : Integer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p : PWideChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unique : Boolean;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ InternalChangeCase := S;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if InternalChangeCase = '' then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unique := false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p := PWideChar(InternalChangeCase);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for i := 1 to Length(InternalChangeCase) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if CharInSet(p^, Chars) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if not unique then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UniqueString(InternalChangeCase);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p := @InternalChangeCase[i];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unique := true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p^ := WideChar(Ord(p^) + Adjustment);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function UpperCase(const s : UnicodeString) : UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UpperCase := InternalChangeCase(s, ['a'..'z'], -32);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function GetEnvironmentVariable(const EnvVar : UnicodeString) : UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ s, upperenv : UnicodeString;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i : Longint;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ hp, p : PWideChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ GetEnvironmentVariable := '';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p := GetEnvironmentStringsW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ hp := p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ upperenv := uppercase(envvar);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while hp^ <> #0 do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ s := hp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i := pos('=', s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if uppercase(copy(s,1,i-1)) = upperenv then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ GetEnvironmentVariable := copy(s, i+1, length(s)-i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { next string entry }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ hp := hp + strlen(hp) + 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FreeEnvironmentStringsW(p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function getTempDir: String;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ astringLength : Integer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := GetEnvironmentVariable('TMP');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if getTempDir = '' then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := GetEnvironmentVariable('TEMP');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ astringlength := Length(getTempDir);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (astringlength > 0) and (getTempDir[astringlength] <> DirectorySeparator) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := getTempDir + DirectorySeparator;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$pop}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ELSEIF defined(UNIX)}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function getTempDir: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ key: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_env, i_key, i_value: integer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value := '/tmp/'; (** default for UNIX **)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (envp <> NIL) and assigned(envp^) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_env := 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_key := 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while not (envp^[i_env] in ['=', #0]) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ key[i_key] := envp^[i_env];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_env);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_key);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ setlength(key, i_key - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (key = 'TEMP') or (key = 'TMP') or (key = 'TMPDIR') then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_env); (** skip '=' **)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_value := 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (envp^[i_env] <> #0) do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value[i_value] := envp^[i_env];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_env);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(i_value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ setlength(value, i_value - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inc(envp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i_value:=length(value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (i_value > 0) and (value[i_value] <> DirectorySeparator) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value := value + DirectorySeparator;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir := value;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ELSE} // neither unix nor windows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function getTempDir: string;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getTempDir:='';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ENDIF}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {$ifdef FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { this code is duplicated in the iso7185 unit }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure DoAssign(var t : TypedFile);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Assign(t,'fpc_'+HexStr(random(1000000000),8)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Assign(t,getTempDir+'fpc_'+HexStr(random(1000000000),8)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- End;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {$else FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { this code is duplicated in the iso7185 unit }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -81,8 +220,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- start : dword = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Assign(t,'fpc_'+HexStr(start,8)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$ifdef EXCLUDE_COMPLEX_PROCS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ runerror(219);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$else EXCLUDE_COMPLEX_PROCS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Assign(t,getTempDir+'fpc_'+HexStr(start,8)+'.tmp');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inc(start);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {$endif EXCLUDE_COMPLEX_PROCS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- End;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {$endif FPC_HAS_FEATURE_RANDOM}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fpc/files/patch-transparent-filename.diff b/lang/fpc/files/patch-transparent-filename.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 39019b86392..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fpc/files/patch-transparent-filename.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,93 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur compiler/globtype.pas compiler/globtype.pas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- compiler/globtype.pas 2017-02-18 11:41:40.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ compiler/globtype.pas 2017-02-18 11:49:27.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -179,6 +179,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { parameter switches }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cs_check_unit_name,cs_constructor_name,cs_support_exceptions,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cs_support_c_objectivepas,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cs_transparent_file_names,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { units }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cs_load_objpas_unit,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cs_load_gpc_unit,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur compiler/ngenutil.pas compiler/ngenutil.pas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- compiler/ngenutil.pas 2017-02-18 11:41:57.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ compiler/ngenutil.pas 2017-02-18 11:48:51.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -274,12 +274,22 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (tfiledef(tstaticvarsym(p).vardef).filetyp=ft_text) and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (tstaticvarsym(p).isoindex<>0) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- addstatement(stat^,ccallnode.createintern('fpc_textinit_iso',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cordconstnode.create(tstaticvarsym(p).isoindex,uinttype,false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cloadnode.create(tstaticvarsym(p),tstaticvarsym(p).Owner),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- nil))));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if cs_transparent_file_names in current_settings.globalswitches then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ addstatement(stat^,ccallnode.createintern('fpc_textinit_filename_iso',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cstringconstnode.createstr(tstaticvarsym(p).Name),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cordconstnode.create(tstaticvarsym(p).isoindex,uinttype,false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cloadnode.create(tstaticvarsym(p),tstaticvarsym(p).Owner),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nil)))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ addstatement(stat^,ccallnode.createintern('fpc_textinit_iso',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cordconstnode.create(tstaticvarsym(p).isoindex,uinttype,false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ccallparanode.create(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cloadnode.create(tstaticvarsym(p),tstaticvarsym(p).Owner),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nil))));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur compiler/options.pas compiler/options.pas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- compiler/options.pas 2017-02-18 11:42:12.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ compiler/options.pas 2017-02-18 11:47:51.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1933,6 +1933,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include(init_settings.moduleswitches,cs_support_macro);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'o' : //an alternative to -Mtp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SetCompileMode('TP',true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 'r' :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ If UnsetBool(More, j, opt, false) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exclude(init_settings.globalswitches,cs_transparent_file_names)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ include(init_settings.globalswitches,cs_transparent_file_names);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {$ifdef gpc_mode}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'p' : //an alternative to -Mgpc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SetCompileMode('GPC',true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur rtl/inc/compproc.inc rtl/inc/compproc.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- rtl/inc/compproc.inc 2017-02-18 11:44:14.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ rtl/inc/compproc.inc 2017-02-18 11:47:10.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -411,6 +411,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Function fpc_get_input:PText;compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Function fpc_get_output:PText;compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure fpc_textinit_iso(var t : Text;nr : DWord);compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Procedure fpc_textinit_filename_iso(var t : Text;nr : DWord;const filename : string);compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure fpc_textclose_iso(var t : Text);compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure fpc_Write_End(var f:Text); compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure fpc_Writeln_End(var f:Text); compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -Naur rtl/inc/text.inc rtl/inc/text.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- rtl/inc/text.inc 2017-02-18 11:44:36.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ rtl/inc/text.inc 2017-02-18 11:46:23.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -652,6 +652,20 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {$endif FPC_HAS_FEATURE_COMMANDARGS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Procedure fpc_textinit_filename_iso(var t : Text;nr : DWord;const filename : string);compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$ifdef FPC_HAS_FEATURE_COMMANDARGS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if paramstr(nr)='' then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assign(t,filename+'.txt')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assign(t,paramstr(nr));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$else FPC_HAS_FEATURE_COMMANDARGS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { primitive workaround for targets supporting no command line arguments,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ invent some file name, try to avoid complex procedures like concating strings which might
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pull-in bigger parts of the rtl }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assign(t,chr((nr mod 16)+65));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{$endif FPC_HAS_FEATURE_COMMANDARGS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Procedure fpc_textclose_iso(var t : Text);compilerproc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- begin
</span></pre><pre style='margin:0'>
</pre>