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: tinycc-devel-bounces+eligis=orange...@nongnu.org
[mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Paulo
Henrique Torrens
Sent: mardi 29 mai 2012 05:30
To: tinycc-devel@nongnu.org
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: jovanovic.milu...@gmail.com
To: tinycc-devel@nongnu.org
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 <paulo_torr...@hotmail.com>
wrote:

Hi,

 

I'm working on a compiler suite project (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
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel



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

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

Reply via email to