diff options
| author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-12-12 01:08:52 +0000 |
|---|---|---|
| committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-12-12 01:08:52 +0000 |
| commit | a4a14eb29309a20c3b21ed4fc79d9f29abf162bc (patch) | |
| tree | 6d22f3392a75c3aaa5aa1da655668fca943b1d10 /libgo/runtime | |
| parent | dc2977939ca7d738e1330c11deae1c97602a36ae (diff) | |
| download | ppe42-gcc-a4a14eb29309a20c3b21ed4fc79d9f29abf162bc.tar.gz ppe42-gcc-a4a14eb29309a20c3b21ed4fc79d9f29abf162bc.zip | |
compiler, reflect, runtime: Implement method values in reflect.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205913 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/runtime')
| -rw-r--r-- | libgo/runtime/go-recover.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libgo/runtime/go-recover.c b/libgo/runtime/go-recover.c index 6cef2660ea4..ceb9b572582 100644 --- a/libgo/runtime/go-recover.c +++ b/libgo/runtime/go-recover.c @@ -84,6 +84,11 @@ __go_can_recover (const void *retaddr) if (name[0] == 'f' && name[1] == 'f' && name[2] == 'i' && name[3] == '_') return 1; + /* We may also be called by reflect.makeFuncImpl.call, for a + function created by reflect.MakeFunc. */ + if (__builtin_strstr ((const char *) name, "makeFuncImpl") != NULL) + return 1; + return 0; } |

