[C++] Compile-Time Reflection Branch
Gabriel Dos Reis
gdr@integrable-solutions.net
Mon Feb 10 23:22:00 GMT 2003
Phil Edwards <phil@jaj.com> writes:
| On Tue, Jan 28, 2003 at 12:02:30PM +0100, Gabriel Dos_Reis wrote:
| > I've created a branch based on mainline, named "cxx-reflection-branch".
| > It purpose is to provide testbed for future extensions (to ISO C++ or
| > GNU C++) supporting compile-time reflection.
|
| Are there guidelines somewhere for how to handle checkins and merges
| with regard to changelog entries? For example, the tree-ssa branch has
| "ChangeLog.tree-saa" files in whatever directory they change. I don't
| know what they use for a log entry in the main changelog whenever merges
| take place, though.
|
| What are the rules for changes on this branch?
|
| Maybe something like
|
| http://gcc.gnu.org/projects/tree-ssa/
|
| somewhere? (Although this work is not so big as tree-ssa yet.)
The below is largely based on tree-ssa/index.html.
Any comments?
-- Gaby
Index: index.html
===================================================================
RCS file: index.html
diff -N index.html
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- index.html 10 Feb 2003 23:19:02 -0000
***************
*** 0 ****
--- 1,75 ----
+ <html>
+ <head>
+ <title>Compile Time Reflection and Template Meta-Programming in C++</title>
+ </head>
+
+ <body>
+ <h1>Compile Time Reflection for C++</h1>
+
+ <p>This works is part of the effort of providing support for compile
+ time reflection in C++. A basic example of such feature is the
+ type traits proposal by John Maddock. More generally, this project
+ aims at providing support for compile-time features that enhance and
+ facilitate development of C++ libraries and application programs.</p>
+
+
+ <h1>Template Meta-Programming</h1>
+
+ <p>This sub-project aims at implementing and providing experience with
+ features that improve support for template meta-programming and
+ constrained genericity in C++.</p>
+
+ <h3>Contributing</h3>
+
+ <p>Checkout the <code>cxx-reflection-branch</code> branch
+ following the instructions found in the <a href="../../cvs.html">CVS
+ documentation</a>.</p>
+
+ <p>When posting to the development lists, please mark messages and patches with
+ <code>[cxx-reflection]</code> in the subject. As this is a branch, and not
+ the mainline, the usual maintainer rules do not apply. This branch is
+ maintained by <a href="mailto:gdosreis@sophia.inria.fr">Gabriel Dos Reis
+ <gdosreis@sophia.inria.fr></a>. Approval from the usual
+ maintainers will be needed when submitting patches from the branch
+ onto the mainline.</p>
+
+ <h3>Branch stability</h3>
+
+ <p>While this is an experimental branch and people are encouraged to
+ add new features to it, default bootstraps and c-torture, C++ and Java
+ tests <em>must always work</em> before a patch is allowed in the
+ branch. If you want to contribute a new feature that is still not
+ complete, you should:</p>
+
+ <ol>
+ <li>Add a new -f flag to enable your code.</li>
+ <li>Document the new -f flag in doc/invoke.texi.</li>
+ <li>Configure and bootstrap the compiler with all the default front ends
+ enabled.</li>
+ <li>Run <code>make check</code> with no new regressions.</li>
+ </ol>
+
+ <p>Patches that break default bootstraps will be removed (if a
+ fix is not immediately obvious).</p>
+
+ <p>When submitting patches that implement new fonctionalities, please
+ include a reference to the paper and/or book where you are getting the
+ complete syntactic and semantic specifications from. If it's your own
+ research work, include a Technical Report, Thesis or Paper reference
+ for it.</p>
+
+ <p>There are regular mainline merges about 3 or 4 times a month. The
+ latest merge tag is always added to GCC's version string. A merge may
+ be postponed if there is major breakage in mainline.</p>
+
+ <p>Work from the branch will be incorporated into mainline only when if
+ <ol>
+ <li>it can be proved that it provides better way to implement an
+ existing standard feature; or</li>
+ <li>it aims at implementing features under standardization; or <li>
+ <li>its specifications are clearly written in Standardeze and its
+ usefulness is acknowledged and accepted by the C++ front-end maintainers.
+ </ol>
+
+ </body>
+ </html>
More information about the Gcc
mailing list