1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!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-NS Stylesheets V1.78.1" /><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.�� 3 Contributing 4 5</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix.html">Prev</a>��</td><th width="60%" align="center">Part��IV.�� 6 Appendices 7</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> 8 Contributing 9 <a id="id-1.3.6.2.1.1.1" class="indexterm"></a> 10</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> 11 The GNU C++ Library is part of GCC and follows the same development model, 12 so the general rules for 13 <a class="link" href="http://gcc.gnu.org/contribute.html" target="_top">contributing 14 to GCC</a> apply. Active 15 contributors are assigned maintainership responsibility, and given 16 write access to the source repository. First-time contributors 17 should follow this procedure: 18</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> 19 Get and read the relevant sections of the C++ language 20 specification. Copies of the full ISO 14882 standard are 21 available on line via the ISO mirror site for committee 22 members. Non-members, or those who have not paid for the 23 privilege of sitting on the committee and sustained their 24 two meeting commitment for voting rights, may get a copy of 25 the standard from their respective national standards 26 organization. In the USA, this national standards 27 organization is 28 <a class="link" href="http://www.ansi.org" target="_top">ANSI</a>. 29 (And if you've already registered with them you can 30 <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+14882-2012" target="_top">buy the standard on-line</a>.) 31 </p></li><li class="listitem"><p> 32 The library working group bugs, and known defects, can 33 be obtained here: 34 <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21</a> 35 </p></li><li class="listitem"><p> 36 Peruse 37 the <a class="link" href="http://www.gnu.org/prep/standards/" target="_top">GNU 38 Coding Standards</a>, and chuckle when you hit the part 39 about <span class="quote">���<span class="quote">Using Languages Other Than C</span>���</span>. 40 </p></li><li class="listitem"><p> 41 Be familiar with the extensions that preceded these 42 general GNU rules. These style issues for libstdc++ can be 43 found in <a class="link" href="source_code_style.html" title="Coding Style">Coding Style</a>. 44 </p></li><li class="listitem"><p> 45 And last but certainly not least, read the 46 library-specific information found in 47 <a class="link" href="appendix_porting.html" title="Appendix��B.�� Porting and Maintenance">Porting and Maintenance</a>. 48 </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> 49 See the <a class="link" href="http://gcc.gnu.org/contribute.html#legal" target="_top">legal prerequisites</a> for all GCC contributions. 50 </p><p> 51 Historically, the libstdc++ assignment form added the following 52 question: 53 </p><p> 54 <span class="quote">���<span class="quote"> 55 Which Belgian comic book character is better, Tintin or Asterix, and 56 why? 57 </span>���</span> 58 </p><p> 59 While not strictly necessary, humoring the maintainers and answering 60 this question would be appreciated. 61 </p><p> 62 Please contact 63 Paolo Carlini at <code class="email"><<a class="email" href="mailto:paolo.carlini@oracle.com">paolo.carlini@oracle.com</a>></code> 64 or 65 Jonathan Wakely at <code class="email"><<a class="email" href="mailto:jwakely+assign@redhat.com">jwakely+assign@redhat.com</a>></code> 66 if you are confused about the assignment or have general licensing 67 questions. When requesting an assignment form from 68 <code class="email"><<a class="email" href="mailto:assign@gnu.org">assign@gnu.org</a>></code>, please CC the libstdc++ 69 maintainers above so that progress can be monitored. 70 </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 <a class="link" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access 72 (look for "Write after approval")</a> 73 </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> 74 Every patch must have several pieces of information before it can be 75 properly evaluated. Ideally (and to ensure the fastest possible 76 response from the maintainers) it would have all of these pieces: 77 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> 78 A description of the bug and how your patch fixes this 79 bug. For new features a description of the feature and your 80 implementation. 81 </p></li><li class="listitem"><p> 82 A ChangeLog entry as plain text; see the various 83 ChangeLog files for format and content. If you are 84 using emacs as your editor, simply position the insertion 85 point at the beginning of your change and hit CX-4a to bring 86 up the appropriate ChangeLog entry. See--magic! Similar 87 functionality also exists for vi. 88 </p></li><li class="listitem"><p> 89 A testsuite submission or sample program that will 90 easily and simply show the existing error or test new 91 functionality. 92 </p></li><li class="listitem"><p> 93 The patch itself. If you are accessing the SVN 94 repository use <span class="command"><strong>svn update; svn diff NEW</strong></span>; 95 else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your 96 version of diff does not support these options, then get the 97 latest version of GNU 98 diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN 99 Tricks</a> wiki page has information on customising the 100 output of <code class="code">svn diff</code>. 101 </p></li><li class="listitem"><p> 102 When you have all these pieces, bundle them up in a 103 mail message and send it to libstdc++@gcc.gnu.org. All 104 patches and related discussion should be sent to the 105 libstdc++ mailing list. 106 </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.�� 107 Appendices 108��</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>