-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support compilation with C89 #25
Comments
Maybe it's time is come to say that c89 is deprecated? |
I think that if we still want to use c89, then this should be added to the "small" ci. |
I'd rather burn Trusty and we would move forward. FWIW, Yandex.Taxi used Trusty on most of their datacenter host till circa year ago, and then gradually upgraded everything to Xenial. Trusty is unsupported target for half a year already. |
Okay, but then we should get rid (fully or partially) from the idea to be built with parent's flags. At least from using parent's C dialect. It is the change of the expected behaviour (that was never documented though). |
If SMALL_EMBEDDED is used, "small" will try to compile with the default flags, but it can't be compiled with std=c89. Look like a "small" library bug. So, we will use std=c99 globally as workaround. See tarantool/small#25 Part of #59 @Totktonada: added the comment.
If SMALL_EMBEDDED is used, "small" will try to compile with the default flags, but it can't be compiled with std=c89. Look like a "small" library bug. So, we will use std=c99 globally as workaround. See tarantool/small#25 Part of #59 @Totktonada: added the comment.
As far as I got this change, the idea was to use parent's project CFLAGS when libsmall is built as part of another project (and so when CMake variable
SMALL_EMBEDDED
is set). So we should be quite tolerable to different options and C dialects.GCC 4.8 comforms to C89 by default (with GNU extensions, as if
-std=gnu90
would be passed). GCC 4.8 is the default compiler on Ubuntu Trusty that is the previous default OS on Travis CI (until it was changed to Xenial).All those facts comes into one fail when we tried to update libsmall in tarantool/memcached module.
Please, ensure that C89 support will not break again with a CI rule.
Thanks @LeonidVas for the initial investigation.
The text was updated successfully, but these errors were encountered: