Summary: | dev-util/efence unusable with <string> | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Erik <esigra> |
Component: | [OLD] Development | Assignee: | Development Tools Team <dev-tools> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | ka0ttic, queen.killer |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Erik
2006-12-10 03:09:54 UTC
It also fails for C: $ echo "#include <string.h>"|gcc -x c -c -o /dev/null -include stdlib.h -include efence.h - In file included from <stdin>:1: /usr/include/string.h:38: error: expected declaration specifiers or '...' before string constant /usr/include/string.h:38: error: expected declaration specifiers or '...' before numeric constant /usr/include/string.h:40: error: conflicting types for '_eff_memcpy' /usr/include/efence.h:106: error: previous declaration of '_eff_memcpy' was here /usr/include/string.h:84: error: expected declaration specifiers or '...' before string constant /usr/include/string.h:84: error: expected declaration specifiers or '...' before numeric constant /usr/include/string.h:85: error: conflicting types for '_eff_strcpy' /usr/include/efence.h:107: error: previous declaration of '_eff_strcpy' was here /usr/include/string.h:87: error: expected declaration specifiers or '...' before string constant /usr/include/string.h:87: error: expected declaration specifiers or '...' before numeric constant /usr/include/string.h:89: error: conflicting types for '_eff_strncpy' /usr/include/efence.h:108: error: previous declaration of '_eff_strncpy' was here /usr/include/string.h:92: error: expected declaration specifiers or '...' before string constant /usr/include/string.h:92: error: expected declaration specifiers or '...' before numeric constant /usr/include/string.h:93: error: conflicting types for '_eff_strcat' /usr/include/efence.h:109: error: previous declaration of '_eff_strcat' was here /usr/include/string.h:95: error: expected declaration specifiers or '...' before string constant /usr/include/string.h:95: error: expected declaration specifiers or '...' before numeric constant /usr/include/string.h:95: error: conflicting types for '_eff_strncat' /usr/include/efence.h:110: error: previous declaration of '_eff_strncat' was here /usr/include/string.h:130: error: expected declaration specifiers or '...' before string constant /usr/include/string.h:130: error: expected declaration specifiers or '...' before numeric constant /usr/include/string.h:131: error: conflicting types for '_eff_strdup' /usr/include/efence.h:105: error: previous declaration of '_eff_strdup' was here (In reply to comment #0) effence need exact position of including #include <new> #include <string> #include <effencepp.h> or echo "#include <efence.h>" |g++ -x c++ -c -o /dev/null -include string -include new - (In reply to comment #1) I try file with #include <stdlib.h> #include <string.h> #include <efence.h> I think that problem is still. You must define string or string.h before efence. Thank you for your help. It seems like "-include new -include fstream -include efencepp.h" is the magic string that I need to add to the CCFLAGS to build the C++ application with efence enabled. The drawback is that the compiler has to process fstream for each file that it compiles, wether it is needed or not. |