diff options
Diffstat (limited to 'src/tools/moc')
-rw-r--r-- | src/tools/moc/generator.cpp | 8 | ||||
-rw-r--r-- | src/tools/moc/moc.cpp | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp index fd76646f4c..e5f1c61e3c 100644 --- a/src/tools/moc/generator.cpp +++ b/src/tools/moc/generator.cpp @@ -1549,16 +1549,16 @@ void Generator::generateSignal(FunctionDef *def,int index) fprintf(out, "nullptr"); } else { if (def->returnTypeIsVolatile) - fprintf(out, "const_cast<void*>(reinterpret_cast<const volatile void*>(&_t0))"); + fprintf(out, "const_cast<void*>(reinterpret_cast<const volatile void*>(std::addressof(_t0)))"); else - fprintf(out, "const_cast<void*>(reinterpret_cast<const void*>(&_t0))"); + fprintf(out, "const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t0)))"); } int i; for (i = 1; i < offset; ++i) if (i <= def->arguments.count() && def->arguments.at(i - 1).type.isVolatile) - fprintf(out, ", const_cast<void*>(reinterpret_cast<const volatile void*>(&_t%d))", i); + fprintf(out, ", const_cast<void*>(reinterpret_cast<const volatile void*>(std::addressof(_t%d)))", i); else - fprintf(out, ", const_cast<void*>(reinterpret_cast<const void*>(&_t%d))", i); + fprintf(out, ", const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t%d)))", i); fprintf(out, " };\n"); fprintf(out, " QMetaObject::activate(%s, &staticMetaObject, %d, _a);\n", thisPtr.constData(), index); if (def->normalizedType != "void") diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index 61a5542c83..76816960ff 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -992,7 +992,7 @@ void Moc::generate(FILE *out) fprintf(out, "** WARNING! All changes made in this file will be lost!\n" "*****************************************************************************/\n\n"); - + fprintf(out, "#include <memory>\n"); // For std::addressof if (!noInclude) { if (includePath.size() && !includePath.endsWith('/')) includePath += '/'; |