summaryrefslogtreecommitdiff
path: root/compiler/ncgopt.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-11-27 18:17:37 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-11-27 18:17:37 +0000
commitc18f3da68f01c737b722ec5d19a052b4a74e9308 (patch)
treef79d285de82063856b11673f7f8e749ed425a696 /compiler/ncgopt.pas
parentc24c856965f801d3d8e72361ffa1bc944127144d (diff)
downloadfpc-c18f3da68f01c737b722ec5d19a052b4a74e9308.tar.gz
+ added volatility information to all memory references
o separate information for reading and writing, because e.g. in a try-block, only the writes to local variables and parameters are volatile (they have to be committed immediately in case the next instruction causes an exception) o for now, only references to absolute memory addresses are marked as volatile o the volatily information is (should be) properly maintained throughout all code generators for all archictures with this patch o no optimizers or other compiler infrastructure uses the volatility information yet o this functionality is not (yet) exposed at the language level, it is only for internal code generator use right now git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@34996 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ncgopt.pas')
-rw-r--r--compiler/ncgopt.pas2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/ncgopt.pas b/compiler/ncgopt.pas
index 57572ccd7f..d067a75981 100644
--- a/compiler/ncgopt.pas
+++ b/compiler/ncgopt.pas
@@ -95,7 +95,7 @@ begin
hlcg.g_copyshortstring(current_asmdata.CurrAsmList,left.location.reference,href,tstringdef(cshortstringtype));
location_freetemp(current_asmdata.CurrAsmList,left.location);
{ return temp reference }
- location_reset_ref(left.location,LOC_REFERENCE,def_cgsize(resultdef),1);
+ location_reset_ref(left.location,LOC_REFERENCE,def_cgsize(resultdef),1,[]);
left.location.reference:=href;
end;
secondpass(right);