diff options
author | Dave Beazley <dave-swig@dabeaz.com> | 2003-03-20 19:13:52 +0000 |
---|---|---|
committer | Dave Beazley <dave-swig@dabeaz.com> | 2003-03-20 19:13:52 +0000 |
commit | b59d8e4db28be9e1d9cd01aced1a058868fb720d (patch) | |
tree | 80bbdd5c33e16ab8c2aa725ee1e0c0427316d9ee | |
parent | ab9443b3802e4b8468cfaba83211444379742467 (diff) | |
download | swig-b59d8e4db28be9e1d9cd01aced1a058868fb720d.tar.gz |
Incorporated [ 696516 ] Enabling exception processing for data member access.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4588 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r-- | SWIG/Source/Modules/lang.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/SWIG/Source/Modules/lang.cxx b/SWIG/Source/Modules/lang.cxx index 34d2070a6..6a17b838b 100644 --- a/SWIG/Source/Modules/lang.cxx +++ b/SWIG/Source/Modules/lang.cxx @@ -1074,10 +1074,14 @@ Language::membervariableHandler(Node *n) { /* If not a smart-pointer access or added method. We clear feature:except. There is no way C++ or C would throw - an exception merely for accessing a member data + an exception merely for accessing a member data. + + Caveat: Some compilers seem to route attribute access through + methods which can generate exceptions. The feature:allowexcept + allows this. */ - if (!(Extend | SmartPointer)) { + if (!(Extend | SmartPointer) && (!Getattr(n,"feature:allowexcept"))) { Delattr(n,"feature:except"); } |