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 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_PREREQ(2.57)
|
||||||
AC_INIT(src/tincd.c)
|
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.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
|
AC_C_VOLATILE
|
||||||
AC_TYPE_PID_T
|
AC_TYPE_PID_T
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
AC_STRUCT_TM
|
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], , ,
|
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
|
[#ifdef HAVE_SYS_TYPES_H
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
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__
|
#ifndef __TINC_LIST_H__
|
||||||
|
|
@ -47,7 +47,7 @@ typedef struct list_t {
|
||||||
|
|
||||||
/* (De)constructors */
|
/* (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 void list_free(list_t *);
|
||||||
extern list_node_t *list_alloc_node(void);
|
extern list_node_t *list_alloc_node(void);
|
||||||
extern void list_free_node(list_t *, list_node_t *);
|
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…
Add table
Add a link
Reference in a new issue