From 8856e2412fc2756443288644465d9edce5798fea Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 18 Apr 2011 13:15:36 +0200 Subject: Alternative fix to the strict-aliasing violation warnings The code doesn't actually violate aliasing by doing type-punned dereferencing. The objects are always accessed as the right type. So disable the warning and pray that GCC doesn't optimise code out of existence. Reviewed-by: Trust Me --- src/declarative/qml/qdeclarativeobjectscriptclass.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp index dc3ecca..9eecc65 100644 --- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp +++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp @@ -54,7 +54,15 @@ #include #include -Q_DECLARE_METATYPE(QScriptValue); +Q_DECLARE_METATYPE(QScriptValue) + +#if defined(__GNUC__) +# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 +// The code in this file does not violate strict aliasing, but GCC thinks it does +// so turn off the warnings for us to have a clean build +# pragma GCC diagnostic ignored "-Wstrict-aliasing" +# endif +#endif QT_BEGIN_NAMESPACE -- cgit v0.12