summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-05-17 19:41:51 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-05-17 19:41:51 +0000
commitb4df32a69ad8d9f4f58b0a8068c79ef05588fb78 (patch)
tree8cba8cb7c0e3a7a26c6f7527d8a108ce33cc84e9
parentd67001ef6d184c97ddc798ebc49890673585446d (diff)
downloadATCD-b4df32a69ad8d9f4f58b0a8068c79ef05588fb78.tar.gz
ChangeLogTag: Wed May 17 19:35:09 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog42
-rw-r--r--TAO/TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp5
-rw-r--r--TAO/tests/Bug_2234_Regression/server.cpp2
-rw-r--r--TAO/tests/OBV/ValueBox/client.cpp4
4 files changed, 38 insertions, 15 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 5dc0c4ccdc9..4bacaca11a0 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,35 +1,55 @@
+Wed May 17 19:35:09 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
+
+ In the generated code for setting the member value,
+ removed the parentheses from the constructor call in
+ ACE_NEW, if the member type is a fixed-size IDL struct.
+ These parens were producing a warning on one of the
+ scoreboard's VC 7.1 builds, due to a behavior change
+ in the compiler. This behavior change is to initialize
+ PODs (for which an IDL fixed struct qualifies) to the
+ default value without requiring the parens denoting
+ a default constructor call.
+
+ * tests/Bug_2234_Regression/server.cpp:
+ * tests/OBV/ValueBox/client.cpp:
+
+ Made changes in hand-written client and server code in TAO/tests
+ similar to the changes in IDL compiler generated code above.
+
Wed May 17 19:09:36 UTC 2006 Yan Dai <dai_y@ociweb.com>
- Merged OCI's changes
+ Merged OCI's changes
"Fri May 12 21:59:41 UTC 2006 Yan Dai <dai_y@ociweb.com>"
* TAO/tao/Intrusive_Ref_Count_Handle_T.inl:
-
+
Fixed a potential memory leaks in operator==(T*) function.
The memory leak could happen when this assignment operator
is used to assign the same instance.
* TAO/tao/CSD_ThreadPool/CSD_TP_Task.cpp:
-
- Made the TP_Dispatchable_Visitor object reset() called after
+
+ Made the TP_Dispatchable_Visitor object reset() called after
the request is dispatched. This would avoid the delay deletion
of the request and its referenced objects.
-
+
* tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
-
+
Made the transport object in TAO_ServerRequest be reference
counted by the CSD. Increment the reference counter when the
TAO_ServerRequest is cloned, and decrement the reference counter
- when the server request is destroyed. This would avoid crash
+ when the server request is destroyed. This would avoid crash
when the transport object is destroyed but CSD has not finished
dispatching the request.
- Merged OCI's changes
+ Merged OCI's changes
"Thu Apr 20 13:29:44 2006 Ciju John <john_c@ociweb.com>"
- Made an SSLIOP endpoint value of 'iiop://:/ssl_port=xyz' listen
- on all available network interfaces instead of listening on a
- specific IP address. These changes make the 'iiop://:/ssl_port=xyz'
+ Made an SSLIOP endpoint value of 'iiop://:/ssl_port=xyz' listen
+ on all available network interfaces instead of listening on a
+ specific IP address. These changes make the 'iiop://:/ssl_port=xyz'
and 'iiop:///ssl_port=xyz' have same semantics.
* tao/IIOP_Acceptor.h :
diff --git a/TAO/TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp b/TAO/TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp
index 3f8fc95b0d1..c5806a4efb0 100644
--- a/TAO/TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp
@@ -686,6 +686,8 @@ be_visitor_valuebox_ci::emit_default_constructor_alloc (be_decl *node)
// Retrieve the node being visited by this be_visitor_valuebox_ci
be_decl * vb_node = this->ctx_->node ();
+ bool node_not_pod =
+ be_type::narrow_from_decl (node)->size_type () == AST_Type::VARIABLE;
// Public default constructor
*os << "ACE_INLINE " << be_nl
@@ -694,7 +696,8 @@ be_visitor_valuebox_ci::emit_default_constructor_alloc (be_decl *node)
<< node->full_name () << "* p = 0;" << be_nl
<< "ACE_NEW (" << be_idt_nl
<< "p," << be_nl
- << node->full_name () << " ());" << be_uidt_nl
+ << node->full_name ()
+ << (node_not_pod ? " ()" : "") << ");" << be_uidt_nl
<< "this->_pd_value = p;" << be_uidt_nl
<< "}" << be_nl << be_nl;
}
diff --git a/TAO/tests/Bug_2234_Regression/server.cpp b/TAO/tests/Bug_2234_Regression/server.cpp
index deb065f016f..c4bebf10c1b 100644
--- a/TAO/tests/Bug_2234_Regression/server.cpp
+++ b/TAO/tests/Bug_2234_Regression/server.cpp
@@ -136,7 +136,7 @@ public:
newret.val= static_cast<CORBA::Long>( 7 );
Test::MyNonVarStruct *newval_p;
- ACE_NEW_RETURN( newval_p, Test::MyNonVarStruct(), newret );
+ ACE_NEW_RETURN( newval_p, Test::MyNonVarStruct, newret );
Test::MyNonVarStruct_var
newval= newval_p;
diff --git a/TAO/tests/OBV/ValueBox/client.cpp b/TAO/tests/OBV/ValueBox/client.cpp
index 27e63f25ec2..12a3eb2bbd9 100644
--- a/TAO/tests/OBV/ValueBox/client.cpp
+++ b/TAO/tests/OBV/ValueBox/client.cpp
@@ -716,7 +716,7 @@ int test_boxed_struct (void)
Fixed_Struct1 *fixed_struct_a = 0;
ACE_NEW_RETURN (fixed_struct_a,
- Fixed_Struct1 (),
+ Fixed_Struct1,
1);
fixed_struct_a->l = 3233;
fixed_struct_a->abstruct.s1 = 73;
@@ -751,7 +751,7 @@ int test_boxed_struct (void)
Fixed_Struct1 *fixed_struct_b = 0;
ACE_NEW_RETURN (fixed_struct_b,
- Fixed_Struct1 (),
+ Fixed_Struct1,
1);
fixed_struct_b->l = 7372;
fixed_struct_b->abstruct.s1 = 11;