After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 792717 - [PATCH] Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE
[PATCH] Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
git master
Other FreeBSD
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2018-01-20 09:37 UTC by Ting-Wei Lan
Modified: 2018-04-26 00:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
configure: Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE (1.33 KB, patch)
2018-01-20 09:39 UTC, Ting-Wei Lan
none Details | Review

Description Ting-Wei Lan 2018-01-20 09:37:35 UTC
Please see the patch. It is the same as bug 792716 but for the internal copy of clutter in mutter.

Both AC_TRY_LINK and AC_TRY_COMPILE put code to test in the main function, so instead of using 'int main (void) { return 0; }' as test program, we must use 'return 0' without declaring any function. If we declare main function there, it becomes a nested main function inside the global main function. It is supported by GCC, but not by Clang.

This causes problems when checking compiler flags:

checking for -Bsymbolic-functions linker flag... no
checking for -fvisibility=hidden compiler flag... no
Comment 1 Ting-Wei Lan 2018-01-20 09:39:03 UTC
Created attachment 367140 [details] [review]
configure: Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE
Comment 2 Ting-Wei Lan 2018-03-21 13:28:17 UTC
Moved to and resolved in https://gitlab.gnome.org/GNOME/mutter/merge_requests/27.