diff options
Diffstat (limited to 'TAO/TAO_IDL/ast/ast_expression.cpp')
-rw-r--r-- | TAO/TAO_IDL/ast/ast_expression.cpp | 161 |
1 files changed, 14 insertions, 147 deletions
diff --git a/TAO/TAO_IDL/ast/ast_expression.cpp b/TAO/TAO_IDL/ast/ast_expression.cpp index a9e0239f8b1..3551f838fd1 100644 --- a/TAO/TAO_IDL/ast/ast_expression.cpp +++ b/TAO/TAO_IDL/ast/ast_expression.cpp @@ -363,25 +363,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_short; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) - if (ev->u.llval > (ACE_CDR::LongLong) SHRT_MAX || ev->u.llval < (ACE_CDR::LongLong) - (SHRT_MAX)) + if (ev->u.llval > (ACE_CDR::LongLong) SHRT_MAX || ev->u.llval < (ACE_CDR::LongLong) -(SHRT_MAX)) return NULL; ev->u.sval = (short) ev->u.llval; ev->et = AST_Expression::EV_short; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) SHRT_MAX) return NULL; ev->u.sval = (short) ev->u.ullval; ev->et = AST_Expression::EV_short; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.sval = (short) ev->u.bval; ev->et = AST_Expression::EV_short; @@ -443,25 +435,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_ushort; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval > (ACE_CDR::LongLong) USHRT_MAX || ev->u.llval < 0) return NULL; ev->u.usval = (unsigned short) ev->u.llval; ev->et = AST_Expression::EV_ushort; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) USHRT_MAX) return NULL; ev->u.usval = (unsigned short) ev->u.ullval; ev->et = AST_Expression::EV_ushort; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.usval = (unsigned short) ev->u.bval; ev->et = AST_Expression::EV_ushort; @@ -521,25 +505,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_long; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval > (ACE_CDR::LongLong) LONG_MAX || ev->u.llval < (ACE_CDR::LongLong) -(LONG_MAX)) return NULL; ev->u.lval = (long) ev->u.llval; ev->et = AST_Expression::EV_long; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) LONG_MAX) return NULL; ev->u.lval = (long) ev->u.ullval; ev->et = AST_Expression::EV_long; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.lval = (long) ev->u.bval; ev->et = AST_Expression::EV_long; @@ -599,25 +575,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) case AST_Expression::EV_ulong: return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval > (ACE_CDR::LongLong) ULONG_MAX || ev->u.llval < 0) return NULL; ev->u.ulval = (unsigned long) ev->u.llval; ev->et = AST_Expression::EV_ulong; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) ULONG_MAX) return NULL; ev->u.ulval = (unsigned long) ev->u.ullval; ev->et = AST_Expression::EV_ulong; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.ulval = (unsigned long) ev->u.bval; ev->et = AST_Expression::EV_ulong; @@ -657,7 +625,6 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) return NULL; } case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) switch (ev->et) { case AST_Expression::EV_short: ev->u.llval = (ACE_CDR::LongLong) ev->u.sval; @@ -677,6 +644,7 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) return ev; case AST_Expression::EV_longlong: return ev; + return ev; case AST_Expression::EV_ulonglong: if (ev->u.ullval > ACE_INT64_MAX) return NULL; @@ -721,11 +689,7 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) case AST_Expression::EV_none: return NULL; } -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) switch (ev->et) { case AST_Expression::EV_short: if (ev->u.sval < 0) @@ -793,9 +757,6 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) case AST_Expression::EV_none: return NULL; } -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: switch (ev->et) { case AST_Expression::EV_short: @@ -815,21 +776,13 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_bool; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) ev->u.bval = (ev->u.llval == 0) ? I_FALSE : I_TRUE; ev->et = AST_Expression::EV_bool; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ - case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) + case AST_Expression::EV_ulonglong: ev->u.bval = (ev->u.ullval == 0) ? I_FALSE : I_TRUE; ev->et = AST_Expression::EV_bool; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: return ev; case AST_Expression::EV_float: @@ -879,17 +832,12 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_float; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval > FLT_MAX || ev->u.llval < -(FLT_MAX)) return NULL; ev->u.fval = (float) ev->u.llval; ev->et = AST_Expression::EV_float; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) // Some compilers don't implement unsigned 64-bit to float conversions, // so we are stuck with the signed 64-bit max value. if (ev->u.ullval > ACE_UINT64_MAX @@ -898,9 +846,6 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->u.fval = (float) ((ACE_CDR::LongLong) ev->u.ullval); ev->et = AST_Expression::EV_float; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.fval = (float) ((ev->u.bval == I_TRUE) ? 1.0 : 0.0); ev->et = AST_Expression::EV_float; @@ -952,15 +897,10 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_double; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) ev->u.dval = (double) ev->u.llval; ev->et = AST_Expression::EV_double; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) // Some compilers don't implement unsigned 64-bit to double // conversions, so we are stuck with the signed 64-bit max value. if (ev->u.ullval > ACE_INT64_MAX) @@ -968,9 +908,6 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->u.dval = (double) ((ACE_CDR::LongLong) ev->u.ullval); ev->et = AST_Expression::EV_double; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.dval = (ev->u.bval == I_TRUE) ? 1.0 : 0.0; ev->et = AST_Expression::EV_double; @@ -1028,25 +965,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_char; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval > (ACE_CDR::LongLong) MAXCHAR || ev->u.llval < (ACE_CDR::LongLong) -(MAXCHAR)) return NULL; ev->u.cval = (char) ev->u.llval; ev->et = AST_Expression::EV_char; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) MAXCHAR) return NULL; ev->u.cval = (char) ev->u.ullval; ev->et = AST_Expression::EV_char; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.cval = (char) ev->u.bval; ev->et = AST_Expression::EV_char; @@ -1108,25 +1037,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_wchar; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval > (ACE_CDR::LongLong) ULONG_MAX || ev->u.llval < 0) return NULL; ev->u.wcval = (ACE_CDR::WChar) ev->u.llval; ev->et = AST_Expression::EV_wchar; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) ULONG_MAX) return NULL; ev->u.wcval = (ACE_CDR::WChar) ev->u.ullval; ev->et = AST_Expression::EV_wchar; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.wcval = (ACE_CDR::WChar) ev->u.bval; ev->et = AST_Expression::EV_wchar; @@ -1190,25 +1111,17 @@ coerce_value(AST_Expression::AST_ExprValue *ev, AST_Expression::ExprType t) ev->et = AST_Expression::EV_octet; return ev; case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.llval < 0 || ev->u.llval > (ACE_CDR::LongLong) (MAXCHAR << 1)) return NULL; ev->u.oval = (unsigned char) ev->u.llval; ev->et = AST_Expression::EV_octet; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) if (ev->u.ullval > (ACE_CDR::ULongLong) (MAXCHAR << 1)) return NULL; ev->u.oval = (unsigned char) ev->u.ullval; ev->et = AST_Expression::EV_octet; return ev; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case AST_Expression::EV_bool: ev->u.oval = (ev->u.bval == I_FALSE) ? 1 : 0; ev->et = AST_Expression::EV_octet; @@ -1542,7 +1455,9 @@ AST_Expression::coerce(AST_Expression::ExprType t) copy->et = pd_ev->et; switch (pd_ev->et) { + case EV_longlong: case EV_longdouble: + case EV_wchar: case EV_wstring: case EV_void: case EV_none: @@ -1560,20 +1475,9 @@ AST_Expression::coerce(AST_Expression::ExprType t) case EV_ulong: copy->u.ulval = pd_ev->u.ulval; break; - case EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) - copy->u.llval = pd_ev->u.llval; - break; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) copy->u.ullval = pd_ev->u.ullval; break; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return NULL; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case EV_bool: copy->u.bval = pd_ev->u.bval; break; @@ -1586,9 +1490,6 @@ AST_Expression::coerce(AST_Expression::ExprType t) case EV_char: copy->u.cval = pd_ev->u.cval; break; - case EV_wchar: - copy->u.wcval = pd_ev->u.wcval; - break; case EV_octet: copy->u.oval = pd_ev->u.oval; break; @@ -1705,37 +1606,24 @@ AST_Expression::operator==(AST_Expression *vc) return (pd_ev->u.dval == vc->ev()->u.dval) ? I_TRUE : I_FALSE; case EV_char: return (pd_ev->u.cval == vc->ev()->u.cval) ? I_TRUE : I_FALSE; - case EV_wchar: - return (pd_ev->u.wcval == vc->ev()->u.wcval) ? I_TRUE : I_FALSE; case EV_octet: return (pd_ev->u.oval == vc->ev()->u.oval) ? I_TRUE : I_FALSE; case EV_bool: return (pd_ev->u.lval == vc->ev()->u.lval) ? I_TRUE : I_FALSE; case EV_string: - if (pd_ev->u.strval == NULL) - { - if (vc->ev()->u.strval == NULL) - return I_TRUE; - else - return I_FALSE; - } - else if (vc->ev()->u.strval == NULL) + if (pd_ev->u.strval == NULL) { + if (vc->ev()->u.strval == NULL) + return I_TRUE; + else + return I_FALSE; + } else if (vc->ev()->u.strval == NULL) return I_FALSE; else return (pd_ev->u.strval == vc->ev()->u.strval) ? I_TRUE : I_FALSE; case EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) - return (pd_ev->u.llval == vc->ev()->u.llval) ? I_TRUE : I_FALSE; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return I_FALSE; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) - return (pd_ev->u.ullval == vc->ev()->u.ullval) ? I_TRUE : I_FALSE; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return I_FALSE; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case EV_longdouble: + case EV_wchar: case EV_wstring: case EV_any: case EV_void: @@ -1771,8 +1659,6 @@ AST_Expression::compare(AST_Expression *vc) return (pd_ev->u.dval == vc->ev()->u.dval) ? I_TRUE : I_FALSE; case EV_char: return (pd_ev->u.cval == vc->ev()->u.cval) ? I_TRUE : I_FALSE; - case EV_wchar: - return (pd_ev->u.wcval == vc->ev()->u.wcval) ? I_TRUE : I_FALSE; case EV_octet: return (pd_ev->u.oval == vc->ev()->u.oval) ? I_TRUE : I_FALSE; case EV_bool: @@ -1788,18 +1674,9 @@ AST_Expression::compare(AST_Expression *vc) else return (pd_ev->u.strval == vc->ev()->u.strval) ? I_TRUE : I_FALSE; case EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) - return (pd_ev->u.llval == vc->ev()->u.llval) ? I_TRUE : I_FALSE; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return I_FALSE; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) - return (pd_ev->u.ullval == vc->ev()->u.ullval) ? I_TRUE : I_FALSE; -#else /* ! defined (ACE_LACKS_LONGLONG_T) */ - return I_FALSE; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ case EV_longdouble: + case EV_wchar: case EV_wstring: case EV_any: case EV_void: @@ -1866,9 +1743,6 @@ dump_expr_val(ostream &o, AST_Expression::AST_ExprValue *ev) case AST_Expression::EV_char: o << ev->u.cval; break; - case AST_Expression::EV_wchar: - o << ev->u.wcval; - break; case AST_Expression::EV_octet: o << ev->u.oval; break; @@ -1879,16 +1753,9 @@ dump_expr_val(ostream &o, AST_Expression::AST_ExprValue *ev) if (ev->u.strval != NULL) ev->u.strval->dump(o); case AST_Expression::EV_longlong: -#if ! defined (ACE_LACKS_LONGLONG_T) -// o << ev->u.llval; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ - break; case AST_Expression::EV_ulonglong: -#if ! defined (ACE_LACKS_LONGLONG_T) -// o << ev->u.ullval; -#endif /* ! defined (ACE_LACKS_LONGLONG_T) */ - break; case AST_Expression::EV_longdouble: + case AST_Expression::EV_wchar: case AST_Expression::EV_wstring: case AST_Expression::EV_any: case AST_Expression::EV_none: |