[LLVMdev] [cfe-dev] License of LLVM Tutorial

Sean Silva silvas at purdue.edu
Sun Nov 4 19:52:26 PST 2012


> I divided toy.cpp into several .cpp and .h files in several directories.
> The purpose of this work is making it structured similar to clang.
> And I put it up to github.
>
> git://github.com/Journeyer/klang.git

This is a brilliant idea. This is the perfect way to get familiar with
LLVM (and Clang, to some extent).

> Now I wonder what license should this work follow or if it is rather
> prohibited for others to distribute toy.cpp in different form like
> this.

You can just leave it under the LLVM UIUC license like most of the rest of LLVM.

> I think this code can be put into llvm/project as another example of
> LLVM project.
> If someone want I want to contribute.

I think that this would be a great idea at some point, after klang has
been polished a bit.

First of all, you probably want to add CMake files along with the makefiles.

Second, you will want to bring the code in line with the coding
standards <http://llvm.org/docs/CodingStandards.html>. In particular,
I am seeing hard tabs in the code. Also, IIRC, last I looked at
kaleidescope, there were memory leaks and nasty global variables which
should probably be fixed before merging this in.

You will also want to thoroughly document this project (using Sphinx
and _not_ HTML); describe the overall structure of the compiler and
which LLVM APIs it uses, give an overview of the directory hierarchy,
and put nice big documentation comments at the tops of files
explaining how they fit into the bigger picture of the project. Since
this project is primarily for helping people to learn LLVM, excellent
documentation is *absolutely essential*.

You will also want to set up tests, since tests are an integral part
of LLVM and Clang; tests will also serve another purpose which is to
catch when LLVM changes without klang being updated.

-- Sean Silva

On Sun, Nov 4, 2012 at 9:14 AM, Journeyer J. Joh
<oosaprogrammer at gmail.com> wrote:
> Hello List,
>
> I am studying LLVM/clang recently.
> One of the method of my learning is making a LLVM project based on
> LLVM tutorial.
>
> http://llvm.org/docs/tutorial/
>
> I divided toy.cpp into several .cpp and .h files in several directories.
> The purpose of this work is making it structured similar to clang.
> And I put it up to github.
>
> git://github.com/Journeyer/klang.git
>
> Now I wonder what license should this work follow or if it is rather
> prohibited for others to distribute toy.cpp in different form like
> this.
>
> I think this code can be put into llvm/project as another example of
> LLVM project.
> If someone want I want to contribute.
>
> Best regards
> --
> ----------------------------------------
> Journeyer J. Joh
> o o s a p r o g r a m m e r
> a t
> g m a i l  d o t  c o m
> ----------------------------------------
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev



More information about the llvm-dev mailing list