summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-06-16 08:20:19 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-06-16 08:20:19 +0000
commit1c6f40db867b3368b9f513c342debd2dc717126b (patch)
treed89df7c06b4ed6a2668c55522befd2ed05bc6d74
parenta2649fc546fcd5b75b58775873cb199f8bede3c0 (diff)
downloadATCD-1c6f40db867b3368b9f513c342debd2dc717126b.tar.gz
.
-rw-r--r--TAO/ChangeLog-99c31
-rw-r--r--TAO/TAO_IDL/ast/ast_expression.cpp15
-rw-r--r--TAO/TAO_IDL/fe/idl.ll10
-rw-r--r--TAO/TAO_IDL/fe/lex.yy.cpp2
4 files changed, 33 insertions, 25 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index a54de678c9f..be834502688 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -1,12 +1,19 @@
+Wed Jun 16 03:13:22 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * TAO_IDL/ast/ast_expression.cpp (eval_un_op): Fixed an obscure
+ bug in TAO's IDL compiler whereby negative constants weren't
+ being evaluated correctly. Thanks to Hata Yoshiaki
+ <hatay@alpha.co.jp> for reporting this.
+
Wed Jun 16 01:12:55 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* docs/releasenotes/orbcore.html: Updated information wrt
collocation support.
* docs/poa_migration.html:
- * docs/compiler.html: Removed section about having to
- include both stubs and skeletons in the client side and how to
- generate "pure client" code.
+ * docs/compiler.html: Removed section about having to include both
+ stubs and skeletons in the client side and how to generate "pure
+ client" code.
* TAO-INSTALL.html: Updated intructions on creating MSVC
projects. Removed VC 4.2 section.
@@ -16,16 +23,15 @@ Tue Jun 15 22:16:57 1999 Matthew J Braun <mjb2@cs.wustl.edu>
* orbsvcs/tests/Concurrency/CC_command.cpp
* orbsvcs/tests/Concurrency/CC_test_utils.cpp
* orbsvcs/tests/Concurrency/CC_tests.cpp
- * orbsvcs/Logging_Service/Logging_Service_i.h,cpp
- Added ACE_const_cast statements. Those should have been checked
- in a while ago, but I screwed up. Also, I migrated the TAO_THROW
- macros to ACE_THROW macros in the Concurrency files.
+ * orbsvcs/Logging_Service/Logging_Service_i.h,cpp: Added
+ ACE_const_cast statements. Those should have been checked in a
+ while ago, but I screwed up. Also, I migrated the TAO_THROW
+ macros to ACE_THROW macros in the Concurrency files.
Tue Jun 15 20:19:43 1999 Jeff Parsons <parsons@cs.wustl.edu>
- * tao/Any.cpp:
- Removed a comment to me that I had left after fixing
- what the comment referred to.
+ * tao/Any.cpp: Removed a comment to me that I had left after
+ fixing what the comment referred to.
* TAO/performance-tests/Pluggable/PP_Test_Server.cpp:
* TAO/performace-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp:
@@ -41,9 +47,8 @@ Tue Jun 15 20:15:27 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* orbsvcs/tests/Trading/Service_Type_Exporter.h:
* orbsvcs/tests/Trading/Simple_Dynamic.cpp:
* orbsvcs/tests/Trading/Simple_Dynamic.h:
- * orbsvcs/tests/Trading/TT_Info.h:
- More TAO_THROW_SPEC converted to ACE_THROW_SPEC, easy job thanks
- to Seth forevision...
+ * orbsvcs/tests/Trading/TT_Info.h: More TAO_THROW_SPEC converted
+ to ACE_THROW_SPEC, easy job thanks to Seth foresight...
Tue Jun 15 18:49:56 1999 Irfan Pyarali <irfan@cs.wustl.edu>
diff --git a/TAO/TAO_IDL/ast/ast_expression.cpp b/TAO/TAO_IDL/ast/ast_expression.cpp
index e3614c509bd..3a57e842b2a 100644
--- a/TAO/TAO_IDL/ast/ast_expression.cpp
+++ b/TAO/TAO_IDL/ast/ast_expression.cpp
@@ -1433,25 +1433,28 @@ AST_Expression::eval_un_op(AST_Expression::EvalKind ek)
pd_v1->set_ev(pd_v1->eval_internal(ek));
if (pd_v1->ev() == NULL)
return NULL;
- pd_v1->set_ev(pd_v1->coerce(EV_double));
- if (pd_v1->ev() == NULL)
- return NULL;
retval = new AST_ExprValue;
retval->et = EV_double;
switch (pd_ec) {
case EC_u_plus:
- retval->u.lval = pd_v1->ev()->u.lval;
+ pd_v1->set_ev(pd_v1->coerce(EV_double));
+ if (pd_v1->ev() == NULL)
+ return NULL;
+ retval->u.dval = pd_v1->ev()->u.dval;
break;
case EC_u_minus:
- retval->u.lval = -(pd_v1->ev()->u.lval);
+ pd_v1->set_ev(pd_v1->coerce(EV_double));
+ if (pd_v1->ev() == NULL)
+ return NULL;
+ retval->u.dval = -(pd_v1->ev()->u.dval);
break;
case EC_bit_neg:
pd_v1->set_ev(pd_v1->coerce(EV_long));
if (pd_v1->ev() == NULL)
return NULL;
- retval->u.lval = ~pd_v1->ev()->u.lval;
+ retval->u.dval = ~pd_v1->ev()->u.lval;
break;
default:
return NULL;
diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll
index b3257e62ccc..f819b16c881 100644
--- a/TAO/TAO_IDL/fe/idl.ll
+++ b/TAO/TAO_IDL/fe/idl.ll
@@ -187,24 +187,24 @@ oneway return IDL_ONEWAY;
return IDENTIFIER;
}
--?[0-9]+"."[0-9]*([eE][+-]?[0-9]+)?[lLfF]? {
+"-"?[0-9]+"."[0-9]*([eE][+-]?[0-9]+)?[lLfF]? {
yylval.dval = idl_atof(ace_yytext);
return IDL_FLOATING_PT_LITERAL;
}
--?[0-9]+[eE][+-]?[0-9]+[lLfF]? {
+"-"?[0-9]+[eE][+-]?[0-9]+[lLfF]? {
yylval.dval = idl_atof(ace_yytext);
return IDL_FLOATING_PT_LITERAL;
}
--?[1-9][0-9]* {
+"-"?[1-9][0-9]* {
yylval.ival = idl_atoi(ace_yytext, 10);
return IDL_INTEGER_LITERAL;
}
--?0[xX][a-fA-F0-9]+ {
+"-"?0[xX][a-fA-F0-9]+ {
yylval.ival = idl_atoi(ace_yytext, 16);
return IDL_INTEGER_LITERAL;
}
--?0[0-7]* {
+"-"?0[0-7]* {
yylval.ival = idl_atoi(ace_yytext, 8);
return IDL_INTEGER_LITERAL;
}
diff --git a/TAO/TAO_IDL/fe/lex.yy.cpp b/TAO/TAO_IDL/fe/lex.yy.cpp
index 7bf8bd1ec61..2cac83600c9 100644
--- a/TAO/TAO_IDL/fe/lex.yy.cpp
+++ b/TAO/TAO_IDL/fe/lex.yy.cpp
@@ -654,7 +654,7 @@ char *tao_yytext_ptr;
#line 1 "fe/idl.ll"
#define INITIAL 0
#line 2 "fe/idl.ll"
-/* $Id: idl.ll,v 1.31 1999/06/07 01:28:01 coryan Exp $
+/* $Id: idl.ll,v 1.32 1999/06/12 04:56:38 schmidt Exp $
COPYRIGHT