/* * The contents of this file are subject to the AOLserver Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://aolserver.com/. * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. * * The Original Code is AOLserver Code and related documentation * distributed by AOL. * * The Initial Developer of the Original Code is America Online, * Inc. Portions created by AOL are Copyright (C) 1999 America Online, * Inc. All Rights Reserved. * * Alternatively, the contents of this file may be used under the terms * of the GNU General Public License (the "GPL"), in which case the * provisions of GPL are applicable instead of those above. If you wish * to allow use of your version of this file only under the terms of the * GPL and not to allow others to use your version of this file under the * License, indicate your decision by deleting the provisions above and * replace them with the notice and other provisions required by the GPL. * If you do not delete the provisions above, a recipient may use your * version of this file under either the License or the GPL. */ /* * nsattrs.h -- * * Type and programmer error checking attributes for GCC compiler. * * $Header: /cvsroot/aolserver/aolserver/include/nsattributes.h,v 1.3 2005/08/25 15:46:11 shmooved Exp $ */ #ifndef NSATTRS_H #define NSATTRS_H #ifndef __GNUC__ # define _nsmalloc # define _nspure # define _nsconst # define _nslikely(x) x # define _nsunlikely(x) x # define _nsunused # define _nsnoreturn # define _nsprintflike(fmtarg, firstvararg) # define _nsscanflike(fmtarg, firstvararg) # define _nsfmtarg(x) # define _nsused # define _nsdeprecated # define _nsnonnull # define _nswarnunused # define _nsmayalias #else #ifdef __GNUC_MINOR__ #ifdef __GNUC_PREREQ #undef __GNUC_PREREQ #endif # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #endif #ifdef __GNUC_PREREQ #if __GNUC_PREREQ(2,96) # undef _nsmalloc # define _nsmalloc __attribute__ ((malloc)) # undef _nspure # define _nspure __attribute__ ((pure)) # undef _nsconst # define _nsconst __attribute__ ((const)) # undef _nslikely # define _nslikely(x) __builtin_expect((x),1) # undef _nsunlikely # define _nsunlikely(x) __builtin_expect((x),0) #endif #if __GNUC_PREREQ(2,7) # undef _nsunused # define _nsunused __attribute__ ((unused)) # undef _nsnoreturn # define _nsnoreturn __attribute__ ((noreturn)) # undef _nsprintflike # define _nsprintflike(fmtarg, firstvararg) \ __attribute__((format (printf, fmtarg, firstvararg))) # undef _nsscanflike # define _nsscanflike(fmtarg, firstvararg) \ __attribute__((format (scanf, fmtarg, firstvararg))) #endif #if __GNUC_PREREQ(2,8) # undef _nsfmtarg # define _nsfmtarg(x) __attribute__ ((format_arg(x))) #endif #if __GNUC_PREREQ(3,1) # undef _nsused # define _nsused __attribute__ ((used)) #endif #if __GNUC_PREREQ(3,2) # undef _nsdeprecated # define _nsdeprecated __attribute__ ((deprecated)) #endif #if __GNUC_PREREQ(3,3) # undef _nsnonnull # define _nsnonnull __attribute__ ((nonnull)) # undef _nswarnunused # define _nswarnunused __attribute__ ((warn_unused_result)) # undef _nsmayalias # define _nsmayalias __attribute__ ((may_alias)) #endif #endif /* __GNUC__PREREQ */ #endif /* __GNUC__ */ #define NS_RCSID(string) static const char *RCSID _nsunused = string \ ", compiled: " __DATE__ " " __TIME__ #endif /* NSATTRS_H */