summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_field.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_field.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_field.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_field.cpp b/TAO/TAO_IDL/be/be_field.cpp
index 8e638ba6acc..567c8799ab2 100644
--- a/TAO/TAO_IDL/be/be_field.cpp
+++ b/TAO/TAO_IDL/be/be_field.cpp
@@ -22,6 +22,7 @@
#include "be_field.h"
#include "be_visitor.h"
#include "be_type.h"
+#include "global_extern.h"
#include "ace/Log_Msg.h"
ACE_RCSID (be,
@@ -49,6 +50,14 @@ be_field::be_field (AST_Type *ft,
be_decl (AST_Decl::NT_field,
n)
{
+ // This covers valuetype fields as well, which is what we want.
+ AST_Decl::NodeType nt =
+ ft->unaliased_type ()->node_type ();
+
+ if (nt == AST_Decl::NT_string || nt == AST_Decl::NT_wstring)
+ {
+ idl_global->string_member_seen_ = true;
+ }
}
int