lang/tcc unusable

Jung-uk Kim jkim at FreeBSD.org
Tue Aug 4 00:22:48 UTC 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 08/03/2015 19:23, Carlos Jacobo Puga Medina wrote:
> El lun, 03-08-2015 a las 18:26 -0400, Jung-uk Kim escribió:
>> On 08/03/2015 17:40, Carlos Jacobo Puga Medina wrote:
>>> El lun, 03-08-2015 a las 17:26 -0400, Jung-uk Kim escribió:
>>>> On 08/03/2015 16:41, Carlos Jacobo Puga Medina wrote:
>>>>> El lun, 03-08-2015 a las 16:33 -0400, Jung-uk Kim 
>>>>> escribió:
>>>>> 
>>>>> Hi Jung-uk,
>>>>>> On 08/03/2015 16:26, Carlos Jacobo Puga Medina wrote:
>>>>>>> Hi people,
>>>>>>> 
>>>>>>> Recently I added amd64 support to TinyCC, but I 
>>>>>>> encounter the following problem trying to compile a 
>>>>>>> simple code.
>>>>>>> 
>>>>>>> #include <stdio.h>
>>>>>>> 
>>>>>>> int main(){ printf("hello, world!\n); return 0; }
>>>>>>> 
>>>>>>> % tcc -o hello hello.c In file included from
>>>>>>> hello.c:1: /usr/include/stdio.h:63: error: ';' expected
>>>>>>> (got "va_list")
>>>>>>> 
>>>>>>> I guess that some change introduced in 'stdio.h' causes
>>>>>>> this weird behaviour. Last time that TCC worked fine
>>>>>>> was on FreeBSD 9.1 -RELEASE/i386.
>>>>>>> 
>>>>>>> Also I reported this problem in the tinycc-devel 
>>>>>>> mailing list [1]
>>>>>>> 
>>>>>>> Any thoughts?
>>>>>> 
>>>>>> I haven't tried tcc but '"' is missing for the printf().
>>>>> 
>>>>> Yes, it was a typo here :)
>>>> 
>>>> It seems it's a known tcc bug:
>>>> 
>>>> http://savannah.nongnu.org/bugs/?30966
>>>> 
>>> 
>>> Is there something that we can do about it?
>>> 
>>> Thanks for pointing me, jkim@
>> 
>> It seems there is no easy way to fix this problem without 
>> touching src tree, e.g.,
>> 
>> --- sys/x86/include/_types.h	(revision 286256) +++ 
>> sys/x86/include/_types.h	(working copy) @@ -152,7 +152,7 @@ */ 
>> #ifdef __GNUCLIKE_BUILTIN_VARARGS typedef	__builtin_va_list 
>> __va_list;	/* internally known to gcc */ -#elif defined(lint) 
>> +#elif defined(__TINYC__) || defined(lint) typedef	char * 
>> __va_list;	/* pretend */ #endif #if 
>> defined(__GNUC_VA_LIST_COMPATIBILITY) &&
>> !defined(__GNUC_VA_LIST) \
>> 
> 
> If you need doing some changes into the src tree.

https://svnweb.freebsd.org/changeset/base/286265

> So, what do you recommend in such case? Would it be much trouble 
> add the necessary changes to run TCC again? Furthermore, TinyCC 
> developer has ignored this issue completely.

The only hack I see is defining __va_list as a macro from libtcc.c but
it is ugly.

Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVwAXXAAoJEHyflib82/FGLOwH/3HxMqLqt/G6thF5DqTQsqA+
PoHwp3Qdvkwx9Z/LjjLQlyrtZMSXSBfKv0IisZlblaFqkV0p8rnC/X+hpHhtTm4I
6inQyI36zwCRr3aD31hvRWpeYpjjZSJotsTbvmb4+cvjw4nSyJ43lBcomAyGx9dW
0lDrxVDzUvyVpBqYMGOgp6IvaDpyo2YF8yanpKD1vksdzDi2KvyvkRQx9/3VLu8A
OJla4pluo2Q83wQmRZqJZIu5eqgYQCdI/2ETiV4bVWLarQRkdwWHgjwt2LqQEciE
ZNIGKhFUBDXhXjuw0ND+UofQrt9IZtmNRRYX6LoaDuTdhazlDQKsq/opCHGYVsI=
=bbog
-----END PGP SIGNATURE-----


More information about the freebsd-ports mailing list