From 22891dd897b37be03222ec4881629628fb312442 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Fri, 4 Oct 2019 11:00:07 +0200 Subject: Explain an usage of volatile It's to work around QTBUG-45307. Change-Id: Ib6076223013e5b1ccfa6ec25e2d040daaa2f19dd Reviewed-by: Oswald Buddenhagen --- src/corelib/global/qlibraryinfo.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/corelib') diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index 6476b7404a..ebacd8a0c6 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -728,6 +728,11 @@ QLibraryInfo::rawLocation(LibraryLocation loc, PathGroup group) #ifndef QT_BUILD_QMAKE_BOOTSTRAP if (!fromConf) { + // "volatile" here is a hack to prevent compilers from doing a + // compile-time strlen() on "path". The issue is that Qt installers + // will binary-patch the Qt installation paths -- in such scenarios, Qt + // will be built with a dummy path, thus the compile-time result of + // strlen is meaningless. const char * volatile path = 0; if (loc == PrefixPath) { path = getPrefix( -- cgit v1.2.3