diff options
Diffstat (limited to 'contrib/gcc/calls.c')
-rw-r--r-- | contrib/gcc/calls.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/contrib/gcc/calls.c b/contrib/gcc/calls.c index b5a51236d672..471f5bdf50d7 100644 --- a/contrib/gcc/calls.c +++ b/contrib/gcc/calls.c @@ -843,10 +843,13 @@ flags_from_decl_or_type (exp) if (TREE_NOTHROW (exp)) flags |= ECF_NOTHROW; + + if (TREE_READONLY (exp) && ! TREE_THIS_VOLATILE (exp)) + flags |= ECF_LIBCALL_BLOCK; } if (TREE_READONLY (exp) && ! TREE_THIS_VOLATILE (exp)) - flags |= ECF_CONST | ECF_LIBCALL_BLOCK; + flags |= ECF_CONST; if (TREE_THIS_VOLATILE (exp)) flags |= ECF_NORETURN; |