tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] RE :Re: Extension to C language


From: Christian JULLIEN
Subject: [Tinycc-devel] RE :Re: Extension to C language
Date: Tue, 29 May 2012 14:15:29 +0200 (CEST)

:o)))
This exactly what I said. Rick is only interested by adding the class, sam wants only try/catch/block, joe will not survive without new/delete to make suballocator and bill will ask for a "simple" hack to support overloading because he treats differently foo(float) and foo(double).

Trust me, if you start a TCCX compiler, you'll make nobody happy until the full C++ standard is implemented.

Personally, I really like operator overloading, any volunteers ;o) ?

Remember guys that, at least until ATT C++ 3.0, C++ was a front end using C as backend.

If you still want "simplified" TCCX, I strongly suggest you start this way, especially with tcc which can generate and compile C code on the fly.

C.

----- Message d'origine -----
De : "Rick C. Hodgin" <address@hidden>
Date mar. 29/05/2012 11:25 (GMT +02:00)
À : "address@hidden" <address@hidden>
Objet : Re: [Tinycc-devel] Extension to C language

All,

I had mentioned a while back wanting to add the class to TCC, creating
essentially a very simple C++ extension to TCC.

Maybe it's time to introduce an official fork of TCC which is maintained
alongside TCC, but with these other extensions added.

TCCX could accommodate extensions to the base TinyCC by introducing some
simple C/C++ extensions (I am literally only interested in adding the
class, no inheritance, no polymorphism, but a simple one-layer class to
be used for encapsulation). Additions like the ones in this thread might
be very desirable.

TCCX? Anybody have any thoughts?

Best regards,
Rick C. Hodgin

On 05/29/2012 12:27 AM, Christian Jullien wrote:
>
> Paulo,
>
> I’m not tcc maintainer and I only speak for myself, reference falls in
> the same category: incompatible C extensions.
>
> This a debate that sooner than later comes for C implementations:
> should we extend the language to make a better C?
>
> There is already a better C which is called C++, if you want to extend
> C with some C++ features, joe will explain you that XXX is a must have
> while sam will advocate for YYY because its code intensively uses it.
>
> At the end, you’ll fall to implement half cooked semi-broken
> incompatible C++ language that no one wants to use.
>
> That’s why I vote to a pure C implementation with (perhaps?) gcc
> compatibles feature if it helps portability.
>
> If you need C++, use C++ which unfortunately tcc is not and probably
> never will be.
>
> Again, it is my own opinion but, unless there is a strong consensus
> for reference (which I doubt) I personally prefer you remove it.
>
> Christian
>
> *From:address@hidden
> [mailto:address@hidden *On Behalf
> Of *Paulo Henrique Torrens
> *Sent:* mardi 29 mai 2012 06:12
> *To:* address@hidden
> *Subject:* Re: [Tinycc-devel] Extension to C language
>
> This reminds me of something... I've added reference variables too
> (like in C++), should I post here a patch for that too, or should I
> remove it too before posting any patches?
>
> ------------------------------------------------------------------------
>
> From: address@hidden <mailto:address@hidden>
> To: address@hidden <mailto:address@hidden>
> Date: Tue, 29 May 2012 06:00:07 +0200
> Subject: Re: [Tinycc-devel] Extension to C language
>
> Hello,
>
> I really enjoy your efforts to implement C11 features in tcc which is
> of course a good decision.
>
> IMHO, C11 additions should be only available using a compiler flag.
> Gcc uses for example –std=xxx to specify the C level you want to support.
>
> For C11, gcc uses –std=c11 and –std=iso9899:2011
>
> Since tcc supports some gcc compatible flags, I strongly suggest you
> use both.
>
> I’m however against any C extensions that has no roots in C standard.
> The reasons are:
>
> -It makes your program incompatible with other C implementations
>
> -It makes tcc more complex to maintain
>
> -Your implementation only works with malloc while there are many other
> ways to allocate resources (mmap, suballocators, shared mem…)
>
> I clearly understand your need for such an extension, but please keep
> it as private.
>
> M2c
>
> Christian
>
> *From:address@hidden
> <mailto:address@hidden>
> [mailto:address@hidden
> <mailto:[mailto:address@hidden> *On
> Behalf Of *Paulo Henrique Torrens
> *Sent:* mardi 29 mai 2012 05:30
> *To:* address@hidden <mailto:address@hidden>
> *Subject:* Re: [Tinycc-devel] Extension to C language
>
> Yes, I made some changes for it to produce native binary files on Mac.
> And the C11 updates are pretty much to be approved and used.
>
> I made this changes because I don't want my compiler project to have
> any dependencies, so I want to encourage the use of TCC as
> bootstrapper compiler when needed. GCC is too big. Also... because I
> think it's fun to play with compilers.
>
> The changes for tracked variables are not that complex, and I added
> them to TCC before my compiler was even working in order to test
> them... I think I am just asking the main contributors: do you /want/
> a patch for this feature? If there is no interest in this, at least
> was a good practice for me, then I'll remove it from my working
> directory and make a patch for the remaining changes. :)
>
> Thank you for your answer.
>
> ------------------------------------------------------------------------
>
> Date: Mon, 28 May 2012 23:20:09 -0400
> From: address@hidden <mailto:address@hidden>
> To: address@hidden <mailto:address@hidden>
> Subject: Re: [Tinycc-devel] Extension to C language
>
>
> Hi Paulo,
>
> FYI, I am not one of the main contributors, but you raised my interest
> when you mentioned Mac. In short I would like to know more about what
> you are doing, as your changes seem extensive.
>
> tcc already works on Mac, but only to interactively run apps. Did you
> make any progress for tcc to produce native binaries?
>
> I would also vote for inclusion of your C11 additions. Anything that
> improves ISO compliance is a good thing in my view.
>
> As for the tracked variables, I would deffer to the opinion of the
> regular contributors. However, I am little worried about increasing of
> tcc complexity with code that will see very limited use. tcc is
> already complex on the inside. I think that git should make it very
> easy to keep a branch/fork with this added functionality.
>
> Thanks for your interest. Any work on tcc is welcome (to me at least
> :-) ).
>
> Miki.
>
> On 28 May 2012 22:52, Paulo Henrique Torrens
> <address@hidden <mailto:address@hidden>> wrote:
>
> Hi,
>
> I'm working on a compiler suite project (black.nongnu.org
> <http://black.nongnu.org>), and made several updates to TCC in order
> to incentive it's use as bootstrapper compiler and for "publicity",
> including port to Mac OS X and the Open/Free/Net BSDs (and planning on
> fixing for Android), the C11 _Atomic, _Alignas and _Generic keywords,
> and some other stuff. I plan to send a patch soon.
>
> I've made a small extension to my compiler, making "tracked variables"
> in C. They are just reference counted structs which can call free()
> automatically.
>
> void test() {
>
> int ^strong = malloc(sizeof(int));
>
> printf("strong has %d references", countof(strong));
>
> int *weak_reference = strong;
>
> // countage for strong becomes 0 and free(strong) is called automatically
>
> };
>
> Should I update this patch too? I mean, would this extension (enabled
> with -ftracked-variables) be used into the main branch?
>
> Anyway, I will update all the other patches soon. :)
>
> Greetings.
>
>
> _______________________________________________
> Tinycc-devel mailing list
> address@hidden <mailto:address@hidden>
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
>
>
> _______________________________________________ Tinycc-devel mailing
> list address@hidden <mailto:address@hidden>
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
>
> _______________________________________________ Tinycc-devel mailing
> list address@hidden <mailto:address@hidden>
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
>
>
> _______________________________________________
> Tinycc-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel


_______________________________________________
Tinycc-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]