Backported from mainline
2018-03-23 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/85022
* alias.c (write_dependence_p): Don't require for x_canonicalized
non-VOIDmode if x has VOIDmode.
* c-c++-common/torture/pr85022.c: New test.
From-SVN: r262083
2018-06-25 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2018-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR inline-asm/85022
+ * alias.c (write_dependence_p): Don't require for x_canonicalized
+ non-VOIDmode if x has VOIDmode.
+
2018-03-22 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/84941
int ret;
gcc_checking_assert (x_canonicalized
- ? (x_addr != NULL_RTX && x_mode != VOIDmode)
+ ? (x_addr != NULL_RTX
+ && (x_mode != VOIDmode || GET_MODE (x) == VOIDmode))
: (x_addr == NULL_RTX && x_mode == VOIDmode));
if (MEM_VOLATILE_P (x) && MEM_VOLATILE_P (mem))
2018-06-25 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2018-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR inline-asm/85022
+ * c-c++-common/torture/pr85022.c: New test.
+
2018-03-22 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/84941
--- /dev/null
+/* PR inline-asm/85022 */
+
+extern struct B b;
+
+void
+foo ()
+{
+ __asm ("" : "+m" (b));
+}