* function.c (match_asm_constraints_1): Skip over
initial optional % in the constraint.
* gcc.c-torture/compile/pr35318.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143901
138bc75d-0d04-0410-961f-
82ee72b054a4
2009-02-03 Jakub Jelinek <jakub@redhat.com>
2009-02-03 Jakub Jelinek <jakub@redhat.com>
+ PR target/35318
+ * function.c (match_asm_constraints_1): Skip over
+ initial optional % in the constraint.
+
PR inline-asm/39059
* c-parser.c (c_parser_postfix_expression): If fixed point is not
supported, don't accept FIXED_CSTs.
PR inline-asm/39059
* c-parser.c (c_parser_postfix_expression): If fixed point is not
supported, don't accept FIXED_CSTs.
+ if (*constraint == '%')
+ constraint++;
+
match = strtoul (constraint, &end, 10);
if (end == constraint)
continue;
match = strtoul (constraint, &end, 10);
if (end == constraint)
continue;
2009-02-03 Jakub Jelinek <jakub@redhat.com>
2009-02-03 Jakub Jelinek <jakub@redhat.com>
+ PR target/35318
+ * gcc.c-torture/compile/pr35318.c: New test.
+
PR inline-asm/39059
* gcc.dg/nofixed-point-2.c: New test.
* g++.dg/ext/fixed1.C: Adjust expected diagnostics.
PR inline-asm/39059
* gcc.dg/nofixed-point-2.c: New test.
* g++.dg/ext/fixed1.C: Adjust expected diagnostics.
--- /dev/null
+/* PR target/35318 */
+
+void
+foo ()
+{
+ double x = 4, y;
+ __asm__ volatile ("" : "=r,r" (x), "=r,r" (y) : "%0,0" (x), "m,r" (8));
+}