aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/final.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 375429d..61a90a9 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -824,9 +824,13 @@ asm_insn_count (body)
char *template;
int count = 1;
- for (template = decode_asm_operands (body, NULL_PTR, NULL_PTR,
- NULL_PTR, NULL_PTR);
- *template; template++)
+ if (GET_CODE (body) == ASM_INPUT)
+ template = XSTR (body, 0);
+ else
+ template = decode_asm_operands (body, NULL_PTR, NULL_PTR,
+ NULL_PTR, NULL_PTR);
+
+ for ( ; *template; template++)
if (IS_ASM_LOGICAL_LINE_SEPARATOR(*template) || *template == '\n')
count++;