Home | History | Annotate | Download | only in www

Lines Matching full:clang

6   <title>Clang - Get Involved</title>
16 <h1>Getting Involved with the Clang Project</h1>
18 <p>Once you have <a href="get_started.html">checked out and built</a> clang and
31 <p>Clang is a subproject of the <a href="http://llvm.org">LLVM Project</a>, but
33 interests. The two clang lists are:</p>
40 This list is for everything else Clang related (questions and answers, design
45 <p>If you are interested in clang only, these two lists should be all
55 list</a>. The clang mailing list is a very friendly place and we welcome
62 <p>You can also follow the <a href="http://planet.clang.org/">Planet Clang</a>
64 Clang developers, contributors and the standards they implement.</p>
70 <h2 id="criteria">Contributing Extensions to Clang</h2>
72 <p>Clang has always been designed as a platform for experimentation,
75 extensions may propose that the extensions become a part of Clang
76 itself, to benefit the whole Clang community. But not every idea--not
77 even every great idea--should become part of Clang. Extensions
79 on Clang, and therefore the benefits of the extension must outweight
86 <li>A specific need to reside within the Clang tree: There are some extensions that would be better expressed as a separate tool, and should remain as separate tools even if they end up being hosted as part of the LLVM umbrella project.</li>
90 <li>Representation within the appropriate governing organization: For extensions to a language governed by a standards committee (C, C++, OpenCL), the extension itself must have an active proposal and proponent within that committee and have a reasonable chance of acceptance. Clang should drive the standard, not diverge from it. This criterion does not apply to all extensions, since some extensions fall outside of the realm of the standards bodies.</li>
92 <li>A long-term support plan: Contributing a non-trivial extension to Clang implies a commitment to supporting that extension, improving the implementation and specification as Clang evolves. The capacity of the contributor to make that commitment is as important as the commitment itself.</li>
94 <li>A high-quality implementation: The implementation must fit well into Clang's architecture, follow LLVM's coding conventions, and meet Clang's quality standards, including high-quality diagnostics and rich AST representations. This is particularly important for language extensions, because users will learn how those extensions work through the behavior of the compiler.</li>
96 <li>A proper test suite: Extensive testing is crucial to ensure that the language extension is not broken by ongoing maintenance in Clang. The test suite should be complete enough that another compiler vendor could conceivably validate their implementation of the feature against it.</li>