summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/include
diff options
context:
space:
mode:
authorFred Hornsey <hornseyf@objectcomputing.com>2018-11-30 16:27:50 -0600
committerFred Hornsey <hornseyf@objectcomputing.com>2018-11-30 16:27:50 -0600
commit3ed4ba195d80e96a502d5b157610549696d29f23 (patch)
tree32f74df45e31c64674f7bebfb716ab524ec10a13 /TAO/TAO_IDL/include
parent3c91f4dcc4281659f23b7597e5abff6b97b58f03 (diff)
downloadATCD-3ed4ba195d80e96a502d5b157610549696d29f23.tar.gz
tao_idl: Update Grammer File
- Fixed Seg Fault when compiling TAO caused by not setting action result in string template actions in Grammer File. - Support for referencing Enums and Constants from the annotation in the annotation parameters. - Unknown annotations, by default, will now just be a warning, and only once per unique local annotation name. Added Options to warn about all, error, and ignore them.
Diffstat (limited to 'TAO/TAO_IDL/include')
-rw-r--r--TAO/TAO_IDL/include/idl_global.h24
-rw-r--r--TAO/TAO_IDL/include/utl_err.h3
2 files changed, 26 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h
index d6525e8b5ea..89842d5a77e 100644
--- a/TAO/TAO_IDL/include/idl_global.h
+++ b/TAO/TAO_IDL/include/idl_global.h
@@ -300,6 +300,13 @@ public:
, PS_AnnotationDeclSeen
};
+ enum Unknown_Annotations {
+ UNKNOWN_ANNOTATIONS_WARN_ONCE,
+ UNKNOWN_ANNOTATIONS_WARN_ALL,
+ UNKNOWN_ANNOTATIONS_ERROR,
+ UNKNOWN_ANNOTATIONS_IGNORE
+ };
+
// flags for types of declarations seen while parsing.
bool abstract_iface_seen_;
bool abstractbase_seen_;
@@ -407,7 +414,7 @@ public:
bool in_eval_;
/**
- * Dump contructs defined using eval() if true.
+ * Dump constructs defined using eval() if true.
*/
bool dump_builtins_;
@@ -422,6 +429,21 @@ public:
*/
bool ignore_files_;
+ /**
+ * If true, silently ignore lookup errors.
+ */
+ bool ignore_lookup_errors_;
+
+ /**
+ * Reaction to unknown annotations
+ */
+ Unknown_Annotations unknown_annotations_;
+
+ /**
+ * Set of the local names of unkown annotations already seen
+ */
+ ACE_Unbounded_Set<Identifier> unknown_annotations_seen_;
+
IDL_GlobalData (void);
~IDL_GlobalData (void);
diff --git a/TAO/TAO_IDL/include/utl_err.h b/TAO/TAO_IDL/include/utl_err.h
index 40e9e711583..ecd81b7a330 100644
--- a/TAO/TAO_IDL/include/utl_err.h
+++ b/TAO/TAO_IDL/include/utl_err.h
@@ -218,6 +218,9 @@ public:
// Report a failed name lookup attempt.
void lookup_error (UTL_ScopedName *n);
+ /// Report a failed name lookup attempt as a warning.
+ void lookup_warning (UTL_ScopedName *n);
+
// Report an illegal #pragma version.
void version_number_error (char *n);