diff options
author | Oliver Bolte <obo@openoffice.org> | 2008-02-27 09:05:40 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2008-02-27 09:05:40 +0000 |
commit | 94b14bd1b2335f478382aace9d321918e170df92 (patch) | |
tree | 01b1073c1dac1a2c83a749a8f0950814cdb2db1c /cppu/test | |
parent | 2f274a72d09e04cfff67f3e4bdedc60424dd3fa9 (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.idl | 67 |
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; |