Remove global initializations.

Review Request #122264 - Created Jan. 26, 2015 and submitted

Information
Milian Wolff
ktexteditor
master
82ae751...
Reviewers
kate
dfaure, vkrause

Only POD should be initialized globally. Everything else would need
their ctors run on startup, before everything else. This is bad
for performance, see e.g.:

http://neugierig.org/software/chromium/notes/2011/08/static-initializers.html

Also note that this is a coding guideline in Qt itself for the same
reasons. Furthermore, most issues where in places that are only
used by a fraction of our users, yet all of them "paid" for them
during startup.

The code places where all found by the python script shown here:

http://stackoverflow.com/questions/28101243/how-to-find-global-static-initializations/28146199?noredirect=1#28146199

It was also used to verify that no global ctors remain, besides one
QRC initialization.

REVIEW: 122264

release build:

before:

   text    data     bss     dec     hex filename
3524296  119720    3552 3647568  37a850 libKF5TextEditor.so

Initializers:
00000000000b76b0 frame_dummy
00000000000b6850 _GLOBAL__sub_I_expandingwidgetmodel.cpp
00000000000b68a0 _GLOBAL__sub_I_katedocument.cpp
00000000000b69e0 _GLOBAL__sub_I_katescript.cpp
00000000000b6a10 _GLOBAL__sub_I_katescripthelpers.cpp
00000000000b6a40 _GLOBAL__sub_I_katerenderer.cpp
00000000000b6ac0 _GLOBAL__sub_I_katehighlight.cpp
00000000000b6b00 _GLOBAL__sub_I_ontheflycheck.cpp
00000000000b6b60 _GLOBAL__sub_I_kateautoindent.cpp
00000000000b6bd0 _GLOBAL__sub_I_katecommandrangeexpressionparser.cpp
00000000000b6c00 _GLOBAL__sub_I_qrc_ktexteditor.cpp
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::fromLatin1_helper(char const*, int)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>::convertTo<QString>() const
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(int, Qt::Initialization)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QAbstractConcatenable::appendLatin1To(char const*, int, QChar*)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> memcpy@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QAbstractConcatenable::appendLatin1To(char const*, int, QChar*)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>::convertTo<QString>() const
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>::convertTo<QString>() const
00000000000b74f0 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000000b7500 _GLOBAL__sub_I_marks.cpp
00000000000b7540 _GLOBAL__sub_I_completionrecorder.cpp

after:
text data bss dec hex filename
3528131 119592 3496 3651219 37b693 libKF5TextEditor.so

Initializers:
00000000000b6720 frame_dummy
00000000000b65a0 _GLOBAL__sub_I_katescript.cpp
00000000000b65d0 _GLOBAL__sub_I_katescripthelpers.cpp
00000000000b6600 _GLOBAL__sub_I_qrc_ktexteditor.cpp

debug build:

before:
text data bss dec hex filename
4387252 121160 3616 4512028 44d91c libKF5TextEditor.so

Initializers:
00000000000bc2c0 frame_dummy
000000000010ccd3 _GLOBAL__sub_I_expandingwidgetmodel.cpp -> QIcon::QIcon()@plt
000000000010ccd3 _GLOBAL__sub_I_expandingwidgetmodel.cpp -> QIcon::QIcon()@plt
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QLatin1String::QLatin1String(char const*)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QString::QString(QLatin1String)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax)@plt
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QLatin1String::QLatin1String(char const*)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QString::QString(QLatin1String)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax)@plt
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QLatin1String::QLatin1String(char const*)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QString::QString(QLatin1String)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax)@plt
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QLatin1String::QLatin1String(char const*)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QString::QString(QLatin1String)
0000000000157cbc _GLOBAL__sub_I_katedocument.cpp -> QRegExp::QRegExp(QString const&, Qt::CaseSensitivity, QRegExp::PatternSyntax)@plt
00000000001740c6 _GLOBAL__sub_I_katescript.cpp -> std::ios_base::Init::Init()@plt
000000000018326e _GLOBAL__sub_I_katescripthelpers.cpp -> std::ios_base::Init::Init()@plt
00000000001a8664 _GLOBAL__sub_I_katerenderer.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
00000000001a8664 _GLOBAL__sub_I_katerenderer.cpp -> QLatin1String::QLatin1String(char const*)
00000000001a8664 _GLOBAL__sub_I_katerenderer.cpp -> QString::QString(QLatin1String)
00000000001a8664 _GLOBAL__sub_I_katerenderer.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
00000000001e4c0c _GLOBAL__sub_I_katehighlight.cpp -> QString::fromLatin1(char const*, int)
0000000000247d47 _GLOBAL__sub_I_ontheflycheck.cpp -> QString::QString()
0000000000247d47 _GLOBAL__sub_I_ontheflycheck.cpp -> QPair<KTextEditor::MovingRange*, QString>::QPair(KTextEditor::MovingRange* const&, QString const&)
00000000002678a3 _GLOBAL__sub_I_kateautoindent.cpp -> QLatin1String::QLatin1String(char const*)
00000000002678a3 _GLOBAL__sub_I_kateautoindent.cpp -> QString::QString(QLatin1String)
00000000002678a3 _GLOBAL__sub_I_kateautoindent.cpp -> QLatin1String::QLatin1String(char const*)
00000000002678a3 _GLOBAL__sub_I_kateautoindent.cpp -> QString::QString(QLatin1String)
00000000002868c6 _GLOBAL__sub_I_katecommandrangeexpressionparser.cpp -> CommandRangeExpressionParser::CommandRangeExpressionParser()
00000000002aa3a8 _GLOBAL__sub_I_qrc_ktexteditor.cpp -> (anonymous namespace)::initializer::initializer()
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QString::QString(QLatin1String)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QLatin1String>::type, QConcatenable<QString>::type> operator+<QLatin1String, QString>(QLatin1String const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QLatin1String, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QLatin1String, QString>, QLatin1String>(QStringBuilder<QLatin1String, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>, QString>, QLatin1String>::operator QString() const
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QLatin1String>::type, QConcatenable<QString>::type> operator+<QLatin1String, QString>(QLatin1String const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QLatin1String, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QLatin1String, QString>, QLatin1String>(QStringBuilder<QLatin1String, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>::operator QString() const
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QLatin1String>::type, QConcatenable<QString>::type> operator+<QLatin1String, QString>(QLatin1String const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QLatin1String, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QLatin1String, QString>, QLatin1String>(QStringBuilder<QLatin1String, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>::operator QString() const
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QFlags<QRegularExpression::PatternOption>::QFlags(QRegularExpression::PatternOption)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::pattern() const@plt
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QLatin1String::QLatin1String(char const*)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QLatin1String>::type, QConcatenable<QString>::type> operator+<QLatin1String, QString>(QLatin1String const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QLatin1String, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QLatin1String, QString>, QLatin1String>(QStringBuilder<QLatin1String, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String> >::type, QConcatenable<QString>::type> operator+<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>(QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String> const&, QString const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QConcatenable<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString> >::type, QConcatenable<QLatin1String>::type> operator+<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>(QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString> const&, QLatin1String const&)
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QStringBuilder<QStringBuilder<QStringBuilder<QStringBuilder<QLatin1String, QString>, QLatin1String>, QString>, QLatin1String>::operator QString() const
0000000000306bf4 _GLOBAL__sub_I_commandrangeexpressionparser.cpp -> QRegularExpression::QRegularExpression(QString const&, QFlags<QRegularExpression::PatternOption>)@plt
0000000000308a81 _GLOBAL__sub_I_marks.cpp -> QLatin1String::QLatin1String(char const*)
0000000000308a81 _GLOBAL__sub_I_marks.cpp -> QString::QString(QLatin1String)
00000000003144d6 _GLOBAL__sub_I_completionrecorder.cpp -> QLatin1String::QLatin1String(char const*)
00000000003144d6 _GLOBAL__sub_I_completionrecorder.cpp -> QString::QString(QLatin1String)
00000000003144d6 _GLOBAL__sub_I_completionrecorder.cpp -> QFlags<Qt::KeyboardModifier>::QFlags(Qt::KeyboardModifier)
00000000003144d6 _GLOBAL__sub_I_completionrecorder.cpp -> QKeyEvent::QKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, QString const&, bool, unsigned short)@plt

after:

   text    data     bss     dec     hex filename
4394913  121032    3552 4519497  44f649 libKF5TextEditor.so

~/projects/compiled/kf5/lib64$ c++_find_global_intializers.py libKF5TextEditor.so.5.7.0 
Initializers:
00000000000bc010 frame_dummy
0000000000173fd4 _GLOBAL__sub_I_katescript.cpp -> std::ios_base::Init::Init()@plt
000000000018317c _GLOBAL__sub_I_katescripthelpers.cpp -> std::ios_base::Init::Init()@plt
00000000002aa4ac _GLOBAL__sub_I_qrc_ktexteditor.cpp -> (anonymous namespace)::initializer::initializer()
Milian Wolff
Milian Wolff
Volker Krause
Marc Mutz
Milian Wolff
Milian Wolff
Christoph Cullmann
Milian Wolff
Review request changed

Status: Closed (submitted)

Loading...