# HG changeset patch # User Mike Kinghan # Date 1280213606 -3600 # Node ID 7dc50dc943018c7fe9d4fb38eaeded4d0d9f480f # Parent cbd07013118c823ced93937f564072a5223fa5a5 1) Fix for bug 3413 - [GCCE] Namespace 'abi' not declared in e32test build. 2) Revert fix for bug 3389; fix for 3431 replaces it. 3) Correct typo in fix for bug 3391. diff -r cbd07013118c -r 7dc50dc94301 kernel/eka/compsupp/gcce/gcce.h --- a/kernel/eka/compsupp/gcce/gcce.h Mon Jul 26 18:22:55 2010 +0100 +++ b/kernel/eka/compsupp/gcce/gcce.h Tue Jul 27 07:53:26 2010 +0100 @@ -165,6 +165,9 @@ #endif #ifdef __cplusplus + +// To compile rtti support +#define __EDG_RUNTIME_USES_NAMESPACES // Support for throwing exceptions through embedded assembler // Should only be needed user side diff -r cbd07013118c -r 7dc50dc94301 kernel/eka/compsupp/rvct/drtaeabi.cpp --- a/kernel/eka/compsupp/rvct/drtaeabi.cpp Mon Jul 26 18:22:55 2010 +0100 +++ b/kernel/eka/compsupp/rvct/drtaeabi.cpp Tue Jul 27 07:53:26 2010 +0100 @@ -71,7 +71,7 @@ asm(".weak ZTVN10__cxxabiv123__fundamental_type_infoE"); asm(".extern _ZTSv"); asm(".global $Sub$$_ZTIv"); - asm("$Sub$$_ZTIv"); + asm("$Sub$$_ZTIv:"); asm(".word _ZTVN10__cxxabiv123__fundamental_type_infoE"); asm(".word _ZTSv"); } diff -r cbd07013118c -r 7dc50dc94301 kernel/eka/compsupp/symaehabi/cxxabi.h --- a/kernel/eka/compsupp/symaehabi/cxxabi.h Mon Jul 26 18:22:55 2010 +0100 +++ b/kernel/eka/compsupp/symaehabi/cxxabi.h Tue Jul 27 07:53:26 2010 +0100 @@ -78,36 +78,37 @@ #ifdef __EDG_RUNTIME_USES_NAMESPACES namespace __cxxabiv1 { + using namespace std; #endif /* ifdef __EDG_RUNTIME_USES_NAMESPACES */ /* type_info implementation classes */ #pragma define_type_info - class __fundamental_type_info : public std::type_info { + class __fundamental_type_info : public type_info { public: virtual ~__fundamental_type_info(); }; #pragma define_type_info - class __array_type_info : public std::type_info { + class __array_type_info : public type_info { public: virtual ~__array_type_info(); }; #pragma define_type_info - class __function_type_info : public std::type_info { + class __function_type_info : public type_info { public: virtual ~__function_type_info(); }; #pragma define_type_info - class __enum_type_info : public std::type_info { + class __enum_type_info : public type_info { public: virtual ~__enum_type_info(); }; #pragma define_type_info - class __class_type_info : public std::type_info { + class __class_type_info : public type_info { public: virtual ~__class_type_info(); }; @@ -145,7 +146,7 @@ }; #pragma define_type_info - class __pbase_type_info : public std::type_info { + class __pbase_type_info : public type_info { public: virtual ~__pbase_type_info(); unsigned int __flags;