<table><tr><td style="">kossebau added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D22455">View Revision</a></tr></table><br /><div><div><p>Seems the introduced QStringLiteral as default argument here in the template method <tt style="background: #ebebeb; font-size: 13px;">executeCompletionTest()</tt> makes ubuntu bionic's GNU 7.4.0 C++ compiler screw up. At least there is some timely coincidence that the KDevelop builds on neon CI started to fail after this commit, with this error:</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">05:00:37 [100%] Building CXX object plugins/clang/tests/CMakeFiles/test_codecompletion.dir/test_codecompletion.cpp.o
05:00:37 plugins/clang/tests/CMakeFiles/test_codecompletion.dir/build.make:62: recipe for target 'plugins/clang/tests/CMakeFiles/test_codecompletion.dir/test_codecompletion.cpp.o' failed
05:00:37 make[4]: Leaving directory '/workspace/build/obj-x86_64-linux-gnu'
05:00:37 /tmp/ccrWtnBp.s: Assembler messages:
05:00:37 /tmp/ccrWtnBp.s:65174: Error: symbol `_ZZNK12_GLOBAL__N_1UlvE_clEvE15qstring_literal' is already defined
05:00:37 /tmp/ccrWtnBp.s:68144: Error: symbol `_ZZNK12_GLOBAL__N_1UlvE_clEvE15qstring_literal' is already defined
05:00:37 make[4]: *** [plugins/clang/tests/CMakeFiles/test_codecompletion.dir/test_codecompletion.cpp.o] Error 1
05:00:37 CMakeFiles/Makefile2:18121: recipe for target 'plugins/clang/tests/CMakeFiles/test_codecompletion.dir/all' failed
05:00:37 make[3]: *** [plugins/clang/tests/CMakeFiles/test_codecompletion.dir/all] Error 2</pre></div>
<p>from <a href="https://build.neon.kde.org/job/bionic_unstable_extras_kdevelop_bin_amd64/220/console" class="remarkup-link" target="_blank" rel="noreferrer">https://build.neon.kde.org/job/bionic_unstable_extras_kdevelop_bin_amd64/220/console</a></p>
<p>The symbols demangled is "(anonymous namespace)::{lambda()#1}::operator()() const::qstring_literal", thus this is the "static const QStaticStringData<Size> qstring_literal" from the QStringLiteral macro code about which it seems to complain being defined 3x. Though this is in a lambda, which should be instantiated each time when used, no? how could we clash here...<br />
[15:48] <volker|office> the symbol is not including the template arguments, but might be created per instantiation of the template<br />
[15:49] <volker|office> it's the same content in all cases, so either the compiler merges them, or it needs to give them a unique name</p>
<p>Seems we need to work-around by not using the QStringLiteral here, and have to pass things explicitly for now.</p>
<p>Fail related to this commit confirmed by:<br />
[15:58] <Riddellll> buscher: frinring it fails to link locally but when I revert <a href="https://phabricator.kde.org/R32:d1f58562046494b78e17c50c2fdab5c2800d9aaf" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">d1f58562046494b78e17c50c2fdab5c2800d9aaf</a> it's all good</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D22455">https://phabricator.kde.org/D22455</a></div></div><br /><div><strong>To: </strong>buschinski, KDevelop, apol<br /><strong>Cc: </strong>kossebau, kdevelop-devel, hmitonneau, christiant, glebaccon, domson, antismap, iodelay, alexeymin, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd<br /></div>