summaryrefslogtreecommitdiff
path: root/testtools
diff options
context:
space:
mode:
authorCaolan McNamara <caolanm@redhat.com>2015-07-10 16:36:41 +0100
committerDavid Tardon <dtardon@redhat.com>2015-07-13 11:03:08 +0000
commitf31326f623b0be2392b3846f710df75ea8760446 (patch)
tree250cd9eadfafdbc6302bf9f3bd3ea66b985c11a7 /testtools
parent3059edbc419e79f964a340b5b0ac828a5e866666 (diff)
ppc64: using a fp register also consumes a gp register slot
Change-Id: Idf6f40081f4598c0fa9d1e10bdc208eae49e4cd1 Reviewed-on: https://gerrit.libreoffice.org/16936 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit e8ac3b5bd973054c6fd74db017bb448721e2c3e2) Reviewed-on: https://gerrit.libreoffice.org/16946 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'testtools')
-rw-r--r--testtools/com/sun/star/comp/bridge/TestComponent.java4
-rw-r--r--testtools/source/bridgetest/bridgetest.cxx4
-rw-r--r--testtools/source/bridgetest/cli/cli_cs_testobj.cs5
-rw-r--r--testtools/source/bridgetest/cppobj.cxx2
-rw-r--r--testtools/source/bridgetest/idl/bridgetest.idl6
5 files changed, 21 insertions, 0 deletions
diff --git a/testtools/com/sun/star/comp/bridge/TestComponent.java b/testtools/com/sun/star/comp/bridge/TestComponent.java
index bf1524dd18ca..8e07d1a312cc 100644
--- a/testtools/com/sun/star/comp/bridge/TestComponent.java
+++ b/testtools/com/sun/star/comp/bridge/TestComponent.java
@@ -498,6 +498,10 @@ public class TestComponent {
return i2;
}
+ public int testPPC64Alignment( double d1, double d2, double d3, int i1 ) throws com.sun.star.uno.RuntimeException {
+ return i1;
+ }
+
public double testTenDoubles( double d1, double d2, double d3, double d4, double d5, double d6, double d7, double d8, double d9, double d10 ) {
return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10;
}
diff --git a/testtools/source/bridgetest/bridgetest.cxx b/testtools/source/bridgetest/bridgetest.cxx
index ea37b9a9c301..427513f2cc13 100644
--- a/testtools/source/bridgetest/bridgetest.cxx
+++ b/testtools/source/bridgetest/bridgetest.cxx
@@ -529,6 +529,10 @@ static bool performTest(
bRet &= check(i2 == 0xBEAF, "ppc-style alignment test");
}
{
+ sal_Int32 i1 = xLBT->testPPC64Alignment(1.0, 2.0, 3.0, 0xBEAF);
+ bRet &= check(i1 == 0xBEAF, "ppc64-style alignment test");
+ }
+ {
double d1 = xLBT->testTenDoubles(0.1, 0.2, 0.3, 0.4, 0.5,
0.6, 0.7, 0.8, 0.9, 1.0);
bRet &= check(d1 == 5.5, "armhf doubles test");
diff --git a/testtools/source/bridgetest/cli/cli_cs_testobj.cs b/testtools/source/bridgetest/cli/cli_cs_testobj.cs
index 9d0ac7a5d715..8f396c924cea 100644
--- a/testtools/source/bridgetest/cli/cli_cs_testobj.cs
+++ b/testtools/source/bridgetest/cli/cli_cs_testobj.cs
@@ -255,6 +255,11 @@ public class BridgeTestObject : WeakBase, XRecursiveCall, XBridgeTest2
return i2;
}
+ public int testPPC64Alignment( double d1, double d2, double d3, int i1 )
+ {
+ return i1;
+ }
+
public double testTenDoubles( double d1, double d2, double d3, double d4, double d5, double d6, double d7, double d8, double d9, double d10 )
{
return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10;
diff --git a/testtools/source/bridgetest/cppobj.cxx b/testtools/source/bridgetest/cppobj.cxx
index a468d900492e..30f85f032d2f 100644
--- a/testtools/source/bridgetest/cppobj.cxx
+++ b/testtools/source/bridgetest/cppobj.cxx
@@ -220,6 +220,8 @@ public:
{ return rStruct; }
virtual sal_Int32 SAL_CALL testPPCAlignment( sal_Int64, sal_Int64, sal_Int32, sal_Int64, sal_Int32 i2 ) throw(com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
{ return i2; }
+ virtual sal_Int32 SAL_CALL testPPC64Alignment( double , double , double , sal_Int32 i1 ) throw(com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
+ { return i1; }
virtual double SAL_CALL testTenDoubles( double d1, double d2, double d3, double d4, double d5, double d6, double d7, double d8, double d9, double d10 ) throw(com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
{ return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10; }
virtual sal_Bool SAL_CALL getBool() throw(com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
diff --git a/testtools/source/bridgetest/idl/bridgetest.idl b/testtools/source/bridgetest/idl/bridgetest.idl
index a11ba28e9036..22612b8dfc36 100644
--- a/testtools/source/bridgetest/idl/bridgetest.idl
+++ b/testtools/source/bridgetest/idl/bridgetest.idl
@@ -307,6 +307,12 @@ interface XBridgeTestBase : com::sun::star::uno::XInterface
long testPPCAlignment( [in] hyper l1, [in] hyper l2, [in] long i1, [in] hyper l3, [in] long i2 );
/**
+ * PPC64 Alignment test
+ */
+ long testPPC64Alignment( [in] double d1, [in] double d2, [in] double d3, [in] long i1 );
+
+
+ /**
* VFP ABI (armhf) doubles test
*/
double testTenDoubles( [in] double d1, [in] double d2, [in] double d3, [in] double d4, [in] double d5, [in] double d6, [in] double d7, [in] double d8, [in] double d9, [in] double d10 );