[PATCH] Don't use a nested function when testing for visibility attribute support.

Jelmer Vernooij jelmer at samba.org
Sat Nov 8 09:22:30 MST 2014


Some compilers support __attribute__((visibility)), but not nested
functions (e.g. http://www.cprover.org/goto-cc/)

Change-Id: I01a5dd6f5f913664621c4090e2dca177527436bb
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749983
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749985
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749986
Signed-Off-By: Jelmer Vernooij <jelmer at debian.org>
---
 lib/replace/wscript | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/replace/wscript b/lib/replace/wscript
index 16fd50b..7bbe1d6 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -639,10 +639,10 @@ removeea setea
 
     if conf.CHECK_CFLAGS('-fvisibility=hidden'):
         conf.env.VISIBILITY_CFLAGS = '-fvisibility=hidden'
-        conf.CHECK_CODE('''void vis_foo1(void) {}
+        conf.CHECK_CODE('''int main(void) { return 0; }
                            __attribute__((visibility("default"))) void vis_foo2(void) {}''',
                         cflags=conf.env.VISIBILITY_CFLAGS,
-                        define='HAVE_VISIBILITY_ATTR')
+                        define='HAVE_VISIBILITY_ATTR', addmain=False)
 
     # look for a method of finding the list of network interfaces
     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
-- 
2.1.3



More information about the samba-technical mailing list