<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:14:43 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-2271] BSON_STATIC_ASSERT can trigger &quot;error: redefinition of typedef&quot; in clang</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2271</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;The BSON_ASSERT macro uses typedef tricks to force a compilation error if the static invariant it asserts is false. Unfortunately the symbols it typedefs are named only using the line number on which BSON_ASSERT is used. E.g. if there is a BSON_ASSERT on line 112, then a symbol static_assert_test_112 is involved in checking the invariant. If BSON_ASSERT is used in two files on the same line number in each, a pedantic compiler errors, &quot;error: redefinition of typedef &apos;static_assert_test_112&apos;&quot;.&lt;/p&gt;

&lt;p&gt;See for example:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://evergreen.mongodb.com/task_log_raw/mongo_c_driver_clang35_debug_compile_nosasl_nossl_patch_294976a086ce1a1d7c8dc904d8ba2503ae7e648e_59b413ede3c3311323000252_17_09_09_16_16_45/0?type=T#L907&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://evergreen.mongodb.com/task_log_raw/mongo_c_driver_clang35_debug_compile_nosasl_nossl_patch_294976a086ce1a1d7c8dc904d8ba2503ae7e648e_59b413ede3c3311323000252_17_09_09_16_16_45/0?type=T#L907&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To solve, make a new macro BSON_STATIC_ASSERT2 that allows a custom string prefix:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;BSON_STATIC_ASSERT2 (sizeof_counter_slots,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;                     sizeof (mongoc_counter_slots_t) == 64);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</description>
                <environment></environment>
        <key id="425859">CDRIVER-2271</key>
            <summary>BSON_STATIC_ASSERT can trigger &quot;error: redefinition of typedef&quot; in clang</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Sun, 10 Sep 2017 18:29:50 +0000</created>
                <updated>Sat, 28 Oct 2023 11:30:29 +0000</updated>
                            <resolved>Fri, 12 Jan 2018 03:02:02 +0000</resolved>
                                                    <fixVersion>1.9.0</fixVersion>
                                    <component>libbson</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1770914" author="xgen-internal-githook" created="Wed, 10 Jan 2018 22:51:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;ppisar@redhat.com&apos;, &apos;name&apos;: &apos;Petr P&#237;sa&#345;&apos;, &apos;username&apos;: &apos;ppisar&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2460&quot; title=&quot;BSON_STATIC_ASSERT() definition is broken&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2460&quot;&gt;&lt;del&gt;CDRIVER-2460&lt;/del&gt;&lt;/a&gt; fix BSON_STATIC_ASSERT definition&lt;/p&gt;

&lt;p&gt;The macro definition was mistakenly changed in 1.9.0 (&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2271&quot; title=&quot;BSON_STATIC_ASSERT can trigger &amp;quot;error: redefinition of typedef&amp;quot; in clang&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2271&quot;&gt;&lt;del&gt;CDRIVER-2271&lt;/del&gt;&lt;/a&gt;) and partly&lt;br/&gt;
reverted (&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2450&quot; title=&quot;Altering BSON_STATIC_ASSERT_JOIN2 macro is an API break&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2450&quot;&gt;&lt;del&gt;CDRIVER-2450&lt;/del&gt;&lt;/a&gt;). This change completely reverts the macro to its 1.8.0&lt;br/&gt;
definition.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Petr P&#237;sa&#345; &amp;lt;ppisar@redhat.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/35b0a890a50714b74d7793073d4d9e6693f70ad8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/35b0a890a50714b74d7793073d4d9e6693f70ad8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1699261" author="xgen-internal-githook" created="Sun, 15 Oct 2017 20:34:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;jesse@mongodb.com&apos;, &apos;name&apos;: &apos;A. Jesse Jiryu Davis&apos;, &apos;username&apos;: &apos;ajdavis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2271&quot; title=&quot;BSON_STATIC_ASSERT can trigger &amp;quot;error: redefinition of typedef&amp;quot; in clang&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2271&quot;&gt;&lt;del&gt;CDRIVER-2271&lt;/del&gt;&lt;/a&gt; avoid duplicate BSON_STATIC_ASSERTs&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/164fc951b00526343e9290f5d143bdf53f93b080&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/164fc951b00526343e9290f5d143bdf53f93b080&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1699260" author="xgen-internal-githook" created="Sun, 15 Oct 2017 20:27:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;jesse@mongodb.com&apos;, &apos;name&apos;: &apos;A. Jesse Jiryu Davis&apos;, &apos;username&apos;: &apos;ajdavis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2271&quot; title=&quot;BSON_STATIC_ASSERT can trigger &amp;quot;error: redefinition of typedef&amp;quot; in clang&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2271&quot;&gt;&lt;del&gt;CDRIVER-2271&lt;/del&gt;&lt;/a&gt; avoid duplicate BSON_STATIC_ASSERTs&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/libbson/commit/4e27abb58de93736a3cff082300448184d2a3715&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/libbson/commit/4e27abb58de93736a3cff082300448184d2a3715&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="478786">CDRIVER-2450</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|ht6eh3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>