Check if the compiler knows about the __malloc__ attribute.
This commit is contained in:
parent
d798b8b3d8
commit
da3078c63a
3 changed files with 31 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
dnl $Id: configure.in,v 1.13.2.76 2003/07/30 11:50:44 guus Exp $
|
||||
dnl $Id: configure.in,v 1.13.2.77 2003/07/31 11:17:39 guus Exp $
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
AC_INIT(src/tincd.c)
|
||||
|
@ -109,11 +109,14 @@ AC_CHECK_HEADERS([net/ethernet.h net/if.h net/if_arp.h netinet/if_ether.h netine
|
|||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_VOLATILE
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
|
||||
tinc_ATTRIBUTE(__malloc__)
|
||||
|
||||
AC_CHECK_TYPES([socklen_t, struct arphdr, struct ether_arp, struct in_addr, struct addrinfo, struct ip, struct icmp, struct in6_addr, struct sockaddr_in6, struct ip6_hdr, struct icmp6_hdr, struct nd_neighbor_solicit, struct nd_opt_hdr], , ,
|
||||
[#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: list.h,v 1.1.2.10 2003/07/12 17:48:38 guus Exp $
|
||||
$Id: list.h,v 1.1.2.11 2003/07/31 11:17:39 guus Exp $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_LIST_H__
|
||||
|
@ -47,7 +47,7 @@ typedef struct list_t {
|
|||
|
||||
/* (De)constructors */
|
||||
|
||||
extern list_t *list_alloc(list_action_t) __attribute__ ((malloc));
|
||||
extern list_t *list_alloc(list_action_t) __attribute__ ((__malloc__));
|
||||
extern void list_free(list_t *);
|
||||
extern list_node_t *list_alloc_node(void);
|
||||
extern void list_free_node(list_t *, list_node_t *);
|
||||
|
|
25
m4/attribute.m4
Normal file
25
m4/attribute.m4
Normal file
|
@ -0,0 +1,25 @@
|
|||
dnl Check to find out whether function attributes are supported.
|
||||
dnl If they are not, #define them to be nothing.
|
||||
|
||||
AC_DEFUN(tinc_ATTRIBUTE,
|
||||
[
|
||||
AC_CACHE_CHECK([for working $1 attribute], tinc_cv_attribute_$1,
|
||||
[
|
||||
tempcflags="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Wall -Werror"
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE(
|
||||
[void test(void) __attribute__ (($1));
|
||||
void test(void) { return; }
|
||||
],
|
||||
)],
|
||||
[tinc_cv_attribute_$1=yes],
|
||||
[tinc_cv_attribute_$1=no]
|
||||
)
|
||||
CFLAGS="$tempcflags"
|
||||
])
|
||||
|
||||
if test ${tinc_cv_attribute_$1} = no; then
|
||||
AC_DEFINE([$1], [], [Defined if the $1 attribute is not supported.])
|
||||
fi
|
||||
])
|
Loading…
Reference in a new issue