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>
|
# include <iostream.h>
|
||||||
#endif
|
#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
|
#if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM
|
||||||
namespace @KWSYS_NAMESPACE@_ios
|
namespace @KWSYS_NAMESPACE@_ios
|
||||||
{
|
{
|
||||||
using @KWSYS_NAMESPACE@_ios_namespace::ostream;
|
using @KWSYS_NAMESPACE@_ios_namespace::ostream;
|
||||||
using @KWSYS_NAMESPACE@_ios_namespace::istream;
|
using @KWSYS_NAMESPACE@_ios_namespace::istream;
|
||||||
using @KWSYS_NAMESPACE@_ios_namespace::ios;
|
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::endl;
|
||||||
using @KWSYS_NAMESPACE@_ios_namespace::flush;
|
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
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue