aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/utils2.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2016-06-13 07:40:47 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2016-06-13 07:40:47 +0000
commit0317e5a24c41d619200b49d666e105525eae0bcc (patch)
tree70240d79883f69a05aa99c9a6f4a65e134090a55 /gcc/ada/gcc-interface/utils2.c
parentf57f53d3a5a0b18fdf5cef76247aed5f4b1e5610 (diff)
downloadgcc-0317e5a24c41d619200b49d666e105525eae0bcc.zip
gcc-0317e5a24c41d619200b49d666e105525eae0bcc.tar.gz
gcc-0317e5a24c41d619200b49d666e105525eae0bcc.tar.bz2
utils2.c (known_alignment): Deal specially with calls to malloc.
* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially with calls to malloc. From-SVN: r237356
Diffstat (limited to 'gcc/ada/gcc-interface/utils2.c')
-rw-r--r--gcc/ada/gcc-interface/utils2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c
index a0804e8..aeb6cc3 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);