| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Contributing</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV. Appendices" /><link rel="prev" href="appendix.html" title="Part IV. Appendices" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. | |
| Contributing | |
| </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix.html">Prev</a> </td><th width="60%" align="center">Part IV. | |
| Appendices | |
| </th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.contrib"></a> | |
| Contributing | |
| <a id="id-1.3.6.2.1.1.1" class="indexterm"></a> | |
| </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p> | |
| The GNU C++ Library is part of GCC and follows the same development model, | |
| so the general rules for | |
| <a class="link" href="https://gcc.gnu.org/contribute.html" target="_top">contributing | |
| to GCC</a> apply. Active | |
| contributors are assigned maintainership responsibility, and given | |
| write access to the source repository. First-time contributors | |
| should follow this procedure: | |
| </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> | |
| Get and read the relevant sections of the C++ language | |
| specification. Copies of the full ISO 14882 standard are | |
| available on line via the ISO mirror site for committee | |
| members. Non-members, or those who have not paid for the | |
| privilege of sitting on the committee and sustained their | |
| two meeting commitment for voting rights, may get a copy of | |
| the standard from their respective national standards | |
| organization. In the USA, this national standards | |
| organization is | |
| <a class="link" href="https://www.ansi.org" target="_top">ANSI</a>. | |
| (And if you've already registered with them you can <a class="link" href="https://webstore.ansi.org/standards/iso/isoiec148822014" target="_top">buy | |
| the standard on-line</a>.) | |
| </p></li><li class="listitem"><p> | |
| The library working group bugs, and known defects, can | |
| be obtained here: | |
| <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/" target="_top">https://www.open-std.org/jtc1/sc22/wg21</a> | |
| </p></li><li class="listitem"><p> | |
| Peruse | |
| the <a class="link" href="https://www.gnu.org/prep/standards/" target="_top">GNU | |
| Coding Standards</a>, and chuckle when you hit the part | |
| about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>. | |
| </p></li><li class="listitem"><p> | |
| Be familiar with the extensions that preceded these | |
| general GNU rules. These style issues for libstdc++ can be | |
| found in <a class="link" href="source_code_style.html" title="Coding Style">Coding Style</a>. | |
| </p></li><li class="listitem"><p> | |
| And last but certainly not least, read the | |
| library-specific information found in | |
| <a class="link" href="appendix_porting.html" title="Appendix B. Porting and Maintenance">Porting and Maintenance</a>. | |
| </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p> | |
| See the <a class="link" href="https://gcc.gnu.org/contribute.html#legal" target="_top">legal prerequisites</a> for all GCC contributions. | |
| </p><p> | |
| Historically, the libstdc++ assignment form added the following | |
| question: | |
| </p><p> | |
| <span class="quote">“<span class="quote"> | |
| Which Belgian comic book character is better, Tintin or Asterix, and | |
| why? | |
| </span>”</span> | |
| </p><p> | |
| While not strictly necessary, humoring the maintainers and answering | |
| this question would be appreciated. | |
| </p><p> | |
| Please contact | |
| Jonathan Wakely at <code class="email"><<a class="email" href="mailto:jwakely+assign@redhat.com">jwakely+assign@redhat.com</a>></code> | |
| if you are confused about the assignment or have general licensing | |
| questions. When requesting an assignment form from | |
| <code class="email"><<a class="email" href="mailto:assign@gnu.org">assign@gnu.org</a>></code>, please CC the libstdc++ | |
| maintainer above so that progress can be monitored. | |
| </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p> | |
| <a class="link" href="https://gcc.gnu.org/gitwrite.html" target="_top">Getting write access | |
| (look for "Write after approval")</a> | |
| </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p> | |
| Every patch must have several pieces of information before it can be | |
| properly evaluated. Ideally (and to ensure the fastest possible | |
| response from the maintainers) it would have all of these pieces: | |
| </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> | |
| A description of the bug and how your patch fixes this | |
| bug. For new features a description of the feature and your | |
| implementation. | |
| </p></li><li class="listitem"><p> | |
| A ChangeLog entry as part of the Git commit message. Check | |
| some recent commits for format and content. The | |
| <code class="filename">contrib/mklog.py</code> script can be used to | |
| generate a ChangeLog template for commit messages. See | |
| <a class="link" href="https://gcc.gnu.org/gitwrite.html" target="_top">Read-write Git access</a> | |
| for scripts and aliases that are useful here. | |
| </p></li><li class="listitem"><p> | |
| A testsuite submission or sample program that will | |
| easily and simply show the existing error or test new | |
| functionality. | |
| </p></li><li class="listitem"><p> | |
| The patch itself. If you are using the Git repository use | |
| <span class="command"><strong>git show</strong></span> or <span class="command"><strong>git format-patch</strong></span> | |
| to produce a patch; | |
| otherwise, use <span class="command"><strong>diff -cp OLD NEW</strong></span>. If your | |
| version of diff does not support these options, then get the | |
| latest version of GNU diff. | |
| </p></li><li class="listitem"><p> | |
| When you have all these pieces, bundle them up in a | |
| mail message and send it to libstdc++@gcc.gnu.org. All | |
| patches and related discussion should be sent to the | |
| libstdc++ mailing list. In common with the rest of GCC, | |
| patches should also be sent to the gcc-patches mailing list. | |
| So you could send your email To:libstdc++@gcc.gnu.org and | |
| Cc:gcc-patches@gcc.gnu.org for example. | |
| </p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part IV. | |
| Appendices | |
| </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html> |