diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-12-04 19:53:20 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-12-04 19:53:20 +0000 |
commit | 79ef30f1836addc0e5004b96db199f42ca78f961 (patch) | |
tree | 6372b5b424f8746503a60d39d26c55ea040a4194 /compiler/avr/aoptcpu.pas | |
parent | fcc3063b875cb97388869362c9f5ad98c2e2bc24 (diff) | |
download | fpc-79ef30f1836addc0e5004b96db199f42ca78f961.tar.gz |
+ volatile() expression that marks an expression as volatile
* disable matching volatile references in the assembler optimisers, so they
can't be removed (more conservative than needed, but better than removing
too many)
o the CSE optimiser will ignore them by default, because they're an unknown
inline node for it
* also removed no longer used fpc_in_move_x and fpc_in_fillchar_x inline node
identifiers from rtl/inc/innr.inc, and placed fpc_in_unaligned_x at the
right place
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@40465 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/avr/aoptcpu.pas')
-rw-r--r-- | compiler/avr/aoptcpu.pas | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/avr/aoptcpu.pas b/compiler/avr/aoptcpu.pas index 3a182be179..e938b26e55 100644 --- a/compiler/avr/aoptcpu.pas +++ b/compiler/avr/aoptcpu.pas @@ -75,7 +75,9 @@ Implementation (r1.index = r2.index) and (r1.scalefactor = r2.scalefactor) and (r1.symbol=r2.symbol) and (r1.refaddr = r2.refaddr) and (r1.relsymbol = r2.relsymbol) and - (r1.addressmode = r2.addressmode); + (r1.addressmode = r2.addressmode) and + (r1.volatility=[]) and + (r2.volatility=[]); end; |