Skip to content

Commit a1f64c4

Browse files
committed
QDoc: Modify generated output test project
Due to an upstream change [0], QDoc no longer generates the `noexcept` specifier for compiler generated member functions when QDoc is linked against LLVM 18. The issue has been addressed previously for the `tst_validateQdocOutputFiles` test [1], by modifying the impacted test data such that documentation isn't generated for such functions in tests, thus ensuring that QDoc generates identical output for the test projects when linked against both LLVM 17 and 18. Due to an oversight, the duplicate test data in `tst_generatedOutput` was not modified accordingly. This change addresses that mistake. [0] llvm/llvm-project#69688 [1] 9f2cbfc (qttools.git) Task-number: QTBUG-123130 Change-Id: I72da94b49144649d787158894ae1bf09589fc7f3 Reviewed-by: Luca Di Sera <[email protected]> (cherry picked from commit 274a589) Reviewed-by: Topi Reiniö <[email protected]>
1 parent 9796063 commit a1f64c4

File tree

5 files changed

+15
-12
lines changed

5 files changed

+15
-12
lines changed

src/qdoc/qdoc/tests/generatedoutput/expected_output/testcpp.index

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
2626
<parameter type="int &amp;" name="x" default=""/>
2727
</function>
28-
<function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" documented="true" meta="constructor" noexcept="true" signature="Test()"/>
28+
<function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" location="testcpp.h" documented="true" meta="constructor" signature="Test()"/>
2929
<function name="anotherObsoleteMember" fullname="TestQDoc::Test::anotherObsoleteMember" href="testqdoc-test-obsolete.html#anotherObsoleteMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void anotherObsoleteMember()"/>
3030
<function name="deprecatedMember" fullname="TestQDoc::Test::deprecatedMember" href="testqdoc-test-obsolete.html#deprecatedMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void deprecatedMember()"/>
3131
<function name="funcPtr" fullname="TestQDoc::Test::funcPtr" href="testqdoc-test.html#funcPtr" status="active" access="public" location="testcpp.h" documented="true" meta="plain" type="void (*)(bool)" signature="void (*)(bool) funcPtr(bool b, const char *s)">
@@ -38,7 +38,7 @@
3838
<function name="obsoleteMember" fullname="TestQDoc::Test::obsoleteMember" href="testqdoc-test-obsolete.html#obsoleteMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void obsoleteMember()"/>
3939
<function name="operator++" fullname="TestQDoc::Test::operator++" href="testqdoc-test-obsolete.html#operator-2b-2b" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator++()"/>
4040
<function name="operator--" fullname="TestQDoc::Test::operator--" href="testqdoc-test-obsolete.html#operator--" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator--()"/>
41-
<function name="operator=" fullname="TestQDoc::Test::operator=" href="testqdoc-test.html#operator-eq" status="active" access="public" documented="true" meta="move-assign" noexcept="true" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator=(TestQDoc::Test &amp;&amp;other)" groups="testgroup">
41+
<function name="operator=" fullname="TestQDoc::Test::operator=" href="testqdoc-test.html#operator-eq" status="active" access="public" location="testcpp.h" documented="true" meta="move-assign" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator=(TestQDoc::Test &amp;&amp;other)" groups="testgroup">
4242
<parameter type="TestQDoc::Test &amp;&amp;" name="other" default=""/>
4343
</function>
4444
<function name="operator==" href="testqdoc-test.html#operator-eq-eq" status="active" access="public" location="testcpp.h" documented="true" related="2" meta="plain" type="bool" signature="bool operator==(const TestQDoc::Test &amp;lhs, const TestQDoc::Test &amp;rhs)">

src/qdoc/qdoc/tests/generatedoutput/expected_output/testcpp/testqdoc-test.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ <h3 class="fn fngroupitem" translate="no" id="overload"><code class="details ext
9494
<p>Overloads that share a documentation comment, optionally taking a parameter <i translate="no">b</i>.</p>
9595
<!-- @@@ -->
9696
<!-- $$$Test[overload1]$$$Test -->
97-
<h3 class="fn" translate="no" id="Test"><code class="details extra" translate="no">[noexcept default]</code> Test::<span class="name">Test</span>()</h3>
98-
<p>Default constructor.</p>
97+
<h3 class="fn" translate="no" id="Test">Test::<span class="name">Test</span>()</h3>
98+
<p>The default constructor is deleted.</p>
9999
<!-- @@@Test -->
100100
<!-- $$$funcPtr[overload1]$$$funcPtrboolconstchar* -->
101101
<h3 class="fn" translate="no" id="funcPtr"><span class="type">void</span> (*)(<span class="type">bool</span>) Test::<span class="name">funcPtr</span>(<span class="type">bool</span> <i>b</i>, const <span class="type">char</span> *<i>s</i>)</h3>
@@ -139,8 +139,8 @@ <h3 class="fn" translate="no" id="virtualFun"><code class="details extra" transl
139139
<p>Function that must be reimplemented.</p>
140140
<!-- @@@virtualFun -->
141141
<!-- $$$operator=[overload1]$$$operator=TestQDoc::Test&& -->
142-
<h3 class="fn" translate="no" id="operator-eq"><code class="details extra" translate="no">[noexcept default]</code> <span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;Test::<span class="name">operator=</span>(<span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;&amp;<i>other</i>)</h3>
143-
<p>Move-assigns <i translate="no">other</i>.</p>
142+
<h3 class="fn" translate="no" id="operator-eq"><span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;Test::<span class="name">operator=</span>(<span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;&amp;<i>other</i>)</h3>
143+
<p>The move assignment operator is deleted. <i translate="no">other</i> cannot be moved from.</p>
144144
<!-- @@@operator= -->
145145
</div>
146146
<div class="relnonmem">

src/qdoc/qdoc/tests/generatedoutput/expected_output/testqdoc-test.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ <h3 class="fn fngroupitem" translate="no" id="overload"><code class="details ext
9494
<p>Overloads that share a documentation comment, optionally taking a parameter <i translate="no">b</i>.</p>
9595
<!-- @@@ -->
9696
<!-- $$$Test[overload1]$$$Test -->
97-
<h3 class="fn" translate="no" id="Test"><code class="details extra" translate="no">[noexcept default]</code> Test::<span class="name">Test</span>()</h3>
98-
<p>Default constructor.</p>
97+
<h3 class="fn" translate="no" id="Test">Test::<span class="name">Test</span>()</h3>
98+
<p>The default constructor is deleted.</p>
9999
<!-- @@@Test -->
100100
<!-- $$$funcPtr[overload1]$$$funcPtrboolconstchar* -->
101101
<h3 class="fn" translate="no" id="funcPtr"><span class="type">void</span> (*)(<span class="type">bool</span>) Test::<span class="name">funcPtr</span>(<span class="type">bool</span> <i>b</i>, const <span class="type">char</span> *<i>s</i>)</h3>
@@ -139,8 +139,8 @@ <h3 class="fn" translate="no" id="virtualFun"><code class="details extra" transl
139139
<p>Function that must be reimplemented.</p>
140140
<!-- @@@virtualFun -->
141141
<!-- $$$operator=[overload1]$$$operator=TestQDoc::Test&& -->
142-
<h3 class="fn" translate="no" id="operator-eq"><code class="details extra" translate="no">[noexcept default]</code> <span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;Test::<span class="name">operator=</span>(<span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;&amp;<i>other</i>)</h3>
143-
<p>Move-assigns <i translate="no">other</i>.</p>
142+
<h3 class="fn" translate="no" id="operator-eq"><span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;Test::<span class="name">operator=</span>(<span class="type"><a href="testqdoc-test.html" translate="no">TestQDoc::Test</a></span> &amp;&amp;<i>other</i>)</h3>
143+
<p>The move assignment operator is deleted. <i translate="no">other</i> cannot be moved from.</p>
144144
<!-- @@@operator= -->
145145
</div>
146146
<div class="relnonmem">

src/qdoc/qdoc/tests/generatedoutput/testdata/testcpp/testcpp.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,14 @@ namespace TestQDoc {
7676
/*!
7777
\fn TestQDoc::Test::Test()
7878
79-
Default constructor.
79+
The default constructor is deleted.
8080
*/
8181

8282
/*!
8383
\fn Test &Test::operator=(Test &&other)
8484
\ingroup testgroup
8585
86-
Move-assigns \a other.
86+
The move assignment operator is deleted. \a other cannot be moved from.
8787
*/
8888

8989
/*!

src/qdoc/qdoc/tests/generatedoutput/testdata/testcpp/testcpp.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ using Specialized = Struct<int, T>;
6868

6969
friend bool operator==(const Test &lhs, const Test &rhs) { return false; }
7070

71+
Test() = delete;
72+
Test &operator=(Test &&other) = delete;
73+
7174
protected:
7275
void overload() {}
7376
void overload(bool b) { if (!b) return; }

0 commit comments

Comments
 (0)