diff --git a/packages/pastojs/src/fppas2js.pp b/packages/pastojs/src/fppas2js.pp index 3cf2fc256c..77d6396873 100644 --- a/packages/pastojs/src/fppas2js.pp +++ b/packages/pastojs/src/fppas2js.pp @@ -4129,6 +4129,7 @@ begin Case El.OpCode of eopAnd : C:=TJSLogicalAndExpression; eopOr : C:=TJSLogicalOrExpression; + eopXor : C:=TJSBitwiseXOrExpression; else DoError(20161024191234,nBinaryOpcodeNotSupported,sBinaryOpcodeNotSupported,['logical XOR'],El); end; diff --git a/packages/pastojs/tests/tcmodules.pas b/packages/pastojs/tests/tcmodules.pas index c0d71f6f20..b2aab28ca5 100644 --- a/packages/pastojs/tests/tcmodules.pas +++ b/packages/pastojs/tests/tcmodules.pas @@ -2075,6 +2075,7 @@ begin Add('begin'); Add(' va:=vb and vc;'); Add(' va:=vb or vc;'); + Add(' va:=vb xor vc;'); Add(' va:=true and vc;'); Add(' va:=(vb and vc) or (va and vb);'); Add(' va:=not vb;'); @@ -2088,6 +2089,7 @@ begin LinesToStr([ // this.$main '$mod.vA = $mod.vB && $mod.vC;', '$mod.vA = $mod.vB || $mod.vC;', + '$mod.vA = $mod.vB ^ $mod.vC;', '$mod.vA = true && $mod.vC;', '$mod.vA = ($mod.vB && $mod.vC) || ($mod.vA && $mod.vB);', '$mod.vA = !$mod.vB;'