diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2005-04-19 22:35:17 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2005-04-19 22:35:17 (GMT) |
commit | 52e284c21741d1fc19b1e42d748e8489510a76fa (patch) | |
tree | b9c3dc192e47247c905c29e55c21e375acf63064 | |
parent | 1e04844de9feb7af5dcc1c0c7724b59da41bad26 (diff) | |
download | CMake-52e284c21741d1fc19b1e42d748e8489510a76fa.zip CMake-52e284c21741d1fc19b1e42d748e8489510a76fa.tar.gz CMake-52e284c21741d1fc19b1e42d748e8489510a76fa.tar.bz2 |
COMP: Attempt to fix problem with building on SGI
-rw-r--r-- | Utilities/cmxmlrpc/xmlrpc.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Utilities/cmxmlrpc/xmlrpc.h b/Utilities/cmxmlrpc/xmlrpc.h index 69160a2..fdea161 100644 --- a/Utilities/cmxmlrpc/xmlrpc.h +++ b/Utilities/cmxmlrpc/xmlrpc.h @@ -29,6 +29,26 @@ #include <stddef.h> #include <stdarg.h> +#ifdef __cplusplus +#ifndef va_list +/* + Some compilers move va_list into the std:: namespace and there is no way to + tell that this has been done. Playing with things being included before or + after stdarg.h does not solve things because we do not have control over what + the user does. + This hack solves this problem by moving va_list to our own namespace that is + local for forms. +*/ +namespace std {} /* Required for platforms that do not have std:: */ +namespace xmlrpc_VA_LIST +{ + using namespace std; + typedef va_list hack_va_list; +} +#define va_list xmlrpc_VA_LIST::hack_va_list +#endif /* va_list */ +#endif /* __cplusplus */ + #include <xmlrpc_config.h> #ifdef HAVE_UNICODE_WCHAR |