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"><<a class="email" href="mailto:paolo.carlini@oracle.com">paolo.carlini@oracle.com</a>></code> 6436ac495dSmrg or 6536ac495dSmrg Jonathan Wakely at <code class="email"><<a class="email" href="mailto:jwakely+assign@redhat.com">jwakely+assign@redhat.com</a>></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"><<a class="email" href="mailto:assign@gnu.org">assign@gnu.org</a>></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>