aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libsample
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-10-18 10:26:53 -0200
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:07:21 -0300
commit63fddfeb50bbd786826dd18be8851d0567cce041 (patch)
treeda8bd7e380c731057ff78232e30e76750bb83e97 /tests/libsample
parentc1ef5a79d14b598e7b0027be2922b23a78e57c02 (diff)
Fix bug#411 - "Incorrect return statement generated in a function that returns a reference"
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'tests/libsample')
-rw-r--r--tests/libsample/reference.cpp3
-rw-r--r--tests/libsample/reference.h11
2 files changed, 14 insertions, 0 deletions
diff --git a/tests/libsample/reference.cpp b/tests/libsample/reference.cpp
index 670395ff6..1456b1898 100644
--- a/tests/libsample/reference.cpp
+++ b/tests/libsample/reference.cpp
@@ -67,3 +67,6 @@ Reference::callAlterReferenceIdVirtual(Reference& r)
alterReferenceIdVirtual(r);
}
+ObjTypeReference::~ObjTypeReference()
+{
+}
diff --git a/tests/libsample/reference.h b/tests/libsample/reference.h
index 046a1518e..cc9fcc91e 100644
--- a/tests/libsample/reference.h
+++ b/tests/libsample/reference.h
@@ -51,9 +51,20 @@ public:
inline static int multiplier() { return 10; }
+ virtual Reference& returnMyFirstArg(Reference& ref) { return ref; }
+ virtual Reference& returnMySecondArg(int a, Reference& ref) { return ref; }
private:
int m_objId;
};
+class LIBSAMPLE_API ObjTypeReference
+{
+public:
+ virtual ~ObjTypeReference();
+ virtual ObjTypeReference& returnMyFirstArg(ObjTypeReference& ref) { return ref; }
+ virtual ObjTypeReference& returnMySecondArg(int a, ObjTypeReference& ref) { return ref; }
+ virtual ObjTypeReference& justAPureVirtualFunc(ObjTypeReference& ref) = 0;
+};
+
#endif // REFERENCE_H