[Interest] Suppressing Q_ASSERT on release builds
Thiago Macieira
thiago.macieira at intel.com
Wed Jan 11 18:19:10 CET 2017
On quarta-feira, 11 de janeiro de 2017 10:52:44 PST Jani Tykka wrote:
> > Are you talking about 3rdparty components that are used inside Qt? Which
> > one is including qglobal.h?
>
> Yes, in qtbase:
>
> In file included from src/hb-blob.cc:32:
> In file included from src/hb-private.hh:33:
> In file included from ./config.h:25:
> In file included from ../../../include/QtCore/qatomic.h:1:
> In file included from
> ../../../include/QtCore/../../src/corelib/thread/qatomic.h:34:
> In file included from ../../../include/QtCore/qglobal.h:1:
Harfbuzz-NG, apparently. There's a reason for that, but it doesn't use
Q_ASSERT. Therefore, no problem.
Where are Q_ASSERT used outside of a Qt module (with no qt.prf)?
> > The macro wouldn't get defined if the .pro file does CONFIG -= qt. Can you
> > point to which one(s) those are?
>
> Actually I was confused about the above hb-blob compiled without
> QT_NO_DEBUG and started blaming that qtwebengine does the same, but
> then I found that there is a bit different story:
>
> src/core/delegated_frame_node.cpp asserts in release builds since:
Sorry, I don't have qtwebengine checked out, so I can't verify your claims.
> #undef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES
> #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
> #endif
>
> Then see
> https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/Assert
> Macros.h
And I have no idea what Apple has to do with anything.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list