diff options
author | Christian Bruel <christian.bruel@st.com> | 2015-10-26 10:50:37 +0100 |
---|---|---|
committer | Christian Bruel <chrbr@gcc.gnu.org> | 2015-10-26 10:50:37 +0100 |
commit | c1fffdf1fb2ebce24620195c4add32eb90daa598 (patch) | |
tree | 90a790213de81ca57c7114076a08cb59d61c9df3 /gcc/function.h | |
parent | 5929c659186adc165b6cc32aab2890a1629d667a (diff) | |
download | gcc-c1fffdf1fb2ebce24620195c4add32eb90daa598.zip gcc-c1fffdf1fb2ebce24620195c4add32eb90daa598.tar.gz gcc-c1fffdf1fb2ebce24620195c4add32eb90daa598.tar.bz2 |
function.h (MINIMUM_METHOD_BOUNDARY): New macro.
2015-10-26 Christian Bruel <christian.bruel@st.com>
* function.h (MINIMUM_METHOD_BOUNDARY): New macro.
* cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY.
* cp/method.c (implicitly_declare_fn): Likewise.
* cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting.
* java/class.c (add_method_1): Likewise.
From-SVN: r229313
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h index e92c17c..b2e4f71 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -537,6 +537,13 @@ do { \ #define ASLK_REDUCE_ALIGN 1 #define ASLK_RECORD_PAD 2 +/* If pointers to member functions use the least significant bit to + indicate whether a function is virtual, ensure a pointer + to this function will have that bit clear. */ +#define MINIMUM_METHOD_BOUNDARY \ + ((TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_pfn) \ + ? MAX (FUNCTION_BOUNDARY, 2 * BITS_PER_UNIT) : FUNCTION_BOUNDARY) + extern void push_function_context (void); |