Disable use of gcc poison pragmas
Needs a rethink to avoid use of poisoned macros in system headers.
I see this on Ubuntu 16.04:
gcc -DHAVE_CONFIG_H -I../Source/Include -I../Source/CParse
-I../Source/Include -I../Source/DOH -I../Source/CParse
-I../Source/Doxygen -I../Source/Preprocessor -I../Source/Swig
-I../Source/Modules -g -O2 -Wall -W -pedantic -MT DOH/base.o -MD -MP
-MF $depbase.Tpo -c -o DOH/base.o DOH/base.c &&\
mv -f $depbase.Tpo $depbase.Po
In file included from /usr/include/string.h:630:0,
from DOH/dohint.h:21,
from DOH/base.c:15:
/usr/include/x86_64-linux-gnu/bits/string2.h:1282:19: error: attempt to
use poisoned "calloc"
? (char *) calloc ((size_t) 1, (size_t) 1) \
^
/usr/include/x86_64-linux-gnu/bits/string2.h:1284:32: error: attempt to
use poisoned "malloc"
char *__retval = (char *) malloc (__len); \
^
/usr/include/x86_64-linux-gnu/bits/string2.h:1302:19: error: attempt to
use poisoned "calloc"
? (char *) calloc ((size_t) 1, (size_t) 1) \
^
/usr/include/x86_64-linux-gnu/bits/string2.h:1308:26: error: attempt to
use poisoned "malloc"
__retval = (char *) malloc (__len); \
^
This commit is contained in:
parent
3bf728f038
commit
77853770bd
1 changed files with 4 additions and 0 deletions
|
|
@ -496,11 +496,15 @@ extern void DohMemoryDebug(void);
|
|||
/* This works around bison's template checking if malloc and free are defined,
|
||||
* which triggers GCC's poison checks.
|
||||
*/
|
||||
/*
|
||||
# pragma GCC poison malloc free
|
||||
# pragma GCC poison realloc calloc
|
||||
*/
|
||||
# endif
|
||||
/* Use Exit() instead (which will remove output files on error). */
|
||||
/*
|
||||
# pragma GCC poison abort exit
|
||||
*/
|
||||
#endif
|
||||
|
||||
#endif /* DOH_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue