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
This commit is contained in:
Oliver Bolte 2008-02-27 09:05:40 +00:00
parent 2f274a72d0
commit 94b14bd1b2

View file

@ -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.
@ -70,6 +70,49 @@ struct TestSimple
double Double;
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
*/
@ -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;