aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorJing Yu <jingyu@google.com>2009-03-17 20:18:21 +0000
committerDoug Kwan <dougkwan@gcc.gnu.org>2009-03-17 20:18:21 +0000
commit3c072c6ba27f5f8c18688bd3816523ee8b2e7e16 (patch)
tree71b7bedfc8e8e84e9cc8bc7754c2684db939a9fe /gcc/function.h
parent9ade279bf6d2c79adaf3ffbcafeeed2712eed7d8 (diff)
downloadgcc-3c072c6ba27f5f8c18688bd3816523ee8b2e7e16.zip
gcc-3c072c6ba27f5f8c18688bd3816523ee8b2e7e16.tar.gz
gcc-3c072c6ba27f5f8c18688bd3816523ee8b2e7e16.tar.bz2
re PR middle-end/39378 (Multiple inheritence thunk not working with -mthumb)
2009-03-12 Jing Yu <jingyu@google.com> PR middle-end/39378 * function.h: Move is_thunk from rtl_data structure to function structure. * cp/method.c (use_thunk): Change is_thunk from crtl to cfun. * varasm.c (assemble_start_function): Change is_thunk from crtl to cfun. * config/alpha/alpha.c: Change is_thunk from crtl to cfun. * config/rs6000/rs6000.c: Change is_thunk from crtl to cfun. * config/arm/arm.h: Change is_thunk from crtl to cfun. * testsuite/g++.dg/inherit/thunk10.C: New file. Patch submitted by Doug Kwan <dougkwan@google.com> From-SVN: r144918
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/function.h b/gcc/function.h
index 3f03727..f9bdda8 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -378,12 +378,6 @@ struct rtl_data GTY(())
/* Nonzero if function being compiled has an asm statement. */
bool has_asm_statement;
- /* Nonzero if the current function is a thunk, i.e., a lightweight
- function implemented by the output_mi_thunk hook) that just
- adjusts one of its arguments and forwards to another
- function. */
- bool is_thunk;
-
/* This bit is used by the exception handling logic. It is set if all
calls (if any) are sibling calls. Such functions do not have to
have EH tables generated, as they cannot throw. A call to such a
@@ -600,6 +594,12 @@ struct function GTY(())
/* Nonzero if this function has local DECL_HARD_REGISTER variables.
In this case code motion has to be done more carefully. */
unsigned int has_local_explicit_reg_vars : 1;
+
+ /* Nonzero if the current function is a thunk, i.e., a lightweight
+ function implemented by the output_mi_thunk hook) that just
+ adjusts one of its arguments and forwards to another
+ function. */
+ unsigned int is_thunk : 1;
};
/* If va_list_[gf]pr_size is set to this, it means we don't know how