summaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm-builtins.c
diff options
context:
space:
mode:
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-16 18:14:37 +0000
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-16 18:14:37 +0000
commitedc35e207caf9ce589b5cf6f3f59ad6a733bc6f6 (patch)
treeebd2d2401e0431860255c784629dda9323d012b0 /gcc/config/arm/arm-builtins.c
parentbebfcb12dfeb733c445f84547c68ae56dffe3057 (diff)
downloadgcc-edc35e207caf9ce589b5cf6f3f59ad6a733bc6f6.tar.gz
[ARM] PR 62066: Call va_end on early return from va_list processing function
PR target/62066 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before early return 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219763 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/arm-builtins.c')
-rw-r--r--gcc/config/arm/arm-builtins.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
index 37f27d74694..7a451133f86 100644
--- a/gcc/config/arm/arm-builtins.c
+++ b/gcc/config/arm/arm-builtins.c
@@ -2064,7 +2064,10 @@ arm_expand_neon_args (rtx target, machine_mode map_mode, int fcode,
case NEON_ARG_MEMORY:
/* Check if expand failed. */
if (op[argc] == const0_rtx)
+ {
+ va_end (ap);
return 0;
+ }
gcc_assert (MEM_P (op[argc]));
PUT_MODE (op[argc], mode[argc]);
/* ??? arm_neon.h uses the same built-in functions for signed