diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2010-10-18 10:26:53 -0200 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:07:21 -0300 |
commit | 63fddfeb50bbd786826dd18be8851d0567cce041 (patch) | |
tree | da8bd7e380c731057ff78232e30e76750bb83e97 /tests/libsample | |
parent | c1ef5a79d14b598e7b0027be2922b23a78e57c02 (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.cpp | 3 | ||||
-rw-r--r-- | tests/libsample/reference.h | 11 |
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 |