From 1713c3fd19ba04a5f951a54d3af6cc70996d98e2 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 13 Apr 2005 08:05:56 -0400 Subject: ENH: Added __HPACC_USING_MULTIPLIES_IN_FUNCTIONAL fix from vtkstd. --- Source/kwsys/kwsys_stl.hxx.in | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Source/kwsys/kwsys_stl.hxx.in b/Source/kwsys/kwsys_stl.hxx.in index 5a58fbf..fe72ba8 100644 --- a/Source/kwsys/kwsys_stl.hxx.in +++ b/Source/kwsys/kwsys_stl.hxx.in @@ -16,14 +16,33 @@ #include <@KWSYS_NAMESPACE@/Configure.hxx> +/* Avoid warnings in MSVC standard headers. */ #ifdef _MSC_VER # pragma warning (push, 1) # pragma warning (disable: 4702) # pragma warning (disable: 4786) #endif +/* The HP standard library defines the functor "times" instead of + "multiplies" as specified by C++98 20.3.2 for backward + compatibility with earlier specifications. Defining this macro + fixes this behavior. The name "times" also conflicts with the + function declared in sys/times.h on that platform, so we must do + this as a work-around anyway. */ +#if defined(__HP_aCC) && !defined(__HPACC_USING_MULTIPLIES_IN_FUNCTIONAL) +# define __HPACC_USING_MULTIPLIES_IN_FUNCTIONAL +# define @KWSYS_NAMESPACE@_DEFINED___HPACC_USING_MULTIPLIES_IN_FUNCTIONAL +#endif + +/* Include the real header. */ #include <@KWSYS_STL_HEADER@> +/* Cleanup. */ +#if defined(@KWSYS_NAMESPACE@_DEFINED___HPACC_USING_MULTIPLIES_IN_FUNCTIONAL) +# undef @KWSYS_NAMESPACE@_DEFINED___HPACC_USING_MULTIPLIES_IN_FUNCTIONAL +# undef __HPACC_USING_MULTIPLIES_IN_FUNCTIONAL +#endif + #ifdef _MSC_VER # pragma warning(pop) #endif -- cgit v0.12