summaryrefslogtreecommitdiffstats
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-29 02:21:28 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-29 02:21:28 +0000
commitd9714f266ea901cb3e1276fa1262355024c6b6f7 (patch)
treeabe343eb625ab7e2ffd9118fa57d17e5ded9eca0 /gcc/gimplify.c
parentb12821c4f5061f815f9f2bd42df997e7aed5bf24 (diff)
downloadppe42-gcc-d9714f266ea901cb3e1276fa1262355024c6b6f7.tar.gz
ppe42-gcc-d9714f266ea901cb3e1276fa1262355024c6b6f7.zip
2004-11-18 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/18164 * gimplify.c (gimplify_asm_expr): If the length of an output operand is zero, do not process it, just let it go through. 2004-11-28 Andrew Pinski <pinskia@physics.uc.edu> * gcc.dg/pr18164.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91459 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index c6256fa7ac7..ecd42717f05 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -3120,8 +3120,12 @@ gimplify_asm_expr (tree *expr_p, tree *pre_p, tree *post_p)
ret = GS_ALL_DONE;
for (i = 0, link = ASM_OUTPUTS (expr); link; ++i, link = TREE_CHAIN (link))
{
+ size_t constraint_len;
oconstraints[i] = constraint
= TREE_STRING_POINTER (TREE_VALUE (TREE_PURPOSE (link)));
+ constraint_len = strlen (constraint);
+ if (constraint_len == 0)
+ continue;
parse_output_constraint (&constraint, i, 0, 0,
&allows_mem, &allows_reg, &is_inout);
@@ -3145,7 +3149,6 @@ gimplify_asm_expr (tree *expr_p, tree *pre_p, tree *post_p)
operands. */
tree input;
char buf[10];
- size_t constraint_len = strlen (constraint);
/* Turn the in/out constraint into an output constraint. */
char *p = xstrdup (constraint);
OpenPOWER on IntegriCloud