diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-11-04 00:42:37 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-11-04 00:42:37 +0000 |
commit | 3a3a92379caceb0299b203f56df2981771ec3d8d (patch) | |
tree | 9bfe9b0a425cd96924cc8bca5c3736ba3685d408 | |
parent | b74c3ce9b719f1b325370d067ad44fa2404a23c3 (diff) | |
download | ATCD-3a3a92379caceb0299b203f56df2981771ec3d8d.tar.gz |
ChangeLogTag: Mon Nov 3 18:40:31 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 12 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 8 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/idl.ll | 222 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/lex.yy.cpp | 201 |
4 files changed, 282 insertions, 161 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 948e4f47d1c..105e07d0ad9 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,15 @@ +Mon Nov 3 18:40:31 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_codegen.cpp: + + Added generation of include of ace/OS_NS_String.h if any + kind of interface is seen in the IDL file. + + * TAO_IDL/fe/idl.ll: + * TAO_IDL/fe/lex.yy.cpp: + + Cosmetic changes to source code. + Mon Nov 3 04:43:43 UTC 2003 Don Hinton <dhinton@dresystems.com> * Makefile: diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 904e937e591..1116ceb5440 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -1476,6 +1476,14 @@ TAO_CodeGen::gen_stub_src_includes (void) // Includes whatever arg helper template classes that may be needed. this->gen_arg_file_includes (this->client_stubs_); + if (ACE_BIT_ENABLED (idl_global->decls_seen_info_, + idl_global->decls_seen_masks.interface_seen_)) + { + // Needed for _narrow(), which is now template-based. + this->gen_standard_include (this->client_stubs_, + "ace/OS_NS_String.h"); + } + if (be_global->gen_amh_classes () == I_TRUE) { *this->client_stubs_ << be_nl; diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll index ff3b398be11..7e6c7b79e3c 100644 --- a/TAO/TAO_IDL/fe/idl.ll +++ b/TAO/TAO_IDL/fe/idl.ll @@ -667,25 +667,39 @@ idl_store_pragma (char *buf) static long idl_atoi(char *s, long b) { - long r = 0; - s++; - - if (b == 8 && *s == '0') - s++; - else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) - s += 2; - - for (; *s; s++) - if (*s <= '9' && *s >= '0') - r = (r * b) + (*s - '0'); - else if (b > 10 && *s <= 'f' && *s >= 'a') - r = (r * b) + (*s - 'a' + 10); - else if (b > 10 && *s <= 'F' && *s >= 'A') - r = (r * b) + (*s - 'A' + 10); - else - break; - - return -r; + long r = 0; + s++; + + if (b == 8 && *s == '0') + { + s++; + } + else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) + { + s += 2; + } + + for (; *s; ++s) + { + if (*s <= '9' && *s >= '0') + { + r = (r * b) + (*s - '0'); + } + else if (b > 10 && *s <= 'f' && *s >= 'a') + { + r = (r * b) + (*s - 'a' + 10); + } + else if (b > 10 && *s <= 'F' && *s >= 'A') + { + r = (r * b) + (*s - 'A' + 10); + } + else + { + break; + } + } + + return -r; } /* @@ -694,82 +708,118 @@ idl_atoi(char *s, long b) static ACE_UINT64 idl_atoui(char *s, long b) { - ACE_UINT64 r = 0; - - if (b == 8 && *s == '0') - s++; - else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) - s += 2; - - for (; *s; s++) - if (*s <= '9' && *s >= '0') - r = (r * b) + (*s - '0'); - else if (b > 10 && *s <= 'f' && *s >= 'a') - r = (r * b) + (*s - 'a' + 10); - else if (b > 10 && *s <= 'F' && *s >= 'A') - r = (r * b) + (*s - 'A' + 10); - else - break; - - return r; + ACE_UINT64 r = 0; + + if (b == 8 && *s == '0') + { + s++; + } + else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) + { + s += 2; + } + + for (; *s; ++s) + { + if (*s <= '9' && *s >= '0') + { + r = (r * b) + (*s - '0'); + } + else if (b > 10 && *s <= 'f' && *s >= 'a') + { + r = (r * b) + (*s - 'a' + 10); + } + else if (b > 10 && *s <= 'F' && *s >= 'A') + { + r = (r * b) + (*s - 'A' + 10); + } + else + { + break; + } + } + + return r; } /* * Convert a string to a float; atof doesn't seem to work, always. */ static double -idl_atof(char *s) +idl_atof (char *s) { - char *h = s; - double d = 0.0; - double f = 0.0; - double e, k; - long neg = 0, negexp = 0; - - ACE_UNUSED_ARG (f); - ACE_UNUSED_ARG (h); - - if (*s == '-') { - neg = 1; - s++; - } - while (*s >= '0' && *s <= '9') { - d = (d * 10) + *s - '0'; - s++; - } - if (*s == '.') { - s++; - e = 10; - while (*s >= '0' && *s <= '9') { - d += (*s - '0') / (e * 1.0); - e *= 10; - s++; - } - } - if (*s == 'e' || *s == 'E') { - s++; - if (*s == '-') { - negexp = 1; - s++; - } else if (*s == '+') - s++; - e = 0; - while (*s >= '0' && *s <= '9') { - e = (e * 10) + *s - '0'; - s++; - } - if (e > 0) { - for (k = 1; e > 0; k *= 10, e--); - if (negexp) - d /= k; - else - d *= k; - } - } + double d = 0.0; + double e, k; + long neg = 0, negexp = 0; + + if (*s == '-') + { + neg = 1; + s++; + } + + while (*s >= '0' && *s <= '9') + { + d = (d * 10) + *s - '0'; + s++; + } + + if (*s == '.') + { + s++; + e = 10; + + while (*s >= '0' && *s <= '9') + { + d += (*s - '0') / (e * 1.0); + e *= 10; + s++; + } + } + + if (*s == 'e' || *s == 'E') + { + s++; + + if (*s == '-') + { + negexp = 1; + s++; + } + else if (*s == '+') + { + s++; + } + + e = 0; + + while (*s >= '0' && *s <= '9') + { + e = (e * 10) + *s - '0'; + s++; + } - if (neg) d *= -1.0; + if (e > 0) + { + for (k = 1; e > 0; k *= 10, e--); - return d; + if (negexp) + { + d /= k; + } + else + { + d *= k; + } + } + } + + if (neg) + { + d *= -1.0; + } + + return d; } /* diff --git a/TAO/TAO_IDL/fe/lex.yy.cpp b/TAO/TAO_IDL/fe/lex.yy.cpp index 5cbba1041ea..19dc4c5f20f 100644 --- a/TAO/TAO_IDL/fe/lex.yy.cpp +++ b/TAO/TAO_IDL/fe/lex.yy.cpp @@ -2860,25 +2860,39 @@ idl_store_pragma (char *buf) static long idl_atoi(char *s, long b) { - long r = 0; - s++; + long r = 0; + s++; - if (b == 8 && *s == '0') - s++; - else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) - s += 2; - - for (; *s; s++) - if (*s <= '9' && *s >= '0') - r = (r * b) + (*s - '0'); - else if (b > 10 && *s <= 'f' && *s >= 'a') - r = (r * b) + (*s - 'a' + 10); - else if (b > 10 && *s <= 'F' && *s >= 'A') - r = (r * b) + (*s - 'A' + 10); - else - break; + if (b == 8 && *s == '0') + { + s++; + } + else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) + { + s += 2; + } + + for (; *s; ++s) + { + if (*s <= '9' && *s >= '0') + { + r = (r * b) + (*s - '0'); + } + else if (b > 10 && *s <= 'f' && *s >= 'a') + { + r = (r * b) + (*s - 'a' + 10); + } + else if (b > 10 && *s <= 'F' && *s >= 'A') + { + r = (r * b) + (*s - 'A' + 10); + } + else + { + break; + } + } - return -r; + return -r; } /* @@ -2887,82 +2901,118 @@ idl_atoi(char *s, long b) static ACE_UINT64 idl_atoui(char *s, long b) { - ACE_UINT64 r = 0; + ACE_UINT64 r = 0; - if (b == 8 && *s == '0') - s++; - else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) - s += 2; - - for (; *s; s++) - if (*s <= '9' && *s >= '0') - r = (r * b) + (*s - '0'); - else if (b > 10 && *s <= 'f' && *s >= 'a') - r = (r * b) + (*s - 'a' + 10); - else if (b > 10 && *s <= 'F' && *s >= 'A') - r = (r * b) + (*s - 'A' + 10); - else - break; + if (b == 8 && *s == '0') + { + s++; + } + else if (b == 16 && *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) + { + s += 2; + } + + for (; *s; ++s) + { + if (*s <= '9' && *s >= '0') + { + r = (r * b) + (*s - '0'); + } + else if (b > 10 && *s <= 'f' && *s >= 'a') + { + r = (r * b) + (*s - 'a' + 10); + } + else if (b > 10 && *s <= 'F' && *s >= 'A') + { + r = (r * b) + (*s - 'A' + 10); + } + else + { + break; + } + } - return r; + return r; } /* * Convert a string to a float; atof doesn't seem to work, always. */ static double -idl_atof(char *s) +idl_atof (char *s) { - char *h = s; - double d = 0.0; - double f = 0.0; - double e, k; - long neg = 0, negexp = 0; + double d = 0.0; + double e, k; + long neg = 0, negexp = 0; - ACE_UNUSED_ARG (f); - ACE_UNUSED_ARG (h); + if (*s == '-') + { + neg = 1; + s++; + } + + while (*s >= '0' && *s <= '9') + { + d = (d * 10) + *s - '0'; + s++; + } - if (*s == '-') { - neg = 1; + if (*s == '.') + { + s++; + e = 10; + + while (*s >= '0' && *s <= '9') + { + d += (*s - '0') / (e * 1.0); + e *= 10; s++; } - while (*s >= '0' && *s <= '9') { - d = (d * 10) + *s - '0'; - s++; + } + + if (*s == 'e' || *s == 'E') + { + s++; + + if (*s == '-') + { + negexp = 1; + s++; + } + else if (*s == '+') + { + s++; } - if (*s == '.') { - s++; - e = 10; - while (*s >= '0' && *s <= '9') { - d += (*s - '0') / (e * 1.0); - e *= 10; - s++; - } + + e = 0; + + while (*s >= '0' && *s <= '9') + { + e = (e * 10) + *s - '0'; + s++; } - if (*s == 'e' || *s == 'E') { - s++; - if (*s == '-') { - negexp = 1; - s++; - } else if (*s == '+') - s++; - e = 0; - while (*s >= '0' && *s <= '9') { - e = (e * 10) + *s - '0'; - s++; - } - if (e > 0) { - for (k = 1; e > 0; k *= 10, e--); - if (negexp) - d /= k; - else - d *= k; - } + + if (e > 0) + { + for (k = 1; e > 0; k *= 10, e--); + + if (negexp) + { + d /= k; + } + else + { + d *= k; + } } + } - if (neg) d *= -1.0; + if (neg) + { + d *= -1.0; + } - return d; + return d; } /* @@ -3060,6 +3110,7 @@ idl_wchar_escape_reader (char *str) { continue; } + char save = str[i]; str[i] = '\0'; ACE_CDR::WChar out = (ACE_CDR::WChar) idl_atoui (&str[2], 16); |