Re: CLANG versus GCC question: compiling non-c99 code with CLANG
On 2012-09-24 11:36, O. Hartmann wrote:
> I have a problem and I guess there is a simple solution - at least, I hope.
>
> I try to compile a "in spe" port which contains some C code that is
> definitely Kernighan & Ritchie standard like:
>
> --
> my_func(win)
> Window win;
> {
> [...]
> if ( current->win.data == (lux_data *)NULL ) return;
> [...]
> }
> --
>
> There is no declaration of the return type of the function, I guess it
> is implicitely void in older standards, but is treated as non void
> function in CLANG - and there the error comes in.
Declarations with no type default to int, the infamous "implicit int"
rule, which apparently is very hard to get rid of. :) I'm not even sure
the committees managed to ditch it in C11...
In any case, in very old C, the 'void' type did not exist; you simply
ignored the return value of such a function.
> I can compile the code without any problems with GCC 4.6 - without any
> change of compiling standard or anything like that, it simply compiles.
>
> I tried to apply "CFLAGS+= -std=[c89|gnu89]" when compiling with CLANG
> since GCC defaults to gnu89 while CLANG defaults to c99 standard, but
> this didn't help.
Unfortunately you did not post the actual error message. What was it?
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):