summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
diff options
context:
space:
mode:
authorRolland Dudemaine <rolland@ghs.com>2011-02-22 15:27:55 (GMT)
committerHarald Fernengel <harald.fernengel@nokia.com>2011-02-22 15:27:55 (GMT)
commit31d29750e65d5e937f12d1d061f3e41e7453880f (patch)
tree2fa014608132aa875dcd3ee63c6e13b4f3d325a3 /src/corelib/global
parent9ced42aa3351e2f07e3e408adfc3f88ac56a7caf (diff)
downloadQt-31d29750e65d5e937f12d1d061f3e41e7453880f.zip
Qt-31d29750e65d5e937f12d1d061f3e41e7453880f.tar.gz
Qt-31d29750e65d5e937f12d1d061f3e41e7453880f.tar.bz2
Various INTEGRITY fixes
Some smaller adaptation for missing POSIX calls and some build system tweaks for the INTEGRITY RTOS Merge-request: 1101 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Diffstat (limited to 'src/corelib/global')
-rw-r--r--src/corelib/global/qglobal.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index d849349..51dc26f 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -369,7 +369,20 @@ namespace QT_NAMESPACE {}
*/
#if defined(__ghs)
-# define Q_OUTOFLINE_TEMPLATE inline
+# define Q_OUTOFLINE_TEMPLATE inline
+
+/* the following are necessary because the GHS C++ name mangling relies on __*/
+# define Q_CONSTRUCTOR_FUNCTION0(AFUNC) \
+ static const int AFUNC ## _init_variable_ = AFUNC();
+# define Q_CONSTRUCTOR_FUNCTION(AFUNC) Q_CONSTRUCTOR_FUNCTION0(AFUNC)
+# define Q_DESTRUCTOR_FUNCTION0(AFUNC) \
+ class AFUNC ## _dest_class_ { \
+ public: \
+ inline AFUNC ## _dest_class_() { } \
+ inline ~ AFUNC ## _dest_class_() { AFUNC(); } \
+ } AFUNC ## _dest_instance_;
+# define Q_DESTRUCTOR_FUNCTION(AFUNC) Q_DESTRUCTOR_FUNCTION0(AFUNC)
+
#endif
/* Symantec C++ is now Digital Mars */
@@ -1445,7 +1458,7 @@ class QDataStream;
# define Q_AUTOTEST_EXPORT
#endif
-inline void qt_noop() {}
+inline void qt_noop(void) {}
/* These wrap try/catch so we can switch off exceptions later.