Skip to content

Commit 49c2ea4

Browse files
committed
QDoc: Modify validated output test projects
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. This change modifies the test projects for the output validation test 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. [0] llvm/llvm-project#69688 Task-number: QTBUG-123130 Change-Id: I0d1fd48be08ec4beb11e1d74ae574ddb2c914a4a Reviewed-by: Topi Reiniö <[email protected]> (cherry picked from commit 9f2cbfc)
1 parent 4704e39 commit 49c2ea4

35 files changed

+30
-185
lines changed

src/qdoc/qdoc/tests/validateqdocoutputfiles/testdata/comprehensiveproject/expected/docbook/testqdoc-test.xml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,17 @@
8989
<db:para>Overloads that share a documentation comment, optionally taking a parameter <db:code its:translate="no" role="parameter">b</db:code>.</db:para>
9090
</db:section>
9191
<db:section xml:id="Test">
92-
<db:title its:translate="no">[noexcept default] Test::Test()</db:title>
92+
<db:title its:translate="no">Test::Test()</db:title>
9393
<db:constructorsynopsis>
9494
<db:methodname>Test</db:methodname>
9595
<db:void/>
96-
<db:modifier>default</db:modifier>
9796
<db:synopsisinfo role="meta">constructor</db:synopsisinfo>
98-
<db:synopsisinfo role="signature">Test() = default</db:synopsisinfo>
97+
<db:synopsisinfo role="signature">Test()</db:synopsisinfo>
9998
<db:synopsisinfo role="access">public</db:synopsisinfo>
10099
<db:synopsisinfo role="status">active</db:synopsisinfo>
101100
<db:synopsisinfo role="threadsafeness">unspecified</db:synopsisinfo>
102101
</db:constructorsynopsis>
103-
<db:para>Default constructor.</db:para>
102+
<db:para>The constructor is deleted.</db:para>
104103
</db:section>
105104
<db:section xml:id="funcPtr">
106105
<db:title its:translate="no">void (*)(bool) Test::funcPtr(bool <db:emphasis>b</db:emphasis>, const char *<db:emphasis>s</db:emphasis>)</db:title>
@@ -256,22 +255,21 @@
256255
<db:para>Function that must be reimplemented.</db:para>
257256
</db:section>
258257
<db:section xml:id="operator-eq">
259-
<db:title its:translate="no">[noexcept default] TestQDoc::Test &amp;Test::operator=(TestQDoc::Test &amp;&amp;<db:emphasis>other</db:emphasis>)</db:title>
258+
<db:title its:translate="no">TestQDoc::Test &amp;Test::operator=(TestQDoc::Test &amp;&amp;<db:emphasis>other</db:emphasis>)</db:title>
260259
<db:methodsynopsis>
261260
<db:type>TestQDoc::Test &amp;</db:type>
262261
<db:methodname>operator=</db:methodname>
263262
<db:methodparam>
264263
<db:type>TestQDoc::Test &amp;&amp;</db:type>
265264
<db:parameter>other</db:parameter>
266265
</db:methodparam>
267-
<db:modifier>default</db:modifier>
268266
<db:synopsisinfo role="meta">move-assign</db:synopsisinfo>
269-
<db:synopsisinfo role="signature">TestQDoc::Test &amp; operator=(TestQDoc::Test &amp;&amp;other) = default</db:synopsisinfo>
267+
<db:synopsisinfo role="signature">TestQDoc::Test &amp; operator=(TestQDoc::Test &amp;&amp;other)</db:synopsisinfo>
270268
<db:synopsisinfo role="access">public</db:synopsisinfo>
271269
<db:synopsisinfo role="status">active</db:synopsisinfo>
272270
<db:synopsisinfo role="threadsafeness">unspecified</db:synopsisinfo>
273271
</db:methodsynopsis>
274-
<db:para>Move-assigns <db:code its:translate="no" role="parameter">other</db:code>.</db:para>
272+
<db:para>The move assignment operator is deleted. <db:code its:translate="no" role="parameter">other</db:code> cannot be moved from.</db:para>
275273
</db:section>
276274
</db:section>
277275
<db:section xml:id="related-non-members">

src/qdoc/qdoc/tests/validateqdocoutputfiles/testdata/comprehensiveproject/expected/html/test.index

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
<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">
111111
<parameter type="int &amp;" name="x" default=""/>
112112
</function>
113-
<function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" documented="true" meta="constructor" noexcept="true" signature="Test()"/>
113+
<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()"/>
114114
<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()"/>
115115
<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()"/>
116116
<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)">
@@ -123,7 +123,7 @@
123123
<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()"/>
124124
<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++()"/>
125125
<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--()"/>
126-
<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">
126+
<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">
127127
<parameter type="TestQDoc::Test &amp;&amp;" name="other" default=""/>
128128
</function>
129129
<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/validateqdocoutputfiles/testdata/comprehensiveproject/expected/html/testqdoc-test.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ <h3 class="fn fngroupitem" translate="no" id="overload"><code class="details ext
9595
<p>Overloads that share a documentation comment, optionally taking a parameter <i translate="no">b</i>.</p>
9696
<!-- @@@ -->
9797
<!-- $$$Test[overload1]$$$Test -->
98-
<h3 class="fn" translate="no" id="Test"><code class="details extra" translate="no">[noexcept default]</code> Test::<span class="name">Test</span>()</h3>
99-
<p>Default constructor.</p>
98+
<h3 class="fn" translate="no" id="Test">Test::<span class="name">Test</span>()</h3>
99+
<p>The constructor is deleted.</p>
100100
<!-- @@@Test -->
101101
<!-- $$$funcPtr[overload1]$$$funcPtrboolconstchar* -->
102102
<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>
@@ -142,8 +142,8 @@ <h3 class="fn" translate="no" id="virtualFun"><code class="details extra" transl
142142
<p>Function that must be reimplemented.</p>
143143
<!-- @@@virtualFun -->
144144
<!-- $$$operator=[overload1]$$$operator=TestQDoc::Test&& -->
145-
<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>
146-
<p>Move-assigns <i translate="no">other</i>.</p>
145+
<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>
146+
<p>The move assignment operator is deleted. <i translate="no">other</i> cannot be moved from.</p>
147147
<!-- @@@operator= -->
148148
</div>
149149
<div class="relnonmem">

src/qdoc/qdoc/tests/validateqdocoutputfiles/testdata/comprehensiveproject/expected/webxml/test.index

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
<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">
9999
<parameter type="int &amp;" name="x" default=""/>
100100
</function>
101-
<function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" documented="true" meta="constructor" noexcept="true" signature="Test()"/>
101+
<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()"/>
102102
<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()"/>
103103
<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()"/>
104104
<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)">
@@ -111,7 +111,7 @@
111111
<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()"/>
112112
<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++()"/>
113113
<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--()"/>
114-
<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">
114+
<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">
115115
<parameter type="TestQDoc::Test &amp;&amp;" name="other" default=""/>
116116
</function>
117117
<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/validateqdocoutputfiles/testdata/comprehensiveproject/expected/webxml/testqdoc-test.webxml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
<brief>A macro with argument <argument>x</argument>.</brief>
1212
</description>
1313
</function>
14-
<function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" documented="true" meta="constructor" noexcept="true" signature="Test()">
14+
<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()">
1515
<description>
16-
<para>Default constructor.</para>
16+
<para>The constructor is deleted.</para>
1717
</description>
1818
</function>
1919
<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()">
@@ -72,10 +72,10 @@
7272
<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--()">
7373
<description/>
7474
</function>
75-
<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">
75+
<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">
7676
<parameter type="TestQDoc::Test &amp;&amp;" name="other" default=""/>
7777
<description>
78-
<para>Move-assigns <argument>other</argument>.</para>
78+
<para>The move assignment operator is deleted. <argument>other</argument> cannot be moved from.</para>
7979
</description>
8080
</function>
8181
<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/validateqdocoutputfiles/testdata/comprehensiveproject/expected/webxml/testqdoc.webxml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
<brief>A macro with argument <argument>x</argument>.</brief>
2424
</description>
2525
</function>
26-
<function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" documented="true" meta="constructor" noexcept="true" signature="Test()">
26+
<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()">
2727
<description>
28-
<para>Default constructor.</para>
28+
<para>The constructor is deleted.</para>
2929
</description>
3030
</function>
3131
<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()">
@@ -84,10 +84,10 @@
8484
<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--()">
8585
<description/>
8686
</function>
87-
<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">
87+
<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">
8888
<parameter type="TestQDoc::Test &amp;&amp;" name="other" default=""/>
8989
<description>
90-
<para>Move-assigns <argument>other</argument>.</para>
90+
<para>The move assignment operator is deleted. <argument>other</argument> cannot be moved from.</para>
9191
</description>
9292
</function>
9393
<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/validateqdocoutputfiles/testdata/comprehensiveproject/src/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 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/validateqdocoutputfiles/testdata/comprehensiveproject/src/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; }

src/qdoc/qdoc/tests/validateqdocoutputfiles/testdata/scopedenum/expected/docbook/cpptypes.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
<db:para><db:link xlink:href="testqdoc-test.xml#QDOCTEST_MACRO2" xlink:role="function">TestQDoc::Test::QDOCTEST_MACRO2</db:link></db:para>
1717
</db:listitem>
1818
<db:listitem>
19-
<db:para><db:link xlink:href="testqdoc-test.xml#operator-eq" xlink:role="function">TestQDoc::Test::operator=()</db:link></db:para>
20-
</db:listitem>
21-
<db:listitem>
2219
<db:para><db:link xlink:href="testqdoc-test.xml#someFunctionDefaultArg" xlink:role="function">TestQDoc::Test::someFunctionDefaultArg()</db:link></db:para>
2320
</db:listitem>
2421
</db:itemizedlist>

src/qdoc/qdoc/tests/validateqdocoutputfiles/testdata/scopedenum/expected/docbook/testcpp-module.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,6 @@
6868
<db:listitem>
6969
<db:para><db:link xlink:href="testcpp-module.xml#section">section() is a section title</db:link></db:para>
7070
</db:listitem>
71-
<db:listitem>
72-
<db:para><db:link xlink:href="testqdoc-test.xml#Test">open( parenthesis</db:link></db:para>
73-
</db:listitem>
74-
<db:listitem>
75-
<db:para><db:link xlink:href="https://en.cppreference.com/w/cpp/utility/move">C++11 added std::move(T&amp;&amp; t)</db:link></db:para>
76-
</db:listitem>
7771
</db:itemizedlist>
7872
<db:section xml:id="section">
7973
<db:title>section()</db:title>

0 commit comments

Comments
 (0)