diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-06-13 07:40:47 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-06-13 07:40:47 +0000 |
commit | 615e1c3100bd94e1c7da0583c07ad553c19f6ec2 (patch) | |
tree | 70240d79883f69a05aa99c9a6f4a65e134090a55 /gcc | |
parent | 249865a031091a7a544cfe3e51c8bc9fefbe1d74 (diff) |
* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
with calls to malloc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237356 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/utils2.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6f2fda6004bf..41a6c619fe28 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2016-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially + with calls to malloc. + 2016-06-11 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.c (build_binary_op_trapv): If no operand is a diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c index a0804e8e86df..aeb6cc3a3f73 100644 --- a/gcc/ada/gcc-interface/utils2.c +++ b/gcc/ada/gcc-interface/utils2.c @@ -171,6 +171,10 @@ known_alignment (tree exp) case CALL_EXPR: { + tree func = get_callee_fndecl (exp); + if (func && DECL_IS_MALLOC (func)) + return get_target_system_allocator_alignment () * BITS_PER_UNIT; + tree t = maybe_inline_call_in_expr (exp); if (t) return known_alignment (t); |