summaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-03-23 10:05:56 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-03-23 10:05:56 +0100
commit6f5799be393e835b4cce70d070ae30039fdf38a7 (patch)
tree82f63b45b22c73fedcb4d8e30cf05af034f31330 /gcc/alias.c
parentee3a999fe7dfddb2531b045738ff2c0c40e6eb4c (diff)
re PR inline-asm/85022 (internal compiler error: in write_dependence_p, at alias.c:3003)
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: r258795
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index 5fa15cbd102..eac36a51519 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -2999,7 +2999,8 @@ write_dependence_p (const_rtx mem,
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))