[PATCH] un-inhibit modules when they are combined with a non-inhibited module
"Kalle A. Sandstrom" <[email protected]> Tue, 17 Nov 2009 15:35:20 +0200
| Newsgroups | gmane.comp.gnome.orbit.general |
|---|---|
| Message-ID | <[email protected]> |
Caused problems where applications defined common datatypes etc. in an #included "common" IDL file; the toplevel module would be first seen in an include file, inhibited, and would remain inhibited even after a module with non-inhibited contents was merged in. This changeset is, where not considered trivial, licensed under GNU LGPL v2-or-later. Signed-off-by: Kalle A. Sandstrom <[email protected]> --- parser.y | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/parser.y b/parser.y index 977ffa3..f484825 100644 --- a/parser.y +++ b/parser.y @@ -387,6 +387,16 @@ module: module_declspec module = IDL_NODE_UP ($2); IDL_MODULE (module).definition_list = IDL_list_concat (IDL_MODULE (module).definition_list, $5); + if(!IS_INHIBIT_STATE() + && (module->declspec & IDLF_DECLSPEC_INHIBIT)) + { + /* un-inhibit the module, as it now has + * non-inhibited content which shouldn't + * disappear in the optimization stage. + */ + module->declspec &= ~IDLF_DECLSPEC_INHIBIT; + } + module = NULL; } } else -- 1.6.5.2