From 180001241ce7026d11d70601285aea706a45a414 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik <andy.cedilnik@kitware.com> Date: Tue, 19 Apr 2005 18:26:40 -0400 Subject: [PATCH] COMP: Attempt to fix problem with building on SGI --- SystemTools.hxx.in | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/SystemTools.hxx.in b/SystemTools.hxx.in index 88fc5b9..5bf87ca 100644 --- a/SystemTools.hxx.in +++ b/SystemTools.hxx.in @@ -22,7 +22,26 @@ #include <@KWSYS_NAMESPACE@/Configure.h> #include <sys/types.h> + +// Required for va_list #include <stdarg.h> +#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 kwsys. +namespace std {} // Required for platforms that do not have std:: +namespace @KWSYS_NAMESPACE@_VA_LIST +{ + using namespace std; + typedef va_list hack_va_list; +} +namespace @KWSYS_NAMESPACE@ +{ + typedef @KWSYS_NAMESPACE@_VA_LIST::hack_va_list va_list; +} +#endif // va_list #if defined( _MSC_VER ) typedef unsigned short mode_t; -- GitLab