summaryrefslogtreecommitdiff
path: root/cppu/test
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2008-02-27 09:05:40 +0000
committerOliver Bolte <obo@openoffice.org>2008-02-27 09:05:40 +0000
commit94b14bd1b2335f478382aace9d321918e170df92 (patch)
tree01b1073c1dac1a2c83a749a8f0950814cdb2db1c /cppu/test
parent2f274a72d09e04cfff67f3e4bdedc60424dd3fa9 (diff)
INTEGRATION: CWS ia64port01_DEV300 (1.3.130); FILE MERGED
2008/02/16 15:27:58 cmc 1.3.130.1: #i84999# add tests for struct returning rules in registers depending on size and other characteristics, e.g. x86_64 and ia64
Diffstat (limited to 'cppu/test')
-rw-r--r--cppu/test/language_binding.idl67
1 files changed, 65 insertions, 2 deletions
diff --git a/cppu/test/language_binding.idl b/cppu/test/language_binding.idl
index 8d3deef3834b..17d108128de7 100644
--- a/cppu/test/language_binding.idl
+++ b/cppu/test/language_binding.idl
@@ -4,9 +4,9 @@
*
* $RCSfile: language_binding.idl,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: rt $ $Date: 2005-09-08 08:55:54 $
+ * last change: $Author: obo $ $Date: 2008-02-27 10:05:40 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -71,6 +71,49 @@ struct TestSimple
test::TestEnum Enum;
};
/**
+ * equal to max size returned in registers on x86_64
+ */
+struct SmallStruct
+{
+ hyper a;
+ hyper b;
+};
+/**
+ * equal to max size returned in registers on ia64
+ */
+struct MediumStruct
+{
+ hyper a;
+ hyper b;
+ hyper c;
+ hyper d;
+};
+/**
+ * bigger than max size returned in registers on ia64
+ */
+struct BigStruct
+{
+ hyper a;
+ hyper b;
+ hyper c;
+ hyper d;
+ hyper e;
+ hyper f;
+ hyper g;
+ hyper h;
+};
+/**
+ * all floats, ia64 claims to handle them specially
+ */
+struct AllFloats
+{
+ float a;
+ float b;
+ float c;
+ float d;
+};
+
+/**
* complex c++ types
*/
struct TestElement : test::TestSimple
@@ -131,6 +174,26 @@ interface XLBTestBase : com::sun::star::uno::XInterface
[out] sequence<test::TestElement > aSequence,
[out] test::TestData aStruct );
+ /**
+ * register return test 1
+ */
+ test::SmallStruct echoSmallStruct( [in] test::SmallStruct aStruct );
+
+ /**
+ * register return test 2
+ */
+ test::MediumStruct echoMediumStruct( [in] test::MediumStruct aStruct );
+
+ /**
+ * register return test 3
+ */
+ test::BigStruct echoBigStruct( [in] test::BigStruct aStruct );
+
+ /**
+ * register return test 4
+ */
+ test::AllFloats echoAllFloats( [in] test::AllFloats aStruct );
+
[attribute] boolean Bool;
[attribute] byte Byte;
[attribute] char Char;