From 572e5146f8a88894c86c4652add4d4134779ff60 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 20 Nov 2001 08:28:54 -0500 Subject: [PATCH] define hacks and such for the dec compiler --- Source/CursesDialog/cmCursesMainForm.cxx | 8 ++++---- Source/CursesDialog/cmCursesStandardIncludes.h | 15 +++++++++++++++ Source/cmStandardIncludes.h | 12 +++++++++--- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index 6b700ccad..e0ed962b3 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -241,9 +241,9 @@ void cmCursesMainForm::PrintKeys() sprintf(firstLine, "C)onfigure G)enerate and Exit"); sprintf(secondLine, "Q)uit H)elp"); - move(y-2,0); + curses_move(y-2,0); printw(firstLine); - move(y-1,0); + curses_move(y-1,0); printw(secondLine); pos_form_cursor(m_Form); @@ -258,7 +258,7 @@ void cmCursesMainForm::UpdateStatusBar() if ( x < cmCursesMainForm::MIN_WIDTH || y < cmCursesMainForm::MIN_HEIGHT ) { - move(0,0); + curses_move(0,0); printw("Window is too small. A size of at least %dx%d is required.", cmCursesMainForm::MIN_WIDTH, cmCursesMainForm::MIN_HEIGHT); touchwin(m_Window); @@ -310,7 +310,7 @@ void cmCursesMainForm::UpdateStatusBar() bar[cmCursesMainForm::MAX_WIDTH-1] = '\0'; } - move(y-3,0); + curses_move(y-3,0); attron(A_STANDOUT); printw(bar); attroff(A_STANDOUT); diff --git a/Source/CursesDialog/cmCursesStandardIncludes.h b/Source/CursesDialog/cmCursesStandardIncludes.h index b932d168f..d993a6014 100644 --- a/Source/CursesDialog/cmCursesStandardIncludes.h +++ b/Source/CursesDialog/cmCursesStandardIncludes.h @@ -1,3 +1,5 @@ +#ifndef cmCursesStandardIncludes_h +#define cmCursesStandardIncludes_h #if defined(__sun__) && defined(__GNUC__) #define _MSE_INT_H #endif @@ -19,3 +21,16 @@ #endif +// on some machines move erase and clear conflict with stl +// so remove them from the namespace +inline void curses_move(unsigned int x, unsigned int y) +{ + move(x,y); +} + +#undef move +#undef erase +#undef clear + + +#endif // cmCursesStandardIncludes_h diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h index 0b0852ad0..bf4d8a134 100644 --- a/Source/cmStandardIncludes.h +++ b/Source/cmStandardIncludes.h @@ -102,12 +102,18 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # if (_COMPILER_VERSION >= 730) # define CM_SGI_CC_730 # elif (_COMPILER_VERSION >= 720) -# define CM_SGI_CC_720 +# define CM_HAS_STD_BUT_NOT_FOR_IOSTREAM # endif #endif -# ifdef CM_SGI_CC_720 -// the 720 sgi compiler has std:: but not for the stream library, +#ifdef __DECCXX_VER +# if __DECCXX_VER <= 60390002 +# define CM_HAS_STD_BUT_NOT_FOR_IOSTREAM +# endif +#endif + +#ifdef CM_HAS_STD_BUT_NOT_FOR_IOSTREAM +// some compilers have std:: but not for the stream library, // so we have to bring it into the std namespace by hand. namespace std { using ::ostream;