COMP: Fix references to cin, cout, cerr, and clog in case of HP aCC compiler with -mt flag.
This commit is contained in:
parent
dd8247e324
commit
475c37b6a5
|
@ -28,17 +28,67 @@
|
|||
# include <iostream.h>
|
||||
#endif
|
||||
|
||||
// The HP implementation of iostream defines cin, cout, cerr, and clog
|
||||
// as macros in order to do thread-private streams.
|
||||
// See /opt/aCC/include/iostream/iostream.h for details.
|
||||
// This block redefines the macros in a safe way that is also compatible
|
||||
// with the HP definitions and the using declarations below.
|
||||
|
||||
#if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM
|
||||
# if defined(__HP_aCC) && (defined(HP_THREAD_SAFE) || defined(_THREAD_SAFE))
|
||||
# if defined(cin) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CIN)
|
||||
# define @KWSYS_NAMESPACE@_IOS_HP_HACK_CIN
|
||||
# undef cin
|
||||
# define cin __tcin.ref()
|
||||
# endif
|
||||
# if defined(cout) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_COUT)
|
||||
# define @KWSYS_NAMESPACE@_IOS_HP_HACK_COUT
|
||||
# undef cout
|
||||
# define cout __tcout.ref()
|
||||
# endif
|
||||
# if defined(cerr) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CERR)
|
||||
# define @KWSYS_NAMESPACE@_IOS_HP_HACK_CERR
|
||||
# undef cerr
|
||||
# define cerr __tcerr.ref()
|
||||
# endif
|
||||
# if defined(clog) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG)
|
||||
# define @KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG
|
||||
# undef clog
|
||||
# define clog __tclog.ref()
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// If using our own sstream emulation code, put the standard
|
||||
// streams in the same namespace.
|
||||
#if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM
|
||||
namespace @KWSYS_NAMESPACE@_ios
|
||||
{
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::ostream;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::istream;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::ios;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::cout;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::cerr;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::cin;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::endl;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::flush;
|
||||
# if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CIN)
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::__tcin;
|
||||
# else
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::cin;
|
||||
# endif
|
||||
# if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_COUT)
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::__tcout;
|
||||
# else
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::cout;
|
||||
# endif
|
||||
# if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CERR)
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::__tcerr;
|
||||
# else
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::cerr;
|
||||
# endif
|
||||
# if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG)
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::__tclog;
|
||||
# else
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::clog;
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue