From 9e98fd12525b7493ab5cfdd54d62c63c0c0c29e6 Mon Sep 17 00:00:00 2001 From: Dave Beazley Date: Mon, 8 Dec 2003 15:24:39 +0000 Subject: [PATCH] Fixed bus error. Removed inline functions. Minor cleanup. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5500 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/Modules/allocate.cxx | 2 +- Source/Modules/emit.cxx | 1 - Source/Modules/lang.cxx | 1 - Source/Modules/swigmod.h | 13 ++++++++----- Source/Modules/typepass.cxx | 1 - Source/Modules/{utils.h => utils.cxx} | 14 +++----------- 6 files changed, 12 insertions(+), 20 deletions(-) rename Source/Modules/{utils.h => utils.cxx} (67%) diff --git a/Source/Modules/allocate.cxx b/Source/Modules/allocate.cxx index 4808218ba..c1ad8b0fb 100644 --- a/Source/Modules/allocate.cxx +++ b/Source/Modules/allocate.cxx @@ -19,7 +19,7 @@ char cvsroot_allocate_cxx[] = "$Header$"; #include "swigmod.h" -#include "utils.h" + static int virtual_elimination_mode = 0; /* set to 0 on default */ /* Set virtual_elimination_mode */ diff --git a/Source/Modules/emit.cxx b/Source/Modules/emit.cxx index 754274561..f077ed319 100644 --- a/Source/Modules/emit.cxx +++ b/Source/Modules/emit.cxx @@ -13,7 +13,6 @@ * ----------------------------------------------------------------------------- */ #include "swigmod.h" -#include "utils.h" char cvsroot_emit_cxx[] = "$Header$"; diff --git a/Source/Modules/lang.cxx b/Source/Modules/lang.cxx index 1f29bc575..8be19970c 100644 --- a/Source/Modules/lang.cxx +++ b/Source/Modules/lang.cxx @@ -15,7 +15,6 @@ char cvsroot_lang_cxx[] = "$Header$"; #include "swigmod.h" -#include "utils.h" #include static int director_protected_mode = 0; /* set to 0 on default */ diff --git a/Source/Modules/swigmod.h b/Source/Modules/swigmod.h index 145ea53af..b7bac4316 100644 --- a/Source/Modules/swigmod.h +++ b/Source/Modules/swigmod.h @@ -301,13 +301,16 @@ extern "C" { void Swig_register_module(const char *name, ModuleFactory fac); ModuleFactory Swig_find_module(const char *name); +/* Utilities */ + +extern int is_public(Node* n); +extern int is_private(Node* n); +extern int is_protected(Node* n); +extern int is_member_director(Node* parentnode, Node* member); +extern int is_member_director(Node* member); + #endif - - - - - diff --git a/Source/Modules/typepass.cxx b/Source/Modules/typepass.cxx index 4e80d861c..6395db1cb 100644 --- a/Source/Modules/typepass.cxx +++ b/Source/Modules/typepass.cxx @@ -24,7 +24,6 @@ char cvsroot_typepass_cxx[] = "$Header$"; #include "swigmod.h" -#include "utils.h" struct normal_node { Symtab *symtab; diff --git a/Source/Modules/utils.h b/Source/Modules/utils.cxx similarity index 67% rename from Source/Modules/utils.h rename to Source/Modules/utils.cxx index c86123b53..cb7351597 100644 --- a/Source/Modules/utils.h +++ b/Source/Modules/utils.cxx @@ -1,40 +1,32 @@ -#ifndef __Modules_utils_h__ -#define __Modules_utils_h__ +#include -inline int is_public(Node* n) { String* access = Getattr(n, "access"); return !access || !Cmp(access, "public"); } -inline int is_private(Node* n) { String* access = Getattr(n, "access"); return access && !Cmp(access, "private"); } -inline int is_protected(Node* n) { String* access = Getattr(n, "access"); return access && !Cmp(access, "protected"); } -inline int is_member_director(Node* parentnode, Node* member) { - int parent_director = !Cmp(Getattr(parentnode,"feature:director"), "1"); - int cdecl_nodirector = !Cmp(Getattr(member,"feature:nodirector"),"1"); + int parent_director = parentnode && checkAttribute(parentnode,"feature:director","1"); + int cdecl_nodirector = checkAttribute(member,"feature:nodirector","1"); return parent_director && !cdecl_nodirector; } -inline int is_member_director(Node* member) { return is_member_director(Getattr(member, "parentNode"), member); } - -#endif //__Modules_utils_h__