00001 /* 00002 This file is part of PolyLib. 00003 00004 PolyLib is free software: you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation, either version 3 of the License, or 00007 (at your option) any later version. 00008 00009 PolyLib is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with PolyLib. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00018 /* Version "abort" de l'assert de /usr/include/assert.h 00019 * Il est installe dans Linear de maniere a masquer /usr/include/assert.h 00020 * 00021 * Il faut faire un include de <stdio.h> pour l'utiliser. 00022 */ 00023 00024 # ifndef NDEBUG 00025 # define _assert(ex) {if (!(ex)){(void)fprintf(stderr,"Assertion failed: file \"%s\", line %d\n", __FILE__, __LINE__);(void) abort();}} 00026 # define assert(ex) _assert(ex) 00027 # else 00028 # define _assert(ex) 00029 # define assert(ex) 00030 # endif