Angus Leeming:
So what happens if you #include *all* the system headers of cpp_regex_traits.cpp

$ cat test.C #include <boost/regex/config.hpp> #include <clocale> #include <locale> #include <cstdio> #include <list> #include <cctype> #include <iostream> #include <map> #include <boost/regex/regex_traits.hpp> #include <boost/cregex.hpp> #include <boost/scoped_array.hpp> int main() { return 0; }

$ g++33 -DHAVE_CONFIG_H -Iboost/libs/regex/src -Isrc -Iboost -I/usr/local/include \
     -I/usr/X11R6/include -DBOOST_USER_CONFIG="<config.h>" -fno-exceptions -W -Wall \
     -c -o test.lo test.C
In file included from boost/boost/regex/config.hpp:54,
                 from test.C:1:
boost/boost/cstdint.hpp:121: error: redeclaration of C++ built-in type `long'

--------------

$ grep "^#" src/config.h
#ifndef _CONFIG_H
#define _CONFIG_H
#define AIKSAURUS_H_LOCATION
#define DEVEL_VERSION 1
#define ENABLE_ASSERTIONS 1
#define ENABLE_NLS 1
#define HAVE_ALLOCA 1
#define HAVE_ASPELL_H 1
#define HAVE_ASPRINTF 1
#define HAVE_DCGETTEXT 1
#define HAVE_DECL_FEOF_UNLOCKED 1
#define HAVE_DECL_FGETS_UNLOCKED 0
#define HAVE_DECL_GETC_UNLOCKED 1
#define HAVE_DECL_ISTREAMBUF_ITERATOR 1
#define HAVE_DECL_MKSTEMP 1
#define HAVE_DECL_SNPRINTF 1
#define HAVE_DECL_VSNPRINTF 1
#define HAVE_DECL__SNPRINTF 0
#define HAVE_DECL__SNWPRINTF 0
#define HAVE_DIRENT_H 1
#define HAVE_DLFCN_H 1
#define HAVE_GETCWD 1
#define HAVE_GETEGID 1
#define HAVE_GETEUID 1
#define HAVE_GETGID 1
#define HAVE_GETPAGESIZE 1
#define HAVE_GETTEXT 1
#define HAVE_GETUID 1
#define HAVE_ICONV 1
#define HAVE_INTTYPES_H 1
#define HAVE_IOS 1
#define HAVE_ISTREAM 1
#define HAVE_KPSEWHICH 1
#define HAVE_LANGINFO_CODESET 1
#define HAVE_LC_MESSAGES 1
#define HAVE_LIBC 1
#define HAVE_LIBM 1
#define HAVE_LIMITS 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE 1
#define HAVE_LOCALE_H 1
#define HAVE_LONG_DOUBLE 1
#define HAVE_LONG_LONG 1
#define HAVE_MALLOC_H 1
#define HAVE_MEMMOVE 1
#define HAVE_MEMORY_H 1
#define HAVE_MEMSET 1
#define HAVE_MKFIFO 1
#define HAVE_MKSTEMP 1
#define HAVE_MKTEMP 1
#define HAVE_MMAP 1
#define HAVE_MUNMAP 1
#define HAVE_NL_TYPES_H 1
#define HAVE_OSTREAM 1
#define HAVE_POSIX_PRINTF 1
#define HAVE_PUTENV 1
#define HAVE_SETENV 1
#define HAVE_SETLOCALE 1
#define HAVE_SNPRINTF 1
#define HAVE_SSTREAM 1
#define HAVE_STDDEF_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STD_COUNT 1
#define HAVE_STRCASECMP 1
#define HAVE_STRCHR 1
#define HAVE_STRDUP 1
#define HAVE_STRERROR 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_STRTOUL 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_TSEARCH 1
#define HAVE_UNISTD_H 1
#define HAVE_UNSIGNED_LONG_LONG 1
#define HAVE_VSNPRINTF 1
#define HAVE_WCHAR_T 1
#define HAVE_WCSLEN 1
#define HAVE_WINT_T 1
#define HAVE_X11_FLIMAGE_H 1
#define HAVE_ZLIB_H 1
#define ICONV_CONST const
#define INTDIV0_RAISES_SIGFPE 1
#define MODERN_STL_STREAMS 1
#define PACKAGE "lyx"
#define PACKAGE_BUGREPORT "[EMAIL PROTECTED]"
#define PACKAGE_NAME "lyx"
#define PACKAGE_STRING "lyx 1.4.0cvs"
#define PACKAGE_TARNAME "lyx"
#define PACKAGE_VERSION "1.4.0cvs"
#define RETSIGTYPE void
#define SELECT_TYPE_ARG1 int
#define SELECT_TYPE_ARG234 (fd_set *)
#define SELECT_TYPE_ARG5 (struct timeval *)
#define SIZE_MAX 4294967295U
#define STDC_HEADERS 1
#define TIME_WITH_SYS_TIME 1
#define USE_ASPELL 1
#define USE_COMRESSION 1
#define USE_JPEG_IMAGE_LOADER 1
#define VERSION "1.4.0cvs"
#define WITH_WARNINGS 1
#ifndef _ALL_SOURCE
#endif
#define uintmax_t unsigned long long
#ifndef HAVE_STRCHR
# define strchr(a,b)    index(a,b)
#endif
#ifndef HAVE_MEMMOVE
# define memmove(a,b,c) bcopy(b,a,c)
#endif
#ifndef HAVE_STRERROR
#if defined(__cplusplus)
#endif
#endif
#ifdef BROKEN_HEADERS
#include "broken_headers.h"
#endif
#ifdef HAVE_MKSTEMP
#ifndef HAVE_DECL_MKSTEMP
#if defined(__cplusplus)
#endif
#endif
#endif
#ifdef __EMX__
#include "support/os2_defines.h"
#endif
#if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM)
#define USE_BOOST_FORMAT 1
#else
#define USE_BOOST_FORMAT 0
#endif
#define BOOST_USER_CONFIG <config.h>
#if defined(ENABLE_ASSERTIONS)
#define BOOST_ENABLE_ASSERT_HANDLER 1
#else
#define BOOST_DISABLE_ASSERTS 1
#endif
#define BOOST_DISABLE_THREADS 1
#define BOOST_NO_WREGEX 1
#define BOOST_NO_WSTRING 1
#endif





Reply via email to