Return to arg-nonnull.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / build-aux / snippet |
1.1 ! misho 1: /* A C macro for declaring that specific arguments must not be NULL. ! 2: Copyright (C) 2009-2011 Free Software Foundation, Inc. ! 3: ! 4: This program is free software: you can redistribute it and/or modify it ! 5: under the terms of the GNU General Public License as published ! 6: by the Free Software Foundation; either version 3 of the License, or ! 7: (at your option) any later version. ! 8: ! 9: This program is distributed in the hope that it will be useful, ! 10: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 12: General Public License for more details. ! 13: ! 14: You should have received a copy of the GNU General Public License ! 15: along with this program. If not, see <http://www.gnu.org/licenses/>. */ ! 16: ! 17: /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools ! 18: that the values passed as arguments n, ..., m must be non-NULL pointers. ! 19: n = 1 stands for the first argument, n = 2 for the second argument etc. */ ! 20: #ifndef _GL_ARG_NONNULL ! 21: # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 ! 22: # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) ! 23: # else ! 24: # define _GL_ARG_NONNULL(params) ! 25: # endif ! 26: #endif