diff options
59 files changed, 679 insertions, 754 deletions
diff --git a/config/Make.common.rules b/config/Make.common.rules index 3fa0a71b733..e3d3a94e431 100644 --- a/config/Make.common.rules +++ b/config/Make.common.rules @@ -45,6 +45,10 @@ ifeq ($(UNAME),SunOS) lp64suffix = /sparcv9 lp64binsuffix = /sparcv9 endif + ifeq ($(MACHINE_TYPE),sun4v) + lp64suffix = /sparcv9 + lp64binsuffix = /sparcv9 + endif ifeq ($(MACHINE_TYPE),i86pc) lp64suffix = /amd64 lp64binsuffix = /amd64 diff --git a/config/makeprops.py b/config/makeprops.py index cc47e550bf8..833739121b1 100755 --- a/config/makeprops.py +++ b/config/makeprops.py @@ -75,9 +75,9 @@ struct PropertyArray const Property* properties; const int length; - PropertyArray(const Property* p, int len) : + PropertyArray(const Property* p, size_t len) : properties(p), - length(len) + length(static_cast<int>(len)) { } }; diff --git a/cpp/INSTALL.SOLARIS b/cpp/INSTALL.SOLARIS index dfaf780dd8e..fdc86236fdc 100644 --- a/cpp/INSTALL.SOLARIS +++ b/cpp/INSTALL.SOLARIS @@ -6,24 +6,14 @@ Requirements Operating System ---------------- -Ice is expected to build and run properly on Solaris 8, Solaris 9 -and Solaris 10 on SPARC and x86/x64. However, Ice is officially -supported only on Solaris 10 update 5 or greater for both SPARC and -x86/x64. - -You also need to have /dev/urandom installed. This is installed by -default on Solaris 9 and Solaris 10; on Solaris 8, you need to install -patch 112438-01. - +Ice is supported on: + - Solaris 11 for SPARC. C++ compiler ------------ -Ice is expected to build properly with GCC 3.4 or later. However, only -the following compilers are officially supported: - -- GCC 3.4.3 on x86/x64 -- GCC 4.3.2 on SPARC +Ice is supported with: +- Solaris Studio 12.3 (CC 5.12) Third-party libraries @@ -31,13 +21,11 @@ Third-party libraries Ice has dependencies on a number of third-party libraries: -- Berkeley DB 4.8.30 -- expat 1.95.7 or 2.0.0 -- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended) -- bzip2 1.0.x +- Berkeley DB 5.1.25 (from pkg.oracle.com) +- expat 2.0.1 (from pkg.oracle.com) +- OpenSSL 1.0.0 (from pkg.oracle.com) +- bzip2 1.0.6 (from pkg.oracle.com) - mcpp 2.7.2 (with patches) -- libiconv 1.13.1 (x86/x64 only) -- QT 4.5.3 (optional) We recommend downloading the Ice third-party source archive from @@ -55,17 +43,12 @@ expat http://expat.sourceforge.net OpenSSL http://www.openssl.org bzip2 http://sources.redhat.com/bzip2 mcpp http://mcpp.sourceforge.net -libiconv http://www.gnu.org/software/libiconv -QT http://qt.nokia.com - -GNU Make 3.80 +GNU Make 3.81 ------------- -GNU Make 3.80 is required to build Ice on Solaris. GNU make is -distributed on the "Solaris 10 OS Companion Software DVD": - -http://www.sun.com/software/solaris/freeware/ +GNU Make 3.81 is required to build Ice on Solaris. It can be installed +using pkg.oracle.com (package name: gnu-make). ====================================================================== @@ -97,9 +80,7 @@ $ gmake This will build the Ice core libraries, services, tests and examples. -Python is required to run the test suite: - - http://www.python.org/download +Python is required to run the test suite. After a successful build, you can run the test suite: diff --git a/cpp/config/Make.rules.SunOS b/cpp/config/Make.rules.SunOS index ab7fcfd86f9..ba26ecf6e7d 100644 --- a/cpp/config/Make.rules.SunOS +++ b/cpp/config/Make.rules.SunOS @@ -13,115 +13,57 @@ # # If CXX is not defined anywhere, the default (from gmake) is g++. -# If you want to build with another compiler, you can edit this line and -# uncomment it, or define CXX=<desired-compiler> in your environment. # -#CXX = CC +CXX = CC # This variable is used to determine the machine type. -# For SUN UltraSPARC machines: sun4u +# For SPARC machines: sun4u and sun4v # For x86/x64 machines: i86pc # -MACHINE_TYPE := $(shell uname -m) +MACHINE_TYPE := $(shell uname -m) ifeq ($(CXX),CC) # - # Sun CC + # Recent version of Sun CC # - - # - # Which version of CC are we using? - # - CCVERSION = $(filter 5.%, $(shell CC -V 2>&1)) - - ifeq ($(CCVERSION),5.9) - ifeq ($(LP64),yes) - CXXARCHFLAGS += -m64 - else - CXXARCHFLAGS += -m32 - endif - else - ifeq ($(MACHINE_TYPE),sun4u) - ifeq ($(LP64),yes) - CXXARCHFLAGS += -xarch=v9 - else - CXXARCHFLAGS += -xarch=v8plus - endif - endif - - ifeq ($(MACHINE_TYPE),i86pc) - ifeq ($(LP64),yes) - CXXARCHFLAGS += -xarch=amd64 - endif - endif - endif - - ifeq ($(CCVERSION),5.3) - FLEX_NOLINE = yes - BISON_NOLINE = yes - TEMPLATE_REPOSITORY = SunWS_cache + + ifeq ($(LP64),yes) + CXXARCHFLAGS += -m64 else - ifeq ($(CCVERSION),5.4) - CXXWARNFLAGS = +w - TEMPLATE_REPOSITORY = SunWS_cache - else - # - # Assumes >= 5.5 - # - # wvarhidenmem,wvarhidemem: various name hiding - # - CXXWARNFLAGS = +w -erroff=wvarhidenmem,wvarhidemem - CXXSCOPEFLAGS = -xldscope=hidden - endif + CXXARCHFLAGS += -m32 endif - + # - # -features=tmplife is needed to destroy temporary objects immediately - # (as specified by ISO C++) instead of at the end of the current block. - # This is very useful to avoid deadlocks when using Freeze Map - # iterators. + # wvarhidenmem,wvarhidemem: various name hiding + # notemsource: Could not find source for <template name> + # + CXXWARNFLAGS = +w -errtags -erroff=wvarhidenmem,wvarhidemem,notemsource + CXXSCOPEFLAGS = -xldscope=hidden - CXXFLAGS = -mt +p -features=tmplife $(CXXSCOPEFLAGS) $(CXXWARNFLAGS) $(CXXARCHFLAGS) + CXXFLAGS = -mt +p $(CXXSCOPEFLAGS) $(CXXWARNFLAGS) $(CXXARCHFLAGS) ifneq ($(GENPIC),no) - CXXFLAGS += -KPIC + CXXFLAGS += -xcode=pic32 endif ifeq ($(OPTIMIZE),yes) - CXXFLAGS += -O -DNDEBUG + CXXFLAGS += -O -DNDEBUG else - CXXFLAGS += -g + CXXFLAGS += -g endif + + mkshlib = $(CXX) -G $(LDFLAGS) -o $(1) -h $(2) $(3) $(4) - # - # C++ run-time libraries, necessary for linking some shared libraries. - # - CXXLIBS = -lCstd -lCrun - - mkshlib = $(CXX) -G $(LDFLAGS) -o $(1) -h $(2) $(3) $(4) - - mklib = $(CXX) -xar -o $(1) $(2) + mklib = $(CXX) -xar -o $(1) $(2) ifneq ($(embedded_runpath_prefix),) - LDPLATFORMFLAGS = -norunpath -R $(runpath_libdir):/usr/sfw/$(libsubdir) -z text $(PLATFORMLIBDIRS) + LDPLATFORMFLAGS = -norunpath -R $(runpath_libdir) -z text $(PLATFORMLIBDIRS) else - LDPLATFORMFLAGS = -norunpath -R /usr/sfw/$(libsubdir) -z text $(PLATFORMLIBDIRS) + LDPLATFORMFLAGS = -norunpath -z text $(PLATFORMLIBDIRS) endif - # - # On SPARC, we also link with <SUNWspro>/lib or lib/v9. - # See http://forum.java.sun.com/thread.jspa?threadID=5279267 - # - ifeq ($(MACHINE_TYPE),sun4u) - CCLIBDIR = $(shell whatdir CC)/../../lib - ifeq ($(LP64),yes) - PLATFORMLIBDIRS := -L$(CCLIBDIR)/v9 - else - PLATFORMLIBDIRS := -L$(CCLIBDIR) - endif - endif endif ifeq ($(CXX),gcc) @@ -169,19 +111,9 @@ BASELIBS = -lIceUtil -lpthread LIBS = $(BZIP2_RPATH_LINK) -lIce $(BASELIBS) ifneq ($(QT_HOME),) - QT_FLAGS = -I$(QT_HOME)/include - QT_LIBS = -L$(QT_HOME)/$(libsubdir) -lQtCore -lQtSql + QT_FLAGS = -I$(QT_HOME)/include + QT_LIBS = -L$(QT_HOME)/$(libsubdir) -lQtCore -lQtSql endif ICEUTIL_OS_LIBS = -lpthread -lrt ICE_OS_LIBS = -ldl -lsocket - -ifeq ($(MACHINE_TYPE),sun4u) - lp64suffix = /sparcv9 - lp64binsuffix = /sparcv9 -endif -ifeq ($(MACHINE_TYPE),i86pc) - lp64suffix = /amd64 - lp64binsuffix = /amd64 -endif - diff --git a/cpp/demo/Freeze/library/Scanner.cpp b/cpp/demo/Freeze/library/Scanner.cpp index 1b215e134d4..38012540f72 100644 --- a/cpp/demo/Freeze/library/Scanner.cpp +++ b/cpp/demo/Freeze/library/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -544,9 +535,19 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) -#line 549 "lex.yy.c" +#line 550 "lex.yy.c" #define INITIAL 0 @@ -627,12 +628,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -640,7 +636,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -651,7 +647,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -733,10 +729,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 48 "Scanner.l" +#line 58 "Scanner.l" -#line 739 "lex.yy.c" +#line 735 "lex.yy.c" if ( !(yy_init) ) { @@ -821,7 +817,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 50 "Scanner.l" +#line 60 "Scanner.l" { // C++-style comment int c; @@ -834,7 +830,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 60 "Scanner.l" +#line 70 "Scanner.l" { // C-style comment while(true) @@ -862,84 +858,84 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 85 "Scanner.l" +#line 95 "Scanner.l" { return TOK_HELP; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "Scanner.l" +#line 99 "Scanner.l" { return TOK_EXIT; } YY_BREAK case 5: YY_RULE_SETUP -#line 93 "Scanner.l" +#line 103 "Scanner.l" { return TOK_ADD_BOOK; } YY_BREAK case 6: YY_RULE_SETUP -#line 97 "Scanner.l" +#line 107 "Scanner.l" { return TOK_FIND_ISBN; } YY_BREAK case 7: YY_RULE_SETUP -#line 101 "Scanner.l" +#line 111 "Scanner.l" { return TOK_FIND_AUTHORS; } YY_BREAK case 8: YY_RULE_SETUP -#line 105 "Scanner.l" +#line 115 "Scanner.l" { return TOK_NEXT_FOUND_BOOK; } YY_BREAK case 9: YY_RULE_SETUP -#line 109 "Scanner.l" +#line 119 "Scanner.l" { return TOK_PRINT_CURRENT; } YY_BREAK case 10: YY_RULE_SETUP -#line 113 "Scanner.l" +#line 123 "Scanner.l" { return TOK_RENT_BOOK; } YY_BREAK case 11: YY_RULE_SETUP -#line 117 "Scanner.l" +#line 127 "Scanner.l" { return TOK_RETURN_BOOK; } YY_BREAK case 12: YY_RULE_SETUP -#line 121 "Scanner.l" +#line 131 "Scanner.l" { return TOK_REMOVE_CURRENT; } YY_BREAK case 13: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { return TOK_SET_EVICTOR_SIZE; } YY_BREAK case 14: YY_RULE_SETUP -#line 129 "Scanner.l" +#line 139 "Scanner.l" { return TOK_SHUTDOWN; } @@ -947,7 +943,7 @@ YY_RULE_SETUP case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 133 "Scanner.l" +#line 143 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -962,14 +958,14 @@ YY_RULE_SETUP case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 144 "Scanner.l" +#line 154 "Scanner.l" { return ';'; } YY_BREAK case 17: YY_RULE_SETUP -#line 148 "Scanner.l" +#line 158 "Scanner.l" { // "..."-type strings string s; @@ -1046,7 +1042,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 222 "Scanner.l" +#line 232 "Scanner.l" { // '...'-type strings string s; @@ -1074,7 +1070,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 247 "Scanner.l" +#line 257 "Scanner.l" { // Simple strings string s; @@ -1101,10 +1097,10 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 271 "Scanner.l" +#line 281 "Scanner.l" ECHO; YY_BREAK -#line 1107 "lex.yy.c" +#line 1103 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1858,8 +1854,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2098,7 +2094,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 271 "Scanner.l" +#line 281 "Scanner.l" diff --git a/cpp/demo/Freeze/library/Scanner.l b/cpp/demo/Freeze/library/Scanner.l index 8494112f22d..b44fc68d227 100644 --- a/cpp/demo/Freeze/library/Scanner.l +++ b/cpp/demo/Freeze/library/Scanner.l @@ -35,6 +35,16 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) %} diff --git a/cpp/demo/Freeze/phonebook/Scanner.cpp b/cpp/demo/Freeze/phonebook/Scanner.cpp index 852d8f9f795..a0f41f1a814 100644 --- a/cpp/demo/Freeze/phonebook/Scanner.cpp +++ b/cpp/demo/Freeze/phonebook/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -544,9 +535,19 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) -#line 549 "lex.yy.c" +#line 550 "lex.yy.c" #define INITIAL 0 @@ -627,12 +628,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -640,7 +636,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -651,7 +647,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -733,10 +729,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 48 "Scanner.l" +#line 58 "Scanner.l" -#line 739 "lex.yy.c" +#line 735 "lex.yy.c" if ( !(yy_init) ) { @@ -821,7 +817,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 50 "Scanner.l" +#line 60 "Scanner.l" { // C++-style comment int c; @@ -834,7 +830,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 60 "Scanner.l" +#line 70 "Scanner.l" { // C-style comment while(true) @@ -862,84 +858,84 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 85 "Scanner.l" +#line 95 "Scanner.l" { return TOK_HELP; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "Scanner.l" +#line 99 "Scanner.l" { return TOK_EXIT; } YY_BREAK case 5: YY_RULE_SETUP -#line 93 "Scanner.l" +#line 103 "Scanner.l" { return TOK_ADD_CONTACTS; } YY_BREAK case 6: YY_RULE_SETUP -#line 97 "Scanner.l" +#line 107 "Scanner.l" { return TOK_FIND_CONTACTS; } YY_BREAK case 7: YY_RULE_SETUP -#line 101 "Scanner.l" +#line 111 "Scanner.l" { return TOK_NEXT_FOUND_CONTACT; } YY_BREAK case 8: YY_RULE_SETUP -#line 105 "Scanner.l" +#line 115 "Scanner.l" { return TOK_PRINT_CURRENT; } YY_BREAK case 9: YY_RULE_SETUP -#line 109 "Scanner.l" +#line 119 "Scanner.l" { return TOK_SET_CURRENT_NAME; } YY_BREAK case 10: YY_RULE_SETUP -#line 113 "Scanner.l" +#line 123 "Scanner.l" { return TOK_SET_CURRENT_ADDRESS; } YY_BREAK case 11: YY_RULE_SETUP -#line 117 "Scanner.l" +#line 127 "Scanner.l" { return TOK_SET_CURRENT_PHONE; } YY_BREAK case 12: YY_RULE_SETUP -#line 121 "Scanner.l" +#line 131 "Scanner.l" { return TOK_REMOVE_CURRENT; } YY_BREAK case 13: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { return TOK_SET_EVICTOR_SIZE; } YY_BREAK case 14: YY_RULE_SETUP -#line 129 "Scanner.l" +#line 139 "Scanner.l" { return TOK_SHUTDOWN; } @@ -947,7 +943,7 @@ YY_RULE_SETUP case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 133 "Scanner.l" +#line 143 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -962,14 +958,14 @@ YY_RULE_SETUP case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 144 "Scanner.l" +#line 154 "Scanner.l" { return ';'; } YY_BREAK case 17: YY_RULE_SETUP -#line 148 "Scanner.l" +#line 158 "Scanner.l" { // "..."-type strings string s; @@ -1046,7 +1042,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 222 "Scanner.l" +#line 232 "Scanner.l" { // '...'-type strings string s; @@ -1074,7 +1070,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 247 "Scanner.l" +#line 257 "Scanner.l" { // Simple strings string s; @@ -1101,10 +1097,10 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 271 "Scanner.l" +#line 281 "Scanner.l" ECHO; YY_BREAK -#line 1107 "lex.yy.c" +#line 1103 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1858,8 +1854,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2098,7 +2094,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 271 "Scanner.l" +#line 281 "Scanner.l" diff --git a/cpp/demo/Freeze/phonebook/Scanner.l b/cpp/demo/Freeze/phonebook/Scanner.l index 02b0a4d0e44..734f2a0f374 100644 --- a/cpp/demo/Freeze/phonebook/Scanner.l +++ b/cpp/demo/Freeze/phonebook/Scanner.l @@ -35,6 +35,16 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) %} diff --git a/cpp/demo/book/evictor_filesystem/Scanner.cpp b/cpp/demo/book/evictor_filesystem/Scanner.cpp index bc4b1c7f7a3..9920e412452 100644 --- a/cpp/demo/book/evictor_filesystem/Scanner.cpp +++ b/cpp/demo/book/evictor_filesystem/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -532,9 +523,19 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) -#line 537 "lex.yy.c" +#line 538 "lex.yy.c" #define INITIAL 0 @@ -615,12 +616,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -628,7 +624,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -639,7 +635,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -721,10 +717,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 48 "Scanner.l" +#line 58 "Scanner.l" -#line 727 "lex.yy.c" +#line 723 "lex.yy.c" if ( !(yy_init) ) { @@ -809,7 +805,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 50 "Scanner.l" +#line 60 "Scanner.l" { // C++-style comment int c; @@ -822,7 +818,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 60 "Scanner.l" +#line 70 "Scanner.l" { // C-style comment while(true) @@ -850,77 +846,77 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 85 "Scanner.l" +#line 95 "Scanner.l" { return TOK_HELP; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "Scanner.l" +#line 99 "Scanner.l" { return TOK_EXIT; } YY_BREAK case 5: YY_RULE_SETUP -#line 93 "Scanner.l" +#line 103 "Scanner.l" { return TOK_LIST; } YY_BREAK case 6: YY_RULE_SETUP -#line 97 "Scanner.l" +#line 107 "Scanner.l" { return TOK_LIST_RECURSIVE; } YY_BREAK case 7: YY_RULE_SETUP -#line 101 "Scanner.l" +#line 111 "Scanner.l" { return TOK_CREATE_FILE; } YY_BREAK case 8: YY_RULE_SETUP -#line 105 "Scanner.l" +#line 115 "Scanner.l" { return TOK_CREATE_DIR; } YY_BREAK case 9: YY_RULE_SETUP -#line 109 "Scanner.l" +#line 119 "Scanner.l" { return TOK_PWD; } YY_BREAK case 10: YY_RULE_SETUP -#line 113 "Scanner.l" +#line 123 "Scanner.l" { return TOK_CD; } YY_BREAK case 11: YY_RULE_SETUP -#line 117 "Scanner.l" +#line 127 "Scanner.l" { return TOK_CAT; } YY_BREAK case 12: YY_RULE_SETUP -#line 121 "Scanner.l" +#line 131 "Scanner.l" { return TOK_WRITE; } YY_BREAK case 13: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { return TOK_RM; } @@ -928,7 +924,7 @@ YY_RULE_SETUP case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 129 "Scanner.l" +#line 139 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -943,14 +939,14 @@ YY_RULE_SETUP case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 140 "Scanner.l" +#line 150 "Scanner.l" { return ';'; } YY_BREAK case 16: YY_RULE_SETUP -#line 144 "Scanner.l" +#line 154 "Scanner.l" { // "..."-type strings string s; @@ -1027,7 +1023,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 218 "Scanner.l" +#line 228 "Scanner.l" { // '...'-type strings string s; @@ -1055,7 +1051,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 243 "Scanner.l" +#line 253 "Scanner.l" { // Simple strings string s; @@ -1082,10 +1078,10 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 267 "Scanner.l" +#line 277 "Scanner.l" ECHO; YY_BREAK -#line 1088 "lex.yy.c" +#line 1084 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1839,8 +1835,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2079,7 +2075,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 267 "Scanner.l" +#line 277 "Scanner.l" diff --git a/cpp/demo/book/evictor_filesystem/Scanner.l b/cpp/demo/book/evictor_filesystem/Scanner.l index 611903c29ef..d6e25e49ed6 100644 --- a/cpp/demo/book/evictor_filesystem/Scanner.l +++ b/cpp/demo/book/evictor_filesystem/Scanner.l @@ -35,6 +35,16 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) %} diff --git a/cpp/demo/book/lifecycle/Scanner.cpp b/cpp/demo/book/lifecycle/Scanner.cpp index bc4b1c7f7a3..9920e412452 100644 --- a/cpp/demo/book/lifecycle/Scanner.cpp +++ b/cpp/demo/book/lifecycle/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -532,9 +523,19 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) -#line 537 "lex.yy.c" +#line 538 "lex.yy.c" #define INITIAL 0 @@ -615,12 +616,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -628,7 +624,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -639,7 +635,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -721,10 +717,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 48 "Scanner.l" +#line 58 "Scanner.l" -#line 727 "lex.yy.c" +#line 723 "lex.yy.c" if ( !(yy_init) ) { @@ -809,7 +805,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 50 "Scanner.l" +#line 60 "Scanner.l" { // C++-style comment int c; @@ -822,7 +818,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 60 "Scanner.l" +#line 70 "Scanner.l" { // C-style comment while(true) @@ -850,77 +846,77 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 85 "Scanner.l" +#line 95 "Scanner.l" { return TOK_HELP; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "Scanner.l" +#line 99 "Scanner.l" { return TOK_EXIT; } YY_BREAK case 5: YY_RULE_SETUP -#line 93 "Scanner.l" +#line 103 "Scanner.l" { return TOK_LIST; } YY_BREAK case 6: YY_RULE_SETUP -#line 97 "Scanner.l" +#line 107 "Scanner.l" { return TOK_LIST_RECURSIVE; } YY_BREAK case 7: YY_RULE_SETUP -#line 101 "Scanner.l" +#line 111 "Scanner.l" { return TOK_CREATE_FILE; } YY_BREAK case 8: YY_RULE_SETUP -#line 105 "Scanner.l" +#line 115 "Scanner.l" { return TOK_CREATE_DIR; } YY_BREAK case 9: YY_RULE_SETUP -#line 109 "Scanner.l" +#line 119 "Scanner.l" { return TOK_PWD; } YY_BREAK case 10: YY_RULE_SETUP -#line 113 "Scanner.l" +#line 123 "Scanner.l" { return TOK_CD; } YY_BREAK case 11: YY_RULE_SETUP -#line 117 "Scanner.l" +#line 127 "Scanner.l" { return TOK_CAT; } YY_BREAK case 12: YY_RULE_SETUP -#line 121 "Scanner.l" +#line 131 "Scanner.l" { return TOK_WRITE; } YY_BREAK case 13: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { return TOK_RM; } @@ -928,7 +924,7 @@ YY_RULE_SETUP case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 129 "Scanner.l" +#line 139 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -943,14 +939,14 @@ YY_RULE_SETUP case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 140 "Scanner.l" +#line 150 "Scanner.l" { return ';'; } YY_BREAK case 16: YY_RULE_SETUP -#line 144 "Scanner.l" +#line 154 "Scanner.l" { // "..."-type strings string s; @@ -1027,7 +1023,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 218 "Scanner.l" +#line 228 "Scanner.l" { // '...'-type strings string s; @@ -1055,7 +1051,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 243 "Scanner.l" +#line 253 "Scanner.l" { // Simple strings string s; @@ -1082,10 +1078,10 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 267 "Scanner.l" +#line 277 "Scanner.l" ECHO; YY_BREAK -#line 1088 "lex.yy.c" +#line 1084 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1839,8 +1835,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2079,7 +2075,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 267 "Scanner.l" +#line 277 "Scanner.l" diff --git a/cpp/demo/book/lifecycle/Scanner.l b/cpp/demo/book/lifecycle/Scanner.l index 611903c29ef..d6e25e49ed6 100644 --- a/cpp/demo/book/lifecycle/Scanner.l +++ b/cpp/demo/book/lifecycle/Scanner.l @@ -35,6 +35,16 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) %} diff --git a/cpp/demo/book/map_filesystem/FilesystemI.cpp b/cpp/demo/book/map_filesystem/FilesystemI.cpp index e7793be6ef8..aa582643a04 100644 --- a/cpp/demo/book/map_filesystem/FilesystemI.cpp +++ b/cpp/demo/book/map_filesystem/FilesystemI.cpp @@ -193,7 +193,11 @@ DirectoryI::DirectoryI(const Ice::CommunicatorPtr& communicator, const string& e { DirectoryEntry d; d.name = "/"; +#ifdef __SUNPRO_CC + dirDB.put(IdentityDirectoryEntryMap::value_type(rootId, d)); +#else dirDB.put(make_pair(rootId, d)); +#endif } break; } @@ -345,7 +349,11 @@ DirectoryI::createDirectory(const string& name, const Ice::Current& c) entry.nodes.insert(make_pair(name, nd)); p.set(entry); +#ifdef __SUNPRO_CC + directoryDB.put(IdentityDirectoryEntryMap::value_type(id, d)); +#else directoryDB.put(make_pair(id, d)); +#endif txn.commit(); @@ -407,7 +415,12 @@ DirectoryI::createFile(const string& name, const Ice::Current& c) entry.nodes.insert(make_pair(name, nd)); p.set(entry); + +#ifdef __SUNPRO_CC + fileDB.put(IdentityFileEntryMap::value_type(id, d)); +#else fileDB.put(make_pair(id, d)); +#endif txn.commit(); diff --git a/cpp/demo/book/map_filesystem/Scanner.cpp b/cpp/demo/book/map_filesystem/Scanner.cpp index bc4b1c7f7a3..9920e412452 100644 --- a/cpp/demo/book/map_filesystem/Scanner.cpp +++ b/cpp/demo/book/map_filesystem/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -532,9 +523,19 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) -#line 537 "lex.yy.c" +#line 538 "lex.yy.c" #define INITIAL 0 @@ -615,12 +616,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -628,7 +624,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -639,7 +635,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -721,10 +717,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 48 "Scanner.l" +#line 58 "Scanner.l" -#line 727 "lex.yy.c" +#line 723 "lex.yy.c" if ( !(yy_init) ) { @@ -809,7 +805,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 50 "Scanner.l" +#line 60 "Scanner.l" { // C++-style comment int c; @@ -822,7 +818,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 60 "Scanner.l" +#line 70 "Scanner.l" { // C-style comment while(true) @@ -850,77 +846,77 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 85 "Scanner.l" +#line 95 "Scanner.l" { return TOK_HELP; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "Scanner.l" +#line 99 "Scanner.l" { return TOK_EXIT; } YY_BREAK case 5: YY_RULE_SETUP -#line 93 "Scanner.l" +#line 103 "Scanner.l" { return TOK_LIST; } YY_BREAK case 6: YY_RULE_SETUP -#line 97 "Scanner.l" +#line 107 "Scanner.l" { return TOK_LIST_RECURSIVE; } YY_BREAK case 7: YY_RULE_SETUP -#line 101 "Scanner.l" +#line 111 "Scanner.l" { return TOK_CREATE_FILE; } YY_BREAK case 8: YY_RULE_SETUP -#line 105 "Scanner.l" +#line 115 "Scanner.l" { return TOK_CREATE_DIR; } YY_BREAK case 9: YY_RULE_SETUP -#line 109 "Scanner.l" +#line 119 "Scanner.l" { return TOK_PWD; } YY_BREAK case 10: YY_RULE_SETUP -#line 113 "Scanner.l" +#line 123 "Scanner.l" { return TOK_CD; } YY_BREAK case 11: YY_RULE_SETUP -#line 117 "Scanner.l" +#line 127 "Scanner.l" { return TOK_CAT; } YY_BREAK case 12: YY_RULE_SETUP -#line 121 "Scanner.l" +#line 131 "Scanner.l" { return TOK_WRITE; } YY_BREAK case 13: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { return TOK_RM; } @@ -928,7 +924,7 @@ YY_RULE_SETUP case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 129 "Scanner.l" +#line 139 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -943,14 +939,14 @@ YY_RULE_SETUP case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 140 "Scanner.l" +#line 150 "Scanner.l" { return ';'; } YY_BREAK case 16: YY_RULE_SETUP -#line 144 "Scanner.l" +#line 154 "Scanner.l" { // "..."-type strings string s; @@ -1027,7 +1023,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 218 "Scanner.l" +#line 228 "Scanner.l" { // '...'-type strings string s; @@ -1055,7 +1051,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 243 "Scanner.l" +#line 253 "Scanner.l" { // Simple strings string s; @@ -1082,10 +1078,10 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 267 "Scanner.l" +#line 277 "Scanner.l" ECHO; YY_BREAK -#line 1088 "lex.yy.c" +#line 1084 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1839,8 +1835,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2079,7 +2075,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 267 "Scanner.l" +#line 277 "Scanner.l" diff --git a/cpp/demo/book/map_filesystem/Scanner.l b/cpp/demo/book/map_filesystem/Scanner.l index 611903c29ef..d6e25e49ed6 100644 --- a/cpp/demo/book/map_filesystem/Scanner.l +++ b/cpp/demo/book/map_filesystem/Scanner.l @@ -35,6 +35,16 @@ using namespace std; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) %} diff --git a/cpp/include/Ice/BasicStream.h b/cpp/include/Ice/BasicStream.h index f9ab44f1049..69bfc1a2e53 100644 --- a/cpp/include/Ice/BasicStream.h +++ b/cpp/include/Ice/BasicStream.h @@ -891,7 +891,7 @@ private: class WriteEncaps; enum SliceType { NoSlice, ObjectSlice, ExceptionSlice }; - class EncapsDecoder : private ::IceUtil::noncopyable + class ICE_API EncapsDecoder : private ::IceUtil::noncopyable { public: EncapsDecoder(BasicStream* stream, ReadEncaps* encaps, bool sliceObjects) : @@ -962,7 +962,7 @@ private: Ice::Int _typeIdIndex; }; - class EncapsEncoder : private ::IceUtil::noncopyable + class ICE_API EncapsEncoder : private ::IceUtil::noncopyable { public: EncapsEncoder(BasicStream* stream, WriteEncaps* encaps) : @@ -1039,7 +1039,7 @@ private: { public: - ReadEncaps() : decoder(0), previous(0) + ReadEncaps() : start(0), decoder(0), previous(0) { // Inlined for performance reasons. } diff --git a/cpp/include/Ice/IconvStringConverter.h b/cpp/include/Ice/IconvStringConverter.h index 2ab569ebbb4..ed197218699 100644 --- a/cpp/include/Ice/IconvStringConverter.h +++ b/cpp/include/Ice/IconvStringConverter.h @@ -20,7 +20,7 @@ #include <langinfo.h> #endif -#if (defined(__APPLE__) && _LIBICONV_VERSION < 0x010B) || (defined(__sun) && !defined(_XPG6)) || defined(__FreeBSD__) +#if (defined(__APPLE__) && _LIBICONV_VERSION < 0x010B) || defined(__FreeBSD__) // // See http://sourceware.org/bugzilla/show_bug.cgi?id=2962 // @@ -243,7 +243,7 @@ IconvStringConverter<charT>::toUTF8(const charT* sourceStart, const charT* sourc #ifdef NDEBUG iconv(cd, 0, 0, 0, 0); #else - int rs = iconv(cd, 0, 0, 0, 0); + size_t rs = iconv(cd, 0, 0, 0, 0); assert(rs == 0); #endif @@ -296,7 +296,7 @@ IconvStringConverter<charT>::fromUTF8(const Ice::Byte* sourceStart, const Ice::B #ifdef NDEBUG iconv(cd, 0, 0, 0, 0); #else - int rs = iconv(cd, 0, 0, 0, 0); + size_t rs = iconv(cd, 0, 0, 0, 0); assert(rs == 0); #endif diff --git a/cpp/include/Ice/SlicedData.h b/cpp/include/Ice/SlicedData.h index b056d9296c0..974cf001472 100644 --- a/cpp/include/Ice/SlicedData.h +++ b/cpp/include/Ice/SlicedData.h @@ -92,6 +92,11 @@ public: virtual void __write(::IceInternal::BasicStream*) const; virtual void __read(::IceInternal::BasicStream*); + +#ifdef __SUNPRO_CC + using Object::__write; + using Object::__read; +#endif private: diff --git a/cpp/include/Ice/Stream.h b/cpp/include/Ice/Stream.h index 8e4e4b61afb..ad662f490b4 100644 --- a/cpp/include/Ice/Stream.h +++ b/cpp/include/Ice/Stream.h @@ -431,6 +431,10 @@ public: virtual bool __usesClasses() const; +#ifdef __SUNPRO_CC + using UserException::__usesClasses; +#endif + protected: const CommunicatorPtr _communicator; diff --git a/cpp/include/IceUtil/AbstractMutex.h b/cpp/include/IceUtil/AbstractMutex.h index 84f992e87b5..53d525dc956 100644 --- a/cpp/include/IceUtil/AbstractMutex.h +++ b/cpp/include/IceUtil/AbstractMutex.h @@ -13,6 +13,10 @@ #include <IceUtil/Config.h> #include <IceUtil/Lock.h> +#ifdef __SUNPRO_CC +# pragma error_messages(off,hidef) +#endif + namespace IceUtil { @@ -112,7 +116,10 @@ public: {} }; - } +#ifdef __SUNPRO_CC +# pragma error_messages(default,hidef) +#endif + #endif diff --git a/cpp/include/IceUtil/FileUtil.h b/cpp/include/IceUtil/FileUtil.h index 1e76c62d8fe..df091c09cce 100644 --- a/cpp/include/IceUtil/FileUtil.h +++ b/cpp/include/IceUtil/FileUtil.h @@ -121,6 +121,10 @@ public: ifstream(const std::string&, std::ios_base::openmode mode = std::ios_base::in); void open(const std::string&, std::ios_base::openmode mode = std::ios_base::in); +#ifdef __SUNPRO_CC + using std::ifstream::open; +#endif + private: // Hide const char* definitions since they shouldn't be used. @@ -136,6 +140,10 @@ public: ofstream(const std::string&, std::ios_base::openmode mode = std::ios_base::out); void open(const std::string&, std::ios_base::openmode mode = std::ios_base::out); +#ifdef __SUNPRO_CC + using std::ofstream::open; +#endif + private: // Hide const char* definitions since they shouldn't be used. diff --git a/cpp/src/FreezeScript/Scanner.cpp b/cpp/src/FreezeScript/Scanner.cpp index 6b9c34b3314..c759d4012bc 100644 --- a/cpp/src/FreezeScript/Scanner.cpp +++ b/cpp/src/FreezeScript/Scanner.cpp @@ -74,6 +74,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -104,8 +105,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -162,15 +161,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -563,6 +554,16 @@ char *freeze_script_text; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef freeze_script_wrap +# undef freeze_script_wrap +# define freeze_script_wrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + using namespace std; using namespace FreezeScript; @@ -581,7 +582,7 @@ StringTokPtr parseString(char); #define YY_USER_INIT initScanner(); #define YY_INPUT(buf, result, max_size) { result = getInput(buf, max_size); } -#line 584 "lex.yy.c" +#line 585 "lex.yy.c" #define INITIAL 0 @@ -662,12 +663,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -675,7 +671,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( freeze_script_text, freeze_script_leng, 1, freeze_script_out )) {} } while (0) +#define ECHO fwrite( freeze_script_text, freeze_script_leng, 1, freeze_script_out ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -686,7 +682,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( freeze_script_in )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -768,10 +764,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 73 "Scanner.l" +#line 83 "Scanner.l" -#line 774 "lex.yy.c" +#line 770 "lex.yy.c" if ( !(yy_init) ) { @@ -852,7 +848,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 75 "Scanner.l" +#line 85 "Scanner.l" { // C++-style comment int c; @@ -869,7 +865,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 89 "Scanner.l" +#line 99 "Scanner.l" { // C-style comment while(true) @@ -901,7 +897,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 118 "Scanner.l" +#line 128 "Scanner.l" { StringTokPtr ident = new StringTok; ident->v = freeze_script_text; @@ -911,7 +907,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { StringTokPtr str = parseString('"'); *yylvalp = str; @@ -920,7 +916,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 131 "Scanner.l" +#line 141 "Scanner.l" { StringTokPtr str = parseString('\''); *yylvalp = str; @@ -929,7 +925,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 137 "Scanner.l" +#line 147 "Scanner.l" { IntegerTokPtr itp = new IntegerTok; *yylvalp = itp; @@ -946,7 +942,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 151 "Scanner.l" +#line 161 "Scanner.l" { errno = 0; FloatingTokPtr ftp = new FloatingTok; @@ -978,7 +974,7 @@ YY_RULE_SETUP case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 179 "Scanner.l" +#line 189 "Scanner.l" { // Igore white-space @@ -990,97 +986,97 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 188 "Scanner.l" +#line 198 "Scanner.l" return TOK_LESS_THAN; YY_BREAK case 10: YY_RULE_SETUP -#line 189 "Scanner.l" +#line 199 "Scanner.l" return TOK_GREATER_THAN; YY_BREAK case 11: YY_RULE_SETUP -#line 190 "Scanner.l" +#line 200 "Scanner.l" return TOK_LESS_EQUAL; YY_BREAK case 12: YY_RULE_SETUP -#line 191 "Scanner.l" +#line 201 "Scanner.l" return TOK_GREATER_EQUAL; YY_BREAK case 13: YY_RULE_SETUP -#line 192 "Scanner.l" +#line 202 "Scanner.l" return TOK_EQUAL; YY_BREAK case 14: YY_RULE_SETUP -#line 193 "Scanner.l" +#line 203 "Scanner.l" return TOK_NEQ; YY_BREAK case 15: YY_RULE_SETUP -#line 194 "Scanner.l" +#line 204 "Scanner.l" return TOK_ADD; YY_BREAK case 16: YY_RULE_SETUP -#line 195 "Scanner.l" +#line 205 "Scanner.l" return TOK_SUB; YY_BREAK case 17: YY_RULE_SETUP -#line 196 "Scanner.l" +#line 206 "Scanner.l" return TOK_MUL; YY_BREAK case 18: YY_RULE_SETUP -#line 197 "Scanner.l" +#line 207 "Scanner.l" return TOK_DIV; YY_BREAK case 19: YY_RULE_SETUP -#line 198 "Scanner.l" +#line 208 "Scanner.l" return TOK_MOD; YY_BREAK case 20: YY_RULE_SETUP -#line 199 "Scanner.l" +#line 209 "Scanner.l" return TOK_LPAREN; YY_BREAK case 21: YY_RULE_SETUP -#line 200 "Scanner.l" +#line 210 "Scanner.l" return TOK_RPAREN; YY_BREAK case 22: YY_RULE_SETUP -#line 201 "Scanner.l" +#line 211 "Scanner.l" return TOK_LBRACKET; YY_BREAK case 23: YY_RULE_SETUP -#line 202 "Scanner.l" +#line 212 "Scanner.l" return TOK_RBRACKET; YY_BREAK case 24: YY_RULE_SETUP -#line 203 "Scanner.l" +#line 213 "Scanner.l" return TOK_SCOPE_DELIMITER; YY_BREAK case 25: YY_RULE_SETUP -#line 205 "Scanner.l" +#line 215 "Scanner.l" { return freeze_script_text[0]; } YY_BREAK case 26: YY_RULE_SETUP -#line 209 "Scanner.l" +#line 219 "Scanner.l" ECHO; YY_BREAK -#line 1083 "lex.yy.c" +#line 1079 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1835,8 +1831,8 @@ YY_BUFFER_STATE freeze_script__scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to freeze_script_lex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2075,7 +2071,7 @@ void freeze_script_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 209 "Scanner.l" +#line 219 "Scanner.l" diff --git a/cpp/src/FreezeScript/Scanner.l b/cpp/src/FreezeScript/Scanner.l index 81974e656b5..badad602828 100644 --- a/cpp/src/FreezeScript/Scanner.l +++ b/cpp/src/FreezeScript/Scanner.l @@ -39,6 +39,16 @@ # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef freeze_script_wrap +# undef freeze_script_wrap +# define freeze_script_wrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + using namespace std; using namespace FreezeScript; diff --git a/cpp/src/Glacier2Lib/Makefile b/cpp/src/Glacier2Lib/Makefile index cc3ab417519..7f5353822e3 100644 --- a/cpp/src/Glacier2Lib/Makefile +++ b/cpp/src/Glacier2Lib/Makefile @@ -37,7 +37,7 @@ SDIR = $(slicedir)/Glacier2 include $(top_srcdir)/config/Make.rules -CPPFLAGS := -I.. $(CPPFLAGS) $(OPENSSL_FLAGS) +CPPFLAGS := -I.. $(CPPFLAGS) $(OPENSSL_FLAGS) -DGLACIER2_API_EXPORTS SLICE2CPPFLAGS := --include-dir Glacier2 --dll-export GLACIER2_API $(SLICE2CPPFLAGS) LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil diff --git a/cpp/src/Ice/ImplicitContextI.cpp b/cpp/src/Ice/ImplicitContextI.cpp index 9da2940ff6c..86118533e67 100644 --- a/cpp/src/Ice/ImplicitContextI.cpp +++ b/cpp/src/Ice/ImplicitContextI.cpp @@ -55,9 +55,6 @@ public: virtual void write(const Context&, ::IceInternal::BasicStream*) const; virtual void combine(const Context&, Context&) const; - - static void threadDestructor(void*); - struct Slot { @@ -104,6 +101,9 @@ private: #endif } +extern "C" void iceImplicitContextThreadDestructor(void*); + + /*static*/ ImplicitContextI* ImplicitContextI::create(const std::string& kind) @@ -141,8 +141,7 @@ ImplicitContextI::cleanupThread() { if(PerThreadImplicitContext::_nextId > 0) { - PerThreadImplicitContext::threadDestructor( - TlsGetValue(PerThreadImplicitContext::_key)); + iceImplicitContextThreadDestructor(TlsGetValue(PerThreadImplicitContext::_key)); } } #endif @@ -310,7 +309,7 @@ PerThreadImplicitContext::PerThreadImplicitContext() throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError()); } # else - int err = pthread_key_create(&_key, &threadDestructor); + int err = pthread_key_create(&_key, &iceImplicitContextThreadDestructor); if(err != 0) { throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err); @@ -351,26 +350,6 @@ PerThreadImplicitContext::~PerThreadImplicitContext() } } -/*static*/ void -PerThreadImplicitContext::threadDestructor(void* v) -{ - SlotVector* sv = static_cast<SlotVector*>(v); - if(sv != 0) - { - // - // Cleanup each slot - // - for(SlotVector::iterator p = sv->begin(); p != sv->end(); ++p) - { - delete p->context; - } - // - // Then the vector - // - delete sv; - } -} - Context* PerThreadImplicitContext::getThreadContext(bool allocate) const { @@ -635,4 +614,24 @@ PerThreadImplicitContext::combine(const Context& proxyCtx, Context& ctx) const ctx.insert(threadCtx->begin(), threadCtx->end()); } } + +extern "C" void iceImplicitContextThreadDestructor(void* v) +{ + PerThreadImplicitContext::SlotVector* sv = static_cast<PerThreadImplicitContext::SlotVector*>(v); + if(sv != 0) + { + // + // Cleanup each slot + // + for(PerThreadImplicitContext::SlotVector::iterator p = sv->begin(); p != sv->end(); ++p) + { + delete p->context; + } + // + // Then the vector + // + delete sv; + } +} + #endif diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index 9b1094ee0dc..b49a8b6f132 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -64,10 +64,6 @@ using namespace Windows::Networking; using namespace Windows::Networking::Sockets; #endif -#if defined(__sun) && !defined(__GNUC__) -# define INADDR_NONE (in_addr_t)0xffffffff -#endif - namespace { @@ -1129,11 +1125,11 @@ IceInternal::inetAddrToString(const Address& ss) int size = 0; if(ss.ss_family == AF_INET) { - size = sizeof(sockaddr_in); + size = static_cast<int>(sizeof(sockaddr_in)); } else if(ss.ss_family == AF_INET6) { - size = sizeof(sockaddr_in6); + size = static_cast<int>(sizeof(sockaddr_in6)); } else { @@ -1142,7 +1138,7 @@ IceInternal::inetAddrToString(const Address& ss) char namebuf[1024]; namebuf[0] = '\0'; - getnameinfo(reinterpret_cast<const struct sockaddr *>(&ss), size, namebuf, sizeof(namebuf), 0, 0, NI_NUMERICHOST); + getnameinfo(reinterpret_cast<const struct sockaddr *>(&ss), size, namebuf, static_cast<socklen_t>(sizeof(namebuf)), 0, 0, NI_NUMERICHOST); return string(namebuf); #else if(ss.host == nullptr) @@ -1627,11 +1623,11 @@ IceInternal::doBind(SOCKET fd, const Address& addr) int size; if(addr.ss_family == AF_INET) { - size = sizeof(sockaddr_in); + size = static_cast<int>(sizeof(sockaddr_in)); } else if(addr.ss_family == AF_INET6) { - size = sizeof(sockaddr_in6); + size = static_cast<int>(sizeof(sockaddr_in6)); } else { @@ -1843,11 +1839,11 @@ repeatConnect: int size; if(addr.ss_family == AF_INET) { - size = sizeof(sockaddr_in); + size = static_cast<int>(sizeof(sockaddr_in)); } else if(addr.ss_family == AF_INET6) { - size = sizeof(sockaddr_in6); + size = static_cast<int>(sizeof(sockaddr_in6)); } else { diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp index 9ea1b473d09..6ad286f4e01 100644 --- a/cpp/src/Ice/PropertyNames.cpp +++ b/cpp/src/Ice/PropertyNames.cpp @@ -8,7 +8,7 @@ // ********************************************************************** // -// Generated by makeprops.py from file ../config/PropertyNames.xml, Mon Apr 30 16:36:44 2012 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Sep 6 15:42:54 2012 // IMPORTANT: Do not edit this file -- any edits made here will be lost! diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h index bc0c7f946f6..3de0b8faecd 100644 --- a/cpp/src/Ice/PropertyNames.h +++ b/cpp/src/Ice/PropertyNames.h @@ -8,7 +8,7 @@ // ********************************************************************** // -// Generated by makeprops.py from file ../config/PropertyNames.xml, Mon Apr 30 16:36:44 2012 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Sep 6 15:42:54 2012 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -47,9 +47,9 @@ struct PropertyArray const Property* properties; const int length; - PropertyArray(const Property* p, int len) : + PropertyArray(const Property* p, size_t len) : properties(p), - length(len) + length(static_cast<int>(len)) { } }; diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp index 1bcaed5b087..d6921c5a54d 100644 --- a/cpp/src/Ice/Selector.cpp +++ b/cpp/src/Ice/Selector.cpp @@ -553,7 +553,9 @@ Selector::~Selector() void Selector::destroy() { +#if !defined(ICE_USE_SELECT) && !defined(ICE_USE_POLL) assert(_events.empty()); +#endif } void diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h index 7c2e8546d9a..8d9bba4e977 100644 --- a/cpp/src/Ice/StreamI.h +++ b/cpp/src/Ice/StreamI.h @@ -88,6 +88,10 @@ public: virtual void read(std::pair<const Float*, const Float*>&, ::IceUtil::ScopedArray<Float>&); virtual void read(std::pair<const Double*, const Double*>&, ::IceUtil::ScopedArray<Double>&); +#ifdef __SUNPRO_CC + using InputStream::read; +#endif + virtual bool readOptional(Int, OptionalType); virtual void closure(void*); @@ -139,6 +143,10 @@ public: virtual void write(const Float*, const Float*); virtual void write(const Double*, const Double*); +#ifdef __SUNPRO_CC + using OutputStream::write; +#endif + virtual void writeOptional(Int, OptionalType); virtual void startObject(const SlicedDataPtr&); diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index b1aa39ddd96..b0f26d70b8f 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -177,11 +177,11 @@ repeat: socklen_t len = static_cast<socklen_t>(sizeof(_peerAddr)); if(_peerAddr.ss_family == AF_INET) { - len = sizeof(sockaddr_in); + len = static_cast<socklen_t>(sizeof(sockaddr_in)); } else if(_peerAddr.ss_family == AF_INET6) { - len = sizeof(sockaddr_in6); + len = static_cast<socklen_t>(sizeof(sockaddr_in6)); } else { diff --git a/cpp/src/IceGrid/AdminI.cpp b/cpp/src/IceGrid/AdminI.cpp index 7453a93902b..f65f0a26cce 100644 --- a/cpp/src/IceGrid/AdminI.cpp +++ b/cpp/src/IceGrid/AdminI.cpp @@ -810,12 +810,14 @@ AdminI::getNodeProcessorSocketCount(const string& name, const Current&) const catch(const Ice::ObjectNotExistException&) { throw NodeNotExistException(name); + return 0; } catch(const Ice::LocalException& ex) { ostringstream os; os << ex; throw NodeUnreachableException(name, os.str()); + return 0; } } diff --git a/cpp/src/IceGrid/AdminSessionI.cpp b/cpp/src/IceGrid/AdminSessionI.cpp index 501af30ab80..25aeaffe85a 100644 --- a/cpp/src/IceGrid/AdminSessionI.cpp +++ b/cpp/src/IceGrid/AdminSessionI.cpp @@ -238,6 +238,7 @@ AdminSessionI::openServerLog(const string& id, const string& path, int nLines, c catch(const SynchronizationException&) { throw DeploymentException("server is being updated"); + return 0; } } @@ -251,6 +252,7 @@ AdminSessionI::openServerStdOut(const string& id, int nLines, const Ice::Current catch(const SynchronizationException&) { throw DeploymentException("server is being updated"); + return 0; } } @@ -264,6 +266,7 @@ AdminSessionI::openServerStdErr(const string& id, int nLines, const Ice::Current catch(const SynchronizationException&) { throw DeploymentException("server is being updated"); + return 0; } } diff --git a/cpp/src/IceGrid/DescriptorBuilder.h b/cpp/src/IceGrid/DescriptorBuilder.h index 8472e4bf4fd..5a0358cb936 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.h +++ b/cpp/src/IceGrid/DescriptorBuilder.h @@ -15,6 +15,13 @@ #include <IceGrid/Descriptor.h> #include <set> +#ifdef __SUNPRO_CC +// +// We hide some init functions on purpose in classes below +// +# pragma error_messages(off,hidef) +#endif + namespace IceGrid { @@ -310,6 +317,10 @@ private: ServiceDescriptorPtr _descriptor; }; -}; +} + +#ifdef __SUNPRO_CC +# pragma error_messages(default,hidef) +#endif #endif diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp index 67467f280f9..8c339ae8166 100644 --- a/cpp/src/IceGrid/DescriptorHelper.cpp +++ b/cpp/src/IceGrid/DescriptorHelper.cpp @@ -18,6 +18,13 @@ using namespace IceUtil; using namespace IceUtilInternal; using namespace IceGrid; +#ifdef __SUNPRO_CC +// +// Disable warning about unassigned function objects +// +# pragma error_messages(off,unassigned) +#endif + namespace IceGrid { diff --git a/cpp/src/IceGrid/DescriptorHelper.h b/cpp/src/IceGrid/DescriptorHelper.h index dbc72e919c9..729731f3698 100644 --- a/cpp/src/IceGrid/DescriptorHelper.h +++ b/cpp/src/IceGrid/DescriptorHelper.h @@ -225,7 +225,7 @@ public: protected: -#if defined(__sun) +#ifdef __SUNPRO_CC using ServerHelper::instantiateImpl; #endif diff --git a/cpp/src/IceGrid/Scanner.cpp b/cpp/src/IceGrid/Scanner.cpp index 7a5103303c3..9716be00a08 100644 --- a/cpp/src/IceGrid/Scanner.cpp +++ b/cpp/src/IceGrid/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -507,6 +498,16 @@ using namespace IceGrid; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) namespace IceGrid @@ -522,7 +523,7 @@ std::string parseSingleQuotedString(); } #define YY_USER_INIT initScanner(); -#line 525 "lex.yy.c" +#line 526 "lex.yy.c" #define INITIAL 0 @@ -603,12 +604,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -616,7 +612,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -627,7 +623,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -709,10 +705,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 65 "Scanner.l" +#line 75 "Scanner.l" -#line 715 "lex.yy.c" +#line 711 "lex.yy.c" if ( !(yy_init) ) { @@ -797,7 +793,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 67 "Scanner.l" +#line 77 "Scanner.l" { // C++-style comment int c; @@ -810,7 +806,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 77 "Scanner.l" +#line 87 "Scanner.l" { // C-style comment while(true) @@ -839,7 +835,7 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 102 "Scanner.l" +#line 112 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -854,14 +850,14 @@ YY_RULE_SETUP case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 113 "Scanner.l" +#line 123 "Scanner.l" { return ';'; } YY_BREAK case 5: YY_RULE_SETUP -#line 117 "Scanner.l" +#line 127 "Scanner.l" { // "..."-type strings string s = parseDoubleQuotedString(); @@ -872,7 +868,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 125 "Scanner.l" +#line 135 "Scanner.l" { // '...'-type strings string s; @@ -900,7 +896,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 150 "Scanner.l" +#line 160 "Scanner.l" { // Simple strings string s; @@ -939,10 +935,10 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 186 "Scanner.l" +#line 196 "Scanner.l" ECHO; YY_BREAK -#line 945 "lex.yy.c" +#line 941 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1696,8 +1692,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -1936,7 +1932,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 186 "Scanner.l" +#line 196 "Scanner.l" diff --git a/cpp/src/IceGrid/Scanner.l b/cpp/src/IceGrid/Scanner.l index 200b4f7598d..924d074c9fc 100644 --- a/cpp/src/IceGrid/Scanner.l +++ b/cpp/src/IceGrid/Scanner.l @@ -38,6 +38,16 @@ using namespace IceGrid; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) namespace IceGrid diff --git a/cpp/src/IcePatch2Lib/Util.cpp b/cpp/src/IcePatch2Lib/Util.cpp index 7540d21864f..21ee03196ba 100755 --- a/cpp/src/IcePatch2Lib/Util.cpp +++ b/cpp/src/IcePatch2Lib/Util.cpp @@ -37,78 +37,6 @@ const char* IcePatch2::checksumFile = "IcePatch2.sum"; const char* IcePatch2::logFile = "IcePatch2.log"; -// -// Solaris 9 and before doesn't have scandir() or alphasort(). -// -#ifdef __sun - -extern "C" int -ice_scandir(const char* dir, struct dirent*** namelist, - int (*select)(const struct dirent*), - int (*compar)(const void*, const void*)) -{ - DIR* d; - struct dirent* entry; - register int i = 0; - size_t entrysize; - - if((d = opendir(dir)) == 0) - { - return -1; - } - - *namelist = 0; - while((entry = readdir(d)) != 0) - { - if(select == 0 || (select != 0 && (*select)(entry))) - { - *namelist = (struct dirent**)realloc((void*)(*namelist), (size_t)((i + 1) * sizeof(struct dirent*))); - if(*namelist == 0) - { - closedir(d); - return -1; - } - - entrysize = sizeof(struct dirent) - sizeof(entry->d_name) + strlen(entry->d_name) + 1; - (*namelist)[i] = (struct dirent*)malloc(entrysize); - if((*namelist)[i] == 0) - { - closedir(d); - return -1; - } - memcpy((*namelist)[i], entry, entrysize); - ++i; - } - } - - if(closedir(d)) - { - return -1; - } - - if(i == 0) - { - return -1; - } - - if(compar != 0) - { - qsort((void *)(*namelist), (size_t)i, sizeof(struct dirent *), compar); - } - - return i; -} - -extern "C" int -ice_alphasort(const void* v1, const void* v2) -{ - const struct dirent **a = (const struct dirent **)v1; - const struct dirent **b = (const struct dirent **)v2; - return(strcmp((*a)->d_name, (*b)->d_name)); -} - -#endif - using namespace std; using namespace Ice; using namespace IcePatch2; @@ -530,11 +458,8 @@ IcePatch2::readDirectory(const string& pa) #else struct dirent **namelist; -#ifdef __sun - int n = ice_scandir(path.c_str(), &namelist, 0, ice_alphasort); -#else int n = scandir(path.c_str(), &namelist, 0, alphasort); -#endif + if(n < 0) { throw "cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString(); diff --git a/cpp/src/IceSSL/Certificate.cpp b/cpp/src/IceSSL/Certificate.cpp index da9e7e2c4b9..7479263eb33 100644 --- a/cpp/src/IceSSL/Certificate.cpp +++ b/cpp/src/IceSSL/Certificate.cpp @@ -18,6 +18,22 @@ #include <openssl/x509v3.h> #include <openssl/pem.h> +#ifdef __SUNPRO_CC + +// +// The call to sk_GENERAL_NAME_pop_free fails to compile if we don't +// remove the extern "C" vs non extern "C" check with the macro below: +// + +extern "C" typedef void (*FreeFunc)(void*); + +#undef CHECKED_SK_FREE_FUNC +#define CHECKED_SK_FREE_FUNC(type, p) \ + (FreeFunc) (p) + +#endif + + using namespace std; using namespace Ice; using namespace IceSSL; diff --git a/cpp/src/IceStorm/Observers.h b/cpp/src/IceStorm/Observers.h index 23e326938f8..b5bc223c77c 100644 --- a/cpp/src/IceStorm/Observers.h +++ b/cpp/src/IceStorm/Observers.h @@ -15,6 +15,11 @@ #include <IceStorm/Election.h> #include <IceStorm/Replica.h> +#ifdef __SUNPRO_CC +# pragma error_messages(off,hidef) +#endif + + namespace IceStorm { class Instance; @@ -66,4 +71,8 @@ typedef IceUtil::Handle<Observers> ObserversPtr; } +#ifdef __SUNPRO_CC +# pragma error_messages(default,hidef) +#endif + #endif // OBSERVERS_H diff --git a/cpp/src/IceStorm/Scanner.cpp b/cpp/src/IceStorm/Scanner.cpp index 7c38d13adde..e6e81e808f6 100644 --- a/cpp/src/IceStorm/Scanner.cpp +++ b/cpp/src/IceStorm/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -507,6 +498,16 @@ using namespace IceStorm; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) namespace IceStorm @@ -520,7 +521,7 @@ void initScanner(); } #define YY_USER_INIT initScanner(); -#line 523 "lex.yy.c" +#line 524 "lex.yy.c" #define INITIAL 0 @@ -601,12 +602,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -614,7 +610,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -625,7 +621,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -707,10 +703,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 63 "Scanner.l" +#line 73 "Scanner.l" -#line 713 "lex.yy.c" +#line 709 "lex.yy.c" if ( !(yy_init) ) { @@ -795,7 +791,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 65 "Scanner.l" +#line 75 "Scanner.l" { // C++-style comment int c; @@ -808,7 +804,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 75 "Scanner.l" +#line 85 "Scanner.l" { // C-style comment while(true) @@ -837,7 +833,7 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 100 "Scanner.l" +#line 110 "Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -852,14 +848,14 @@ YY_RULE_SETUP case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 111 "Scanner.l" +#line 121 "Scanner.l" { return ';'; } YY_BREAK case 5: YY_RULE_SETUP -#line 115 "Scanner.l" +#line 125 "Scanner.l" { // "..."-type strings string s; @@ -936,7 +932,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 189 "Scanner.l" +#line 199 "Scanner.l" { // '...'-type strings string s; @@ -964,7 +960,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 214 "Scanner.l" +#line 224 "Scanner.l" { // Simple strings string s; @@ -994,10 +990,10 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 241 "Scanner.l" +#line 251 "Scanner.l" ECHO; YY_BREAK -#line 1000 "lex.yy.c" +#line 996 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1751,8 +1747,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -1991,7 +1987,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 241 "Scanner.l" +#line 251 "Scanner.l" diff --git a/cpp/src/IceStorm/Scanner.l b/cpp/src/IceStorm/Scanner.l index 4051c044020..30aeb5b44b4 100644 --- a/cpp/src/IceStorm/Scanner.l +++ b/cpp/src/IceStorm/Scanner.l @@ -38,6 +38,16 @@ using namespace IceStorm; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) namespace IceStorm diff --git a/cpp/src/IceXML/Parser.cpp b/cpp/src/IceXML/Parser.cpp index d561cf70459..bdb53910031 100644 --- a/cpp/src/IceXML/Parser.cpp +++ b/cpp/src/IceXML/Parser.cpp @@ -323,8 +323,8 @@ startElementHandler(void* data, const XML_Char* name, const XML_Char** attr) attributes[attr[i]] = attr[i + 1]; } - int line = XML_GetCurrentLineNumber(cb->parser); - int column = XML_GetCurrentColumnNumber(cb->parser); + int line = static_cast<int>(XML_GetCurrentLineNumber(cb->parser)); + int column = static_cast<int>(XML_GetCurrentColumnNumber(cb->parser)); cb->handler->startElement(name, attributes, line, column); } @@ -332,8 +332,8 @@ static void endElementHandler(void* data, const XML_Char* name) { CallbackData* cb = static_cast<CallbackData*>(data); - int line = XML_GetCurrentLineNumber(cb->parser); - int column = XML_GetCurrentColumnNumber(cb->parser); + int line = static_cast<int>(XML_GetCurrentLineNumber(cb->parser)); + int column = static_cast<int>(XML_GetCurrentColumnNumber(cb->parser)); cb->handler->endElement(name, line, column); } @@ -343,8 +343,8 @@ characterDataHandler(void* data, const XML_Char* s, int len) CallbackData* cb = static_cast<CallbackData*>(data); string str(s, len); - int line = XML_GetCurrentLineNumber(cb->parser); - int column = XML_GetCurrentColumnNumber(cb->parser); + int line = static_cast<int>(XML_GetCurrentLineNumber(cb->parser)); + int column = static_cast<int>(XML_GetCurrentColumnNumber(cb->parser)); cb->handler->characters(str, line, column); } @@ -406,8 +406,9 @@ IceXML::Parser::parse(istream& in, Handler& handler) } if(XML_Parse(parser, buff, static_cast<int>(in.gcount()), isFinal) != 1) { - handler.error(XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser), - XML_GetCurrentColumnNumber(parser)); + handler.error(XML_ErrorString(XML_GetErrorCode(parser)), + static_cast<int>(XML_GetCurrentLineNumber(parser)), + static_cast<int>(XML_GetCurrentColumnNumber(parser))); return; } } diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index e7ecd451617..1ac81d36880 100755 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -2407,23 +2407,11 @@ Slice::Container::validateConstant(const string& name, const TypePtr& type, cons if(constant) { -#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530) - // Strange Sun C++ 5.3 bug. - const IceUtil::HandleBase<SyntaxTreeBase>& hb = constant->type(); - lt = BuiltinPtr::dynamicCast(hb); -#else lt = BuiltinPtr::dynamicCast(constant->type()); -#endif } else { -#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530) - // Strange Sun C++ 5.3 bug. - const IceUtil::HandleBase<SyntaxTreeBase>& hb = valueType; - lt = BuiltinPtr::dynamicCast(hb); -#else lt = BuiltinPtr::dynamicCast(valueType); -#endif } if(lt) diff --git a/cpp/src/Slice/Scanner.cpp b/cpp/src/Slice/Scanner.cpp index 54541891c2e..87667e38132 100644 --- a/cpp/src/Slice/Scanner.cpp +++ b/cpp/src/Slice/Scanner.cpp @@ -74,6 +74,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -104,8 +105,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -162,15 +161,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -591,6 +582,16 @@ char *slice_text; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef slice_wrap +# undef slice_wrap +# define slice_wrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + using namespace std; using namespace Slice; @@ -612,7 +613,7 @@ int checkKeyword(string&); -#line 615 "lex.yy.c" +#line 616 "lex.yy.c" #define INITIAL 0 #define BOMSCAN 1 @@ -695,12 +696,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -708,7 +704,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( slice_text, slice_leng, 1, slice_out )) {} } while (0) +#define ECHO fwrite( slice_text, slice_leng, 1, slice_out ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -719,7 +715,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( slice_in )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -804,10 +800,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 75 "Scanner.l" +#line 85 "Scanner.l" -#line 810 "lex.yy.c" +#line 806 "lex.yy.c" if ( !(yy_init) ) { @@ -892,7 +888,7 @@ case 1: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up slice_text again */ YY_RULE_SETUP -#line 77 "Scanner.l" +#line 87 "Scanner.l" { if(unit->scanPosition(slice_text)) { @@ -906,7 +902,7 @@ case 2: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up slice_text again */ YY_RULE_SETUP -#line 84 "Scanner.l" +#line 94 "Scanner.l" { if(unit->scanPosition(slice_text)) { @@ -919,7 +915,7 @@ case 3: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up slice_text again */ YY_RULE_SETUP -#line 91 "Scanner.l" +#line 101 "Scanner.l" { if(unit->scanPosition(slice_text)) { @@ -933,7 +929,7 @@ case 4: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up slice_text again */ YY_RULE_SETUP -#line 98 "Scanner.l" +#line 108 "Scanner.l" { if(unit->scanPosition(slice_text)) { @@ -943,7 +939,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 105 "Scanner.l" +#line 115 "Scanner.l" { // C++-style comment BEGIN(MAINSCAN); @@ -961,7 +957,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 120 "Scanner.l" +#line 130 "Scanner.l" { // C-style comment BEGIN(MAINSCAN); @@ -1005,7 +1001,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 161 "Scanner.l" +#line 171 "Scanner.l" { BEGIN(MAINSCAN); return ICE_SCOPE_DELIMITER; @@ -1013,7 +1009,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 166 "Scanner.l" +#line 176 "Scanner.l" { BEGIN(MAINSCAN); return ICE_METADATA_OPEN; @@ -1021,7 +1017,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 171 "Scanner.l" +#line 181 "Scanner.l" { BEGIN(MAINSCAN); return ICE_METADATA_CLOSE; @@ -1029,7 +1025,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 176 "Scanner.l" +#line 186 "Scanner.l" { BEGIN(MAINSCAN); return ICE_GLOBAL_METADATA_OPEN; @@ -1037,7 +1033,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 181 "Scanner.l" +#line 191 "Scanner.l" { BEGIN(MAINSCAN); return ICE_GLOBAL_METADATA_CLOSE; @@ -1046,7 +1042,7 @@ YY_RULE_SETUP case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 186 "Scanner.l" +#line 196 "Scanner.l" { BEGIN(MAINSCAN); StringTokPtr ident = new StringTok; @@ -1074,7 +1070,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 211 "Scanner.l" +#line 221 "Scanner.l" { BEGIN(MAINSCAN); StringTokPtr ident = new StringTok; @@ -1085,7 +1081,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 219 "Scanner.l" +#line 229 "Scanner.l" { BEGIN(MAINSCAN); StringTokPtr str = new StringTok; @@ -1249,7 +1245,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 380 "Scanner.l" +#line 390 "Scanner.l" { BEGIN(MAINSCAN); IntegerTokPtr itp = new IntegerTok; @@ -1268,7 +1264,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 396 "Scanner.l" +#line 406 "Scanner.l" { BEGIN(MAINSCAN); errno = 0; @@ -1302,7 +1298,7 @@ YY_RULE_SETUP case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 426 "Scanner.l" +#line 436 "Scanner.l" { // Ignore white-space @@ -1318,7 +1314,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 439 "Scanner.l" +#line 449 "Scanner.l" { // Ignore UTF-8 BOM, rule only active when parsing start of file. @@ -1327,7 +1323,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 445 "Scanner.l" +#line 455 "Scanner.l" { BEGIN(MAINSCAN); if(slice_text[0] < 32 || slice_text[0] > 126) @@ -1346,10 +1342,10 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 461 "Scanner.l" +#line 471 "Scanner.l" ECHO; YY_BREAK -#line 1352 "lex.yy.c" +#line 1348 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(BOMSCAN): case YY_STATE_EOF(MAINSCAN): @@ -2109,8 +2105,8 @@ YY_BUFFER_STATE slice__scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to slice_lex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2349,7 +2345,7 @@ void slice_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 461 "Scanner.l" +#line 471 "Scanner.l" diff --git a/cpp/src/Slice/Scanner.l b/cpp/src/Slice/Scanner.l index 2363abeb847..1d981e3e567 100644 --- a/cpp/src/Slice/Scanner.l +++ b/cpp/src/Slice/Scanner.l @@ -37,6 +37,16 @@ # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef slice_wrap +# undef slice_wrap +# define slice_wrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + using namespace std; using namespace Slice; diff --git a/cpp/src/Slice/Util.cpp b/cpp/src/Slice/Util.cpp index c8d98fc400f..8e0fe4c8bdc 100644 --- a/cpp/src/Slice/Util.cpp +++ b/cpp/src/Slice/Util.cpp @@ -115,7 +115,7 @@ Slice::fullPath(const string& path) } char buf[PATH_MAX + 1]; - int len = readlink(subpath.c_str(), buf, sizeof(buf)); + int len = static_cast<int>(readlink(subpath.c_str(), buf, sizeof(buf))); if(len > 0) { buf[len] = '\0'; diff --git a/cpp/src/slice2freezej/Main.cpp b/cpp/src/slice2freezej/Main.cpp index a08642d2650..ff267b46e99 100755 --- a/cpp/src/slice2freezej/Main.cpp +++ b/cpp/src/slice2freezej/Main.cpp @@ -100,7 +100,13 @@ public: void generate(UnitPtr&, const Index&); +#ifdef __SUNPRO_CC +protected: + using JavaGenerator::typeToObjectString; +#endif + private: + string typeToObjectString(const TypePtr&); string varToObject(const TypePtr&, const string&); string objectToVar(const TypePtr&, const string&); diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 1a9b678b6aa..1b049475ffd 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -2442,22 +2442,7 @@ Slice::Gen::TieVisitor::visitClassDefStart(const ClassDefPtr& p) const bool hasAMD = cl->hasMetaData("amd") || (*r)->hasMetaData("amd"); const bool optionalMapping = useOptionalMapping(*r); -#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550) - // - // Work around for Sun CC 5.5 bug #4853566 - // - string opName; - if(hasAMD) - { - opName = (*r)->name() + "_async"; - } - else - { - opName = fixKwd((*r)->name()); - } -#else string opName = hasAMD ? (*r)->name() + "_async" : fixKwd((*r)->name()); -#endif TypePtr ret = (*r)->returnType(); string retS = typeToString(ret, TypeModeReturn, package, (*r)->getMetaData(), true, diff --git a/cpp/test/Freeze/complex/Scanner.cpp b/cpp/test/Freeze/complex/Scanner.cpp index 57f18d355a4..a3f371f18bc 100644 --- a/cpp/test/Freeze/complex/Scanner.cpp +++ b/cpp/test/Freeze/complex/Scanner.cpp @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -502,9 +493,19 @@ using namespace Ice; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) -#line 507 "lex.yy.c" +#line 508 "lex.yy.c" #define INITIAL 0 @@ -585,12 +586,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -598,7 +594,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -609,7 +605,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -691,10 +687,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 52 "Scanner.l" +#line 62 "Scanner.l" -#line 697 "lex.yy.c" +#line 693 "lex.yy.c" if ( !(yy_init) ) { @@ -775,7 +771,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 54 "Scanner.l" +#line 64 "Scanner.l" { *yylvalp = new Complex::NumberNodeI(atoi(yytext)); return TOK_NUMBER; @@ -783,20 +779,20 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 59 "Scanner.l" +#line 69 "Scanner.l" /* eat whitespace */ YY_BREAK case 3: YY_RULE_SETUP -#line 61 "Scanner.l" +#line 71 "Scanner.l" { return *yytext; } YY_BREAK case 4: YY_RULE_SETUP -#line 63 "Scanner.l" +#line 73 "Scanner.l" ECHO; YY_BREAK -#line 799 "lex.yy.c" +#line 795 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1551,8 +1547,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -1791,7 +1787,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 63 "Scanner.l" +#line 73 "Scanner.l" diff --git a/cpp/test/Freeze/complex/Scanner.l b/cpp/test/Freeze/complex/Scanner.l index 4b309f6a16f..4461779e8df 100644 --- a/cpp/test/Freeze/complex/Scanner.l +++ b/cpp/test/Freeze/complex/Scanner.l @@ -38,6 +38,16 @@ using namespace Ice; # define YY_NO_UNISTD_H #endif +#ifdef __SUNPRO_CC +# ifdef yywrap +# undef yywrap +# define yywrap() 1 +# endif +# ifdef ICE_64 +# pragma error_messages(off,truncwarn) +# endif +#endif + #define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize) %} diff --git a/cpp/test/Glacier2/ssl/Server.cpp b/cpp/test/Glacier2/ssl/Server.cpp index 8bf60e35a6c..254ad73cdde 100644 --- a/cpp/test/Glacier2/ssl/Server.cpp +++ b/cpp/test/Glacier2/ssl/Server.cpp @@ -99,7 +99,7 @@ public: } virtual void - ice_ping(const Ice::Current& current) + ice_ping(const Ice::Current& current) const { testContext(_ssl, current.ctx); } diff --git a/cpp/test/Ice/background/Makefile b/cpp/test/Ice/background/Makefile index 2e1c7f1361c..c4fc28cc07f 100644 --- a/cpp/test/Ice/background/Makefile +++ b/cpp/test/Ice/background/Makefile @@ -28,7 +28,8 @@ SOBJS = Configuration.o \ TestI.o \ Server.o -TRANSPORT_OBJS = Configuration.o \ +TRANSPORT_OBJS = Test.o \ + Configuration.o \ Connector.o \ Acceptor.o \ EndpointI.o \ diff --git a/cpp/test/Ice/exceptions/TestAMD.ice b/cpp/test/Ice/exceptions/TestAMD.ice index 9662adb807c..f80e031a302 100644 --- a/cpp/test/Ice/exceptions/TestAMD.ice +++ b/cpp/test/Ice/exceptions/TestAMD.ice @@ -12,6 +12,10 @@ module Test { +interface Empty +{ +}; + interface Thrower; exception Base {}; diff --git a/cpp/test/Ice/hash/run.py b/cpp/test/Ice/hash/run.py index efb892821a7..9f2191bfab5 100755 --- a/cpp/test/Ice/hash/run.py +++ b/cpp/test/Ice/hash/run.py @@ -20,4 +20,6 @@ if len(path) == 0: sys.path.append(os.path.join(path[0], "scripts")) import TestUtil -TestUtil.simpleTest() +client = os.path.join(os.getcwd(), "client") + +TestUtil.simpleTest(client) diff --git a/cpp/test/Ice/interceptor/Client.cpp b/cpp/test/Ice/interceptor/Client.cpp index ca859d07c36..9030bb174ba 100644 --- a/cpp/test/Ice/interceptor/Client.cpp +++ b/cpp/test/Ice/interceptor/Client.cpp @@ -38,7 +38,7 @@ private: }; #ifndef _WIN32 -void testAction(int) +extern "C" void testAction(int) { test(false); } diff --git a/distribution/src/thirdparty/README b/distribution/src/thirdparty/README index a0a3687f8d4..e066ce82605 100644 --- a/distribution/src/thirdparty/README +++ b/distribution/src/thirdparty/README @@ -35,9 +35,6 @@ Table of Contents - mcpp - expat 4. Instructions for Solaris - - Berkeley DB - - OpenSSL - - expat - mcpp @@ -162,58 +159,18 @@ For builds with support for both i386 and x86_64 architectures, use: If a third-party package is not listed below, there are no special requirements for configuring or building that package. - -Berkeley DB ------------ - -Berkeley DB must be configured with C++ support enabled. If you intend -to use Ice for Java with Berkeley DB, you must also enable Java -support: - - $ ../dist/configure --enable-cxx - (plus --prefix=<dir> and/or --enable-java if you like) - -For 64-bit builds, use: - - $ export CFLAGS="-m64" - $ export CXXFLAGS="-m64" - $ export LDFLAGS="-m64 - $ ../dist/configure --enable-cxx - (plus --prefix=<dir> and/or --enable-java if you like) - - -OpenSSL -------- - -OpenSSL is included with the Solaris 10 operating system and is -installed in /usr/sfw. If you want to use this version of OpenSSL -with Ice, we recommend that you also install the "Solaris 10 -Encryption Kit" available from: - - http://www.sun.com/download/index.jsp?cat=Security&tab=3&subcat=Cryptography%20%26%20Encryption - -This kit is required to run the IceSSL tests successfully. - - -expat ------ - -expat is included with the Solaris 10 operating system and is -installed in /usr/sfw. - - mcpp ---- Ice requires the library version of mcpp, so configure mcpp as shown below: - $ ./configure CFLAGS=-fPIC --enable-mcpplib --disable-shared + $ ./configure CFLAGS=-xcode=pic32 --enable-mcpplib --disable-shared (and --prefix=<dir> if you like) For 64-bit builds, use: - $ ./configure CFLAGS="-fPIC -m64" --enable-mcpplib --disable-shared + $ ./configure CFLAGS="-xcode=pic32 -m64" --enable-mcpplib --disable-shared (and --prefix=<dir> if you like) On 64-bit platforms, after installation it is necessary to rename the diff --git a/distribution/src/thirdparty/README.txt b/distribution/src/thirdparty/README.txt index 75ded20af2e..39df3d4962a 100644 --- a/distribution/src/thirdparty/README.txt +++ b/distribution/src/thirdparty/README.txt @@ -30,7 +30,6 @@ link below: For more information about the third-party dependencies, please refer
to the links below:
-STLport http://www.stlport.org
Berkeley DB http://www.oracle.com/database/berkeley-db/index.html
expat http://expat.sourceforge.net
OpenSSL http://www.openssl.org
@@ -46,7 +45,6 @@ Table of Contents - Berkeley DB
- mcpp
2. Packages
- - STLport
- Berkeley DB
- expat
- OpenSSL
@@ -126,15 +124,6 @@ directory and apply the patch as shown below: ======================================================================
-STLport
--------
-
-STLport is only required when using Visual C++ 6.0. For installation
-instructions, please refer to
-
- http://www.stlport.org/doc/install.html
-
-
Berkeley DB
-----------
|