weakref attribute detection broken with gcc 4.6 and higher

GCC 4.7 Manual:
http://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/Function-Attributes.html

weakref ("target")

A weak reference is an alias that does not by itself require a definition
to be given for the target symbol.

ASTERISK-22559 #close
Reported by: Ibercom

Change-Id: I36a136cae947b65187a697533416f9ff9a0b8cdf
This commit is contained in:
ibercom 2015-06-09 20:41:54 +02:00
parent bbeb753e5e
commit f897f36721
3 changed files with 16 additions and 16 deletions

View File

@ -20,7 +20,7 @@ AC_COMPILE_IFELSE(
)
else
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
[AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) ;],
[])],
AC_MSG_RESULT(yes)
m4_ifval([$4],$4=1)

22
configure vendored
View File

@ -16720,7 +16720,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16788,7 +16788,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16856,7 +16856,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16924,7 +16924,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16992,7 +16992,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -17060,7 +17060,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -17128,7 +17128,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -17196,7 +17196,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -17264,7 +17264,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -17332,7 +17332,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -17400,7 +17400,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{

View File

@ -3227,7 +3227,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -3299,7 +3299,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -3371,7 +3371,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;}
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) ;
int
main ()
{
@ -3445,7 +3445,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;}
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) ;
int
main ()
{