xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/doc/html/manual/appendix_contributing.html (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
136ac495dSmrg<?xml version="1.0" encoding="UTF-8" standalone="no"?>
236ac495dSmrg<!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. 
336ac495dSmrg  Contributing
436ac495dSmrg
536ac495dSmrg</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix.html">Prev</a> </td><th width="60%" align="center">Part IV. 
636ac495dSmrg  Appendices
736ac495dSmrg</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>
836ac495dSmrg  Contributing
936ac495dSmrg  <a id="id-1.3.6.2.1.1.1" class="indexterm"></a>
1036ac495dSmrg</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>
1136ac495dSmrg  The GNU C++ Library is part of GCC and follows the same development model,
1236ac495dSmrg  so the general rules for
1336ac495dSmrg  <a class="link" href="http://gcc.gnu.org/contribute.html" target="_top">contributing
1436ac495dSmrg  to GCC</a> apply. Active
1536ac495dSmrg  contributors are assigned maintainership responsibility, and given
1636ac495dSmrg  write access to the source repository. First-time contributors
1736ac495dSmrg  should follow this procedure:
1836ac495dSmrg</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>
1936ac495dSmrg	  Get and read the relevant sections of the C++ language
2036ac495dSmrg	  specification. Copies of the full ISO 14882 standard are
2136ac495dSmrg	  available on line via the ISO mirror site for committee
2236ac495dSmrg	  members. Non-members, or those who have not paid for the
2336ac495dSmrg	  privilege of sitting on the committee and sustained their
2436ac495dSmrg	  two meeting commitment for voting rights, may get a copy of
2536ac495dSmrg	  the standard from their respective national standards
2636ac495dSmrg	  organization. In the USA, this national standards
2736ac495dSmrg	  organization is
2836ac495dSmrg	  <a class="link" href="https://www.ansi.org" target="_top">ANSI</a>.
29*8feb0f0bSmrg	  (And if you've already registered with them you can <a class="link" href="https://webstore.ansi.org/Standards/ISO/ISOIEC148822014" target="_top">buy
3036ac495dSmrg	  the standard on-line</a>.)
3136ac495dSmrg	</p></li><li class="listitem"><p>
3236ac495dSmrg	  The library working group bugs, and known defects, can
3336ac495dSmrg	  be obtained here:
3436ac495dSmrg	  <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21</a>
3536ac495dSmrg	</p></li><li class="listitem"><p>
3636ac495dSmrg	  Peruse
3736ac495dSmrg	  the <a class="link" href="http://www.gnu.org/prep/standards/" target="_top">GNU
3836ac495dSmrg	  Coding Standards</a>, and chuckle when you hit the part
3936ac495dSmrg	  about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
4036ac495dSmrg	</p></li><li class="listitem"><p>
4136ac495dSmrg	  Be familiar with the extensions that preceded these
4236ac495dSmrg	  general GNU rules. These style issues for libstdc++ can be
4336ac495dSmrg	  found in <a class="link" href="source_code_style.html" title="Coding Style">Coding Style</a>.
4436ac495dSmrg      </p></li><li class="listitem"><p>
4536ac495dSmrg	  And last but certainly not least, read the
4636ac495dSmrg	  library-specific information found in
4736ac495dSmrg          <a class="link" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance">Porting and Maintenance</a>.
4836ac495dSmrg      </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>
4936ac495dSmrg      See the <a class="link" href="http://gcc.gnu.org/contribute.html#legal" target="_top">legal prerequisites</a> for all GCC contributions.
5036ac495dSmrg    </p><p>
5136ac495dSmrg      Historically, the libstdc++ assignment form added the following
5236ac495dSmrg      question:
5336ac495dSmrg    </p><p>
5436ac495dSmrg      <span class="quote">“<span class="quote">
5536ac495dSmrg	Which Belgian comic book character is better, Tintin or Asterix, and
5636ac495dSmrg	why?
5736ac495dSmrg      </span>”</span>
5836ac495dSmrg    </p><p>
5936ac495dSmrg      While not strictly necessary, humoring the maintainers and answering
6036ac495dSmrg      this question would be appreciated.
6136ac495dSmrg    </p><p>
6236ac495dSmrg      Please contact
6336ac495dSmrg      Paolo Carlini at <code class="email">&lt;<a class="email" href="mailto:paolo.carlini@oracle.com">paolo.carlini@oracle.com</a>&gt;</code>
6436ac495dSmrg      or
6536ac495dSmrg      Jonathan Wakely at <code class="email">&lt;<a class="email" href="mailto:jwakely+assign@redhat.com">jwakely+assign@redhat.com</a>&gt;</code>
6636ac495dSmrg      if you are confused about the assignment or have general licensing
6736ac495dSmrg      questions. When requesting an assignment form from
6836ac495dSmrg      <code class="email">&lt;<a class="email" href="mailto:assign@gnu.org">assign@gnu.org</a>&gt;</code>, please CC the libstdc++
6936ac495dSmrg      maintainers above so that progress can be monitored.
7036ac495dSmrg    </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>
71*8feb0f0bSmrg      <a class="link" href="https://gcc.gnu.org/gitwrite.html" target="_top">Getting write access
7236ac495dSmrg	(look for "Write after approval")</a>
7336ac495dSmrg    </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>
7436ac495dSmrg      Every patch must have several pieces of information before it can be
7536ac495dSmrg      properly evaluated. Ideally (and to ensure the fastest possible
7636ac495dSmrg      response from the maintainers) it would have all of these pieces:
7736ac495dSmrg    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
7836ac495dSmrg	  A description of the bug and how your patch fixes this
7936ac495dSmrg	  bug. For new features a description of the feature and your
8036ac495dSmrg	  implementation.
8136ac495dSmrg	</p></li><li class="listitem"><p>
8236ac495dSmrg	  A ChangeLog entry as plain text; see the various
8336ac495dSmrg	  ChangeLog files for format and content. If you are
8436ac495dSmrg	  using emacs as your editor, simply position the insertion
8536ac495dSmrg	  point at the beginning of your change and hit CX-4a to bring
8636ac495dSmrg	  up the appropriate ChangeLog entry. See--magic! Similar
8736ac495dSmrg	  functionality also exists for vi.
8836ac495dSmrg	</p></li><li class="listitem"><p>
8936ac495dSmrg	  A testsuite submission or sample program that will
9036ac495dSmrg	  easily and simply show the existing error or test new
9136ac495dSmrg	  functionality.
9236ac495dSmrg	</p></li><li class="listitem"><p>
93a2dc1f3fSmrg	  The patch itself. If you are using the Git repository use
94a2dc1f3fSmrg	  <span class="command"><strong>git diff</strong></span> or <span class="command"><strong>git format-patch</strong></span>
95a2dc1f3fSmrg	  to produce a patch;
96a2dc1f3fSmrg	  otherwise, use <span class="command"><strong>diff -cp OLD NEW</strong></span>. If your
9736ac495dSmrg	  version of diff does not support these options, then get the
98a2dc1f3fSmrg	  latest version of GNU diff.
9936ac495dSmrg	</p></li><li class="listitem"><p>
10036ac495dSmrg	  When you have all these pieces, bundle them up in a
10136ac495dSmrg	  mail message and send it to libstdc++@gcc.gnu.org. All
10236ac495dSmrg	  patches and related discussion should be sent to the
10336ac495dSmrg	  libstdc++ mailing list. In common with the rest of GCC,
10436ac495dSmrg	  patches should also be sent to the gcc-patches mailing list.
10536ac495dSmrg	</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. 
10636ac495dSmrg  Appendices
10736ac495dSmrg </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>