summaryrefslogtreecommitdiff
path: root/compiler/jvm
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2018-10-16 21:14:18 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2018-10-16 21:14:18 +0000
commitba40d96f2f0debde22bea268be1a234c8020b2e9 (patch)
treeb138ba9d767e5faca11ac8da045ef7563f3e1b5f /compiler/jvm
parent49eae875a205840e04276865c16574c783787643 (diff)
downloadfpc-ba40d96f2f0debde22bea268be1a234c8020b2e9.tar.gz
* converted Boolean8 to an internal type, and mapped Boolean to the
new internal pasbool1(type) (part of mantis #34411) o apply the _Bool x86-64 parameter passing rules only to pasbool1 git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@39949 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/jvm')
-rw-r--r--compiler/jvm/hlcgcpu.pas6
-rw-r--r--compiler/jvm/jvmdef.pas3
-rw-r--r--compiler/jvm/njvmcnv.pas2
-rw-r--r--compiler/jvm/njvminl.pas2
4 files changed, 8 insertions, 5 deletions
diff --git a/compiler/jvm/hlcgcpu.pas b/compiler/jvm/hlcgcpu.pas
index 46e9ab8dd7..487588d92b 100644
--- a/compiler/jvm/hlcgcpu.pas
+++ b/compiler/jvm/hlcgcpu.pas
@@ -1241,7 +1241,7 @@ implementation
if not ((size.typ=pointerdef) or
((size.typ=orddef) and
(torddef(size).ordtype in [u64bit,u16bit,u32bit,u8bit,uchar,
- pasbool8,pasbool16,pasbool32,pasbool64]))) then
+ pasbool1,pasbool8,pasbool16,pasbool32,pasbool64]))) then
begin
a_load_reg_stack(list,size,src1);
if op in [OP_SUB,OP_IMUL] then
@@ -1346,7 +1346,7 @@ implementation
orddef:
begin
case torddef(eledef).ordtype of
- pasbool8,s8bit,u8bit,bool8bit,uchar,
+ pasbool1,pasbool8,s8bit,u8bit,bool8bit,uchar,
s16bit,u16bit,bool16bit,pasbool16,
uwidechar,
s32bit,u32bit,bool32bit,pasbool32,
@@ -1371,7 +1371,7 @@ implementation
else
begin
{ deepcopy=true }
- a_load_const_stack(list,pasbool8type,1,R_INTREGISTER);
+ a_load_const_stack(list,pasbool1type,1,R_INTREGISTER);
{ ndim }
a_load_const_stack(list,s32inttype,ndim,R_INTREGISTER);
{ eletype }
diff --git a/compiler/jvm/jvmdef.pas b/compiler/jvm/jvmdef.pas
index 0c30fcf8cf..fc4b1ff874 100644
--- a/compiler/jvm/jvmdef.pas
+++ b/compiler/jvm/jvmdef.pas
@@ -539,6 +539,7 @@ implementation
orddef:
begin
case torddef(def).ordtype of
+ pasbool1,
pasbool8:
begin
objdef:=tobjectdef(search_system_type('JLBOOLEAN').typedef);
@@ -622,6 +623,7 @@ implementation
orddef:
begin
case torddef(def).ordtype of
+ pasbool1,
pasbool8:
result:='BOOLEANVALUE';
s8bit,
@@ -784,6 +786,7 @@ implementation
orddef:
begin
case torddef(def).ordtype of
+ pasbool1,
pasbool8:
begin
result:=tobjectdef(search_system_type('FPCBOOLEANTHREADVAR').typedef);
diff --git a/compiler/jvm/njvmcnv.pas b/compiler/jvm/njvmcnv.pas
index d760e82753..9044ceb538 100644
--- a/compiler/jvm/njvmcnv.pas
+++ b/compiler/jvm/njvmcnv.pas
@@ -1497,7 +1497,7 @@ implementation
if node.nodetype=asn then
node.resultdef:=realtodef
else
- node.resultdef:=pasbool8type;
+ node.resultdef:=pasbool1type;
end;
diff --git a/compiler/jvm/njvminl.pas b/compiler/jvm/njvminl.pas
index 006d7f750a..f73c5bff8a 100644
--- a/compiler/jvm/njvminl.pas
+++ b/compiler/jvm/njvminl.pas
@@ -487,7 +487,7 @@ implementation
{ prepend new }
newparas:=ccallparanode.create(newnode,newparas);
{ prepend deepcopy }
- newparas:=ccallparanode.create(cordconstnode.create(0,pasbool8type,false),newparas);
+ newparas:=ccallparanode.create(cordconstnode.create(0,pasbool1type,false),newparas);
{ call the right setlenght helper }
if ndims>1 then
begin