Added new types boost::long_long_type and boost::ulong_long_type in boost/config.hpp and applied these types in place of "long long" throughout. As a result, almost all of boost now compiles cleanly with -ansi -pedantic with gcc. Changes tested with gcc 3.3, 2.95, VC7.1 and Intel 8.

[SVN r24899]
This commit is contained in:
John Maddock
2004-09-04 10:34:49 +00:00
parent 6bf226144f
commit 64a8b36b23
6 changed files with 59 additions and 22 deletions

View File

@@ -399,6 +399,21 @@ namespace std {
# define BOOST_DEDUCED_TYPENAME
#endif
// long long workaround ------------------------------------------//
// On gcc (and maybe other compilers?) long long is alway supported
// but it's use may generate either warnings (with -ansi), or errors
// (with -pedantic -ansi) unless it's use is prefixed by __extension__
//
namespace boost{
#ifdef __GNUC__
__extension__ typedef long long long_long_type;
__extension__ typedef unsigned long long ulong_long_type;
#else
typedef long long long_long_type;
typedef unsigned long long ulong_long_type;
#endif
}
// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
//
// Some compilers have problems with function templates whose