summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Hornsey <hornseyf@objectcomputing.com>2020-05-29 12:19:43 -0500
committerFred Hornsey <hornseyf@objectcomputing.com>2020-05-29 12:19:43 -0500
commit6778610a1441288247e5575346cce16f5daead60 (patch)
tree0c3fa413f1c31466cad6e0827ba4ec7aadc628cc
parentadced9754c8ffca51fdba3189775e7dc757fd02b (diff)
downloadATCD-6778610a1441288247e5575346cce16f5daead60.tar.gz
TAO IDL FE: Use Existing Anon Type Feature in IDL4
This just uses the existing IDL2 support to enable using them in IDL4, but it's not know how good that support is. At the very least a new test will have to be made in tests/IDLv4.
-rw-r--r--TAO/TAO_IDL/util/utl_err.cpp6
-rw-r--r--TAO/TAO_IDL/util/utl_global.cpp9
2 files changed, 10 insertions, 5 deletions
diff --git a/TAO/TAO_IDL/util/utl_err.cpp b/TAO/TAO_IDL/util/utl_err.cpp
index f29db6e97db..a4b03906149 100644
--- a/TAO/TAO_IDL/util/utl_err.cpp
+++ b/TAO/TAO_IDL/util/utl_err.cpp
@@ -185,9 +185,11 @@ error_string (UTL_Error::ErrorCode c)
case UTL_Error::EIDL_KEYWORD_WARNING:
return "Warning - spelling differs from IDL keyword only in case: ";
case UTL_Error::EIDL_ANONYMOUS_ERROR:
- return "Error: anonymous types are deprecated by OMG spec";
+ return "Error: anonymous types are deprecated by OMG spec in IDL3, "
+ "but are valid again in IDL4";
case UTL_Error::EIDL_ANONYMOUS_WARNING:
- return "Warning - anonymous types are deprecated by OMG spec";
+ return "Warning - anonymous types are deprecated by OMG spec in IDL3, "
+ "but are valid in IDL4";
case UTL_Error::EIDL_ENUM_VAL_EXPECTED:
return "enumerator expected: ";
case UTL_Error::EIDL_ENUM_VAL_NOT_FOUND:
diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp
index 11a2390ed39..1292fa18d53 100644
--- a/TAO/TAO_IDL/util/utl_global.cpp
+++ b/TAO/TAO_IDL/util/utl_global.cpp
@@ -1844,19 +1844,22 @@ IDL_GlobalData::anon_type_diagnostic (
bool
IDL_GlobalData::anon_error (void) const
{
- return (this->anon_type_diagnostic_ == ANON_TYPE_ERROR);
+ return anon_type_diagnostic_ == ANON_TYPE_ERROR &&
+ !(idl_version_ >= IDL_VERSION_4);
}
bool
IDL_GlobalData::anon_warning (void) const
{
- return (this->anon_type_diagnostic_ == ANON_TYPE_WARNING);
+ return anon_type_diagnostic_ == ANON_TYPE_WARNING &&
+ !(idl_version_ >= IDL_VERSION_4);
}
bool
IDL_GlobalData::anon_silent (void) const
{
- return (this->anon_type_diagnostic_ == ANON_TYPE_SILENT);
+ return anon_type_diagnostic_ == ANON_TYPE_SILENT ||
+ idl_version_ >= IDL_VERSION_4;
}
bool