summaryrefslogtreecommitdiff
path: root/compiler/ncgld.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-08-21 14:23:09 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-08-21 14:23:09 +0000
commit7e8f64a6e80f1cdecd1a00d20efaa5ac02fa074a (patch)
tree09339c050def8930b291f09aebbcfc16f0f63fe7 /compiler/ncgld.pas
parentbdbf33daf9496ed581c47ae4e3714889210fdcd9 (diff)
downloadfpc-7e8f64a6e80f1cdecd1a00d20efaa5ac02fa074a.tar.gz
* changed ttemp*node.tempinfo^.flags to a private field, and added setters
and getters for the ttemp*node classes instead o this will allow descendants to prevent certain flags from being added or removed. E.g. for LLVM, certain temps must never be put in registers because it cannot typecast a value in a register from a non-record/array type to an array type without forcing it to memory (so if that is done on an lvalue, the result will be written to the memory temp instead of to the register) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@34358 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ncgld.pas')
-rw-r--r--compiler/ncgld.pas6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/ncgld.pas b/compiler/ncgld.pas
index 7d6ee27df5..85b03bb80f 100644
--- a/compiler/ncgld.pas
+++ b/compiler/ncgld.pas
@@ -121,13 +121,13 @@ implementation
end;
temprefn:
begin
- if (ti_valid in ttemprefnode(n).tempinfo^.flags) and
+ if (ti_valid in ttemprefnode(n).tempflags) and
{ memory temp... }
(ttemprefnode(n).tempinfo^.location.loc in [LOC_REFERENCE]) and
{ ... at the place we are looking for }
references_equal(ttemprefnode(n).tempinfo^.location.reference,rr^.old^) and
{ its address cannot have escaped the current routine }
- not(ti_addr_taken in ttemprefnode(n).tempinfo^.flags) then
+ not(ti_addr_taken in ttemprefnode(n).tempflags) then
begin
{ relocate the temp }
tcgtemprefnode(n).changelocation(rr^.new^);
@@ -722,7 +722,7 @@ implementation
releaseright:=
(left.nodetype<>temprefn) or
- not(ti_const in ttemprefnode(left).tempinfo^.flags);
+ not(ti_const in ttemprefnode(left).tempflags);
{ shortstring assignments are handled separately }
if is_shortstring(left.resultdef) then