summaryrefslogtreecommitdiff
path: root/compiler/symtable.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-29 22:31:55 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-29 22:31:55 +0000
commit0a3d011fc90f8dac768ae4da946ee8e93f7afa3d (patch)
treed29bc38b7a94294d109f886a16aef25ce3037d40 /compiler/symtable.pas
parentb254e20751a96451551fcb51351e0fabb2d8b19d (diff)
downloadfpc-0a3d011fc90f8dac768ae4da946ee8e93f7afa3d.tar.gz
+ support overriding tdef/tsym methods with target-specific functionality:
o made all (non-abstract) tdef and tsym constructors virtual o added c*def/c*sym classref types for every (non-abstract) t*def/t*sym class o added cpusym unit for every architecture that derives a tcpu*def/tcpu*sym class from the base classes, and initialises the c*def/c*sym classes with them. This is done so that the llvm target will be able to derive from the tcpu*def/sym classes without umpteen ifdefs, and it also means that the WPO can devirtualise everything because the c* variables are only initialised with one class type o replaced all t*def/t*sym constructor calls with c*def/c*sym constructor calls git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27361 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/symtable.pas')
-rw-r--r--compiler/symtable.pas6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/symtable.pas b/compiler/symtable.pas
index c43bb161c7..ea4fc323f5 100644
--- a/compiler/symtable.pas
+++ b/compiler/symtable.pas
@@ -485,7 +485,7 @@ implementation
iblocalvarsym : sym:=tlocalvarsym.ppuload(ppufile);
ibparavarsym : sym:=tparavarsym.ppuload(ppufile);
ibfieldvarsym : sym:=tfieldvarsym.ppuload(ppufile);
- ibabsolutevarsym : sym:=tabsolutevarsym.ppuload(ppufile);
+ ibabsolutevarsym : sym:=cabsolutevarsym.ppuload(ppufile);
ibenumsym : sym:=tenumsym.ppuload(ppufile);
ibpropertysym : sym:=tpropertysym.ppuload(ppufile);
ibunitsym : sym:=tunitsym.ppuload(ppufile);
@@ -1738,7 +1738,7 @@ implementation
system.delete(n,1,p);
oldsym:=findnamespace(upper(ns));
if not assigned(oldsym) then
- insert(tnamespacesym.create(ns));
+ insert(cnamespacesym.create(ns));
p:=pos('.',n);
end;
end;
@@ -3647,7 +3647,7 @@ implementation
systemunit:=nil;
{ create error syms and def }
generrorsym:=terrorsym.create;
- generrordef:=terrordef.create;
+ generrordef:=cerrordef.create;
{ macros }
initialmacrosymtable:=tmacrosymtable.create(false);
macrosymtablestack:=TSymtablestack.create;