From 99bf0c318b89c7d6acee364161b34b13d348a3bb Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 17 Feb 2012 09:03:36 +0000 Subject: add a uno test api with more than 8 floating point args I'm a cruel person, i.e. this targets the TODO of dab11f7fe2a2fa4155e4c4feaa5fc54e57cfbd37 in bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cx --- testtools/source/bridgetest/bridgetest.cxx | 5 +++++ testtools/source/bridgetest/cli/cli_cs_testobj.cs | 5 +++++ testtools/source/bridgetest/cppobj.cxx | 3 ++- testtools/source/bridgetest/idl/bridgetest.idl | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) (limited to 'testtools/source') diff --git a/testtools/source/bridgetest/bridgetest.cxx b/testtools/source/bridgetest/bridgetest.cxx index 968c5f1f216b..5e611da1e4ea 100644 --- a/testtools/source/bridgetest/bridgetest.cxx +++ b/testtools/source/bridgetest/bridgetest.cxx @@ -541,6 +541,11 @@ static sal_Bool performTest( sal_Int32 i2 = xLBT->testPPCAlignment(0, 0, 0, 0, 0xBEAF); bRet &= check(i2 == 0xBEAF, "ppc-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"); + } // Test extended attributes that raise exceptions: try { xLBT->getRaiseAttr1(); diff --git a/testtools/source/bridgetest/cli/cli_cs_testobj.cs b/testtools/source/bridgetest/cli/cli_cs_testobj.cs index 246d3e1898a6..f89241b1251c 100644 --- a/testtools/source/bridgetest/cli/cli_cs_testobj.cs +++ b/testtools/source/bridgetest/cli/cli_cs_testobj.cs @@ -264,6 +264,11 @@ public class BridgeTestObject : WeakBase, XRecursiveCall, XBridgeTest2 return i2; } + 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; + } + // Attributes public bool Bool { diff --git a/testtools/source/bridgetest/cppobj.cxx b/testtools/source/bridgetest/cppobj.cxx index 0df13f51ca26..def69d93af37 100644 --- a/testtools/source/bridgetest/cppobj.cxx +++ b/testtools/source/bridgetest/cppobj.cxx @@ -230,7 +230,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) { return i2; } - + 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) + { return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10; } virtual sal_Bool SAL_CALL getBool() throw(com::sun::star::uno::RuntimeException) { return _aData.Bool; } virtual sal_Int8 SAL_CALL getByte() throw(com::sun::star::uno::RuntimeException) diff --git a/testtools/source/bridgetest/idl/bridgetest.idl b/testtools/source/bridgetest/idl/bridgetest.idl index 82db3207cfd3..1e6f6aa1af57 100644 --- a/testtools/source/bridgetest/idl/bridgetest.idl +++ b/testtools/source/bridgetest/idl/bridgetest.idl @@ -314,6 +314,11 @@ interface XBridgeTestBase : com::sun::star::uno::XInterface */ long testPPCAlignment( [in] hyper l1, [in] hyper l2, [in] long i1, [in] hyper l3, [in] long i2 ); + /** + * 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 ); + [attribute] boolean Bool; [attribute] byte Byte; [attribute] char Char; -- cgit v1.2.3