Commit Graph

419 Commits

Author SHA1 Message Date
peter
a28d911c98 * IncompatibleTypes() added that will include unit names when
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
d0de3b3ea8 * 64k registers supported
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
303b5252e4 * removed is_visible_for_proc
* search also for class overloads when finding interface
    implementations
2003-10-13 14:05:12 +00:00
peter
e27d6f67da * inline supported again, LOC_REFERENCEs are used to pass the
parameters
  * inlineparasymtable,inlinelocalsymtable removed
  * exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
052f635a45 * don't report unused hidden parameters 2003-10-03 14:43:29 +00:00
peter
00801693bb * protected visibility fixes 2003-10-02 21:13:46 +00:00
peter
7900a544a3 * searchsym_type to search for type definitions. It ignores
records,objects and parameters
2003-10-01 19:05:33 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
375820ccae * unchain operators before adding to overloaded list 2003-08-23 22:31:08 +00:00
peter
bfb8ae2151 * sym,def resolving partly rewritten to support also parent objects
not directly available through the uses clause
2003-06-25 18:31:23 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
72a89db7f7 * para can be the same as function name in delphi 2003-06-09 18:26:27 +00:00
peter
5540304b85 * check parast when inserting in localst 2003-06-08 11:40:00 +00:00
peter
e7975c7592 * re-resolving added instead of reloading from ppu
* tderef object added to store deref info for resolving
2003-06-07 20:26:32 +00:00
peter
072a55b73e * methodpointer self pushing fixed 2003-05-25 11:34:17 +00:00
peter
8ff5792776 * remove some unit dependencies
* current_procinfo changes to store more info
2003-05-23 14:27:35 +00:00
peter
1d3a842c07 * fix dup check for hiding the result varsym in localst, the result
sym was already in the localst when adding the locals
2003-05-16 14:32:58 +00:00
peter
92ee1804b6 * removed selfpointer_offset, vmtpointer_offset
* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
4ba5171726 * fix crash with hiding function result. The function result is now
inserted as last so the symbol that we are going to insert is the
    result and needs to be renamed instead of the already existing
    symbol
2003-05-13 15:17:13 +00:00
peter
15b0132f6f * tloadnode does not support objectsymtable,withsymtable anymore
* withnode cleanup
  * direct with rewritten to use temprefnode
2003-05-11 14:45:12 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66 * aktprocdef cleanup, aktprocdef is now always nil when parsing
a new procdef declaration
  * aktprocsym removed
  * lexlevel removed, use symtable.symtablelevel instead
  * implicit init/final code uses the normal genentry/genexit
  * funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
fe96aad6d6 * vo_is_result flag added for the special RESULT symbol 2003-04-26 00:33:07 +00:00
peter
f4b818fc1d * removed funcretn,funcretsym, function result is now in varsym
and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
Jonas Maebe
06e03ecd23 * calculation of parameter and resultlocation offsets now depends on
tg.direction instead of if(n)def powerpc
2003-04-16 07:53:11 +00:00
Jonas Maebe
ec71805aa8 * several ppc/generic result offset related fixes. The "normal" result
offset seems now to be calculated correctly and a lot of duplicate
    calculations have been removed. Nested functions accessing the parent's
    function result don't work at all though :(
2003-04-05 21:09:31 +00:00
peter
7548e808d9 * ignore hints for default parameter values 2003-03-17 18:56:49 +00:00
peter
830ea4e876 * support DefaultHandler and anonymous inheritance fixed
for message methods
2003-03-17 16:54:41 +00:00
peter
bbf8bddbb4 * unit loading changed to first register units and load them
afterwards. This is needed to support uses xxx in yyy correctly
  * unit dependency check fixed
2002-12-29 14:57:50 +00:00
peter
c466e75da1 * fix crashes when searching symbols 2002-12-27 18:07:44 +00:00
peter
9147303907 * duplicate procsym-unitsym fix 2002-12-25 01:26:56 +00:00
peter
a261bbcfac * type redefine fix for tb0437 2002-12-21 13:07:34 +00:00
carl
081a4aab35 * 3% memory optimization
* changed some types
  + added type checking with different size for call node and for
     parameters
2002-12-07 14:27:07 +00:00
peter
dc66eafb0b * merged cdecl and array fixes 2002-12-06 17:51:09 +00:00
carl
93d011d184 + checking for symbols used with hint directives is done mostly in pexpr
only now
2002-11-30 11:12:48 +00:00
carl
5c5db0e0a3 + unimplemented hint directive added
* hint directive parsing implemented
  * warning on these directives
2002-11-29 22:31:19 +00:00
peter
3d696d9c7c * tvarsym.get_push_size replaced by paramanager.push_size 2002-11-27 20:04:09 +00:00
carl
e15d019b58 + small optimization for speed 2002-11-22 22:45:49 +00:00
pierre
65c85744da * correct a stabs generation problem that lead to use errordef in stabs 2002-11-19 16:26:33 +00:00
peter
a496dbe1ff * pass proccalloption to ret_in_xxx and push_xxx functions 2002-11-18 17:31:54 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
carl
8e942d82bb + bss / constant alignment fixes
* avoid incrementing address/datasize in local symtable for const's
2002-11-09 15:29:28 +00:00
peter
7489b6629f * threadvars need 4 bytes extra for storing the threadvar index 2002-10-14 19:44:43 +00:00
peter
6d4fcce014 * Add finalization of typed consts
* Finalization of globals in the main program
2002-10-06 19:41:30 +00:00
carl
67486c96c3 * fixes for Delphi 6 compilation
(warning : Some features do not work under Delphi)
2002-10-05 12:43:23 +00:00
peter
90e8dc3c41 * real fix internalerror for dup ids in union sym 2002-09-09 19:41:46 +00:00
peter
a540ff122c * tdicationary.replace added to replace and item in a dictionary. This
is only allowed for the same name
  * varsyms are inserted in symtable before the types are parsed. This
    fixes the long standing "var longint : longint" bug
  - consume_idlist and idstringlist removed. The loops are inserted
    at the callers place and uses the symtable for duplicate id checking
2002-09-09 17:34:14 +00:00
peter
20af604613 * memdebug enhancements 2002-09-05 19:29:42 +00:00
peter
a28f75ed03 * sym.insert_in_data removed
* symtable.insertvardata/insertconstdata added
  * removed insert_in_data call from symtable.insert, it needs to be
    called separatly. This allows to deref the address calculation
  * procedures now calculate the parast addresses after the procedure
    directives are parsed. This fixes the cdecl parast problem
  * push_addr_param has an extra argument that specifies if cdecl is used
    or not
2002-08-25 19:25:18 +00:00
peter
98dd65b0f3 * inlining is now also allowed in interface
* renamed write/load to ppuwrite/ppuload
  * tnode storing in ppu
  * nld,ncon,nbas are already updated for storing in ppu
2002-08-18 20:06:23 +00:00
florian
e313bab4ff * first part of procinfo rewrite 2002-08-17 09:23:33 +00:00
peter
ac71268ce6 * saving of asmsymbols in ppu supported
* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
daniel
46b8ed0657 * Tried to make Tprocsym.defs protected. I didn't succeed but the cleanups
are worth comitting.
2002-07-23 09:51:22 +00:00
florian
31da813d1d * exit is now a syssym instead of a keyword 2002-07-16 15:34:20 +00:00
florian
4bbd4814c8 * fixed crash with default parameters and stdcall calling convention 2002-07-15 19:44:53 +00:00
peter
4285e99853 * internal linker
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
4dcd96747e * moved entry and exitcode to ncgutil and cgobj
* foreach gets extra argument for passing local data to the
    iterator function
  * -CR checks also class typecasts at runtime by changing them
    into as
  * fixed compiler to cycle with the -CR option
  * fixed stabs with elf writer, finally the global variables can
    be watched
  * removed a lot of routines from cga unit and replaced them by
    calls to cgobj
  * u32bit-s32bit updates for and,or,xor nodes. When one element is
    u32bit then the other is typecasted also to u32bit without giving
    a rangecheck warning/error.
  * fixed pascal calling method with reversing also the high tree in
    the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
peter
5e7a1e3729 * removed unused units
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
peter
b4cc4b7b01 * removed compiler warnings 2002-03-04 19:10:11 +00:00
peter
190ead04c0 * more fixes for protected handling 2002-02-03 09:30:03 +00:00
peter
7ed7eebed9 * allow also dup id in delphi mode in interfaces 2002-01-29 21:30:25 +00:00
peter
4f36879f03 * fixed recordsymtable.insert_in() for inserting variant record fields
to not used symtable.insert() because that also updates alignmentinfo
    which was already set
2002-01-29 19:46:00 +00:00
peter
fd2ad837e2 * implicit result variable generation for assembler routines
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
2002-01-24 18:25:48 +00:00
peter
60d2ddbbd5 * protected/private symbols parsing fixed 2001-12-31 16:59:41 +00:00
peter
faf78ea813 * overloading supported in child classes
* fixed parsing of classes with private and virtual and overloaded
    so it is compatible with delphi
2001-11-18 18:43:13 +00:00
peter
887f6ba34c * removed obsolete chainprocsym and test_procsym code 2001-11-02 23:16:50 +00:00
peter
d2e1952377 * procsym definition rewrite 2001-11-02 22:58:00 +00:00
Jonas Maebe
9a5955d79f * fixed crashing bug in unit reference counting 2001-10-12 20:27:43 +00:00
peter
59cb901446 * gdb fixes merged 2001-09-30 21:29:47 +00:00
michael
387ad2c42e * realname updated for some hints
* realname used for consts,labels
2001-09-19 11:06:03 +00:00
Jonas Maebe
ed449defca + searchsystype() and searchsystype() functions in symtable
* changed ninl and nadd to use these functions
  * i386 set comparison functions now return their results in al instead
    of in the flags so that they can be sued as compilerprocs
  - removed all processor specific code from n386add.pas that has to do
    with set handling, it's now all done in nadd.pas
  * fixed fpc_set_contains_sets in genset.inc
  * fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
    helper anymore
  * some small fixes in compproc.inc/set.inc regarding the declaration of
    internal helper types (fpc_small_set and fpc_normal_set)
2001-09-04 11:38:54 +00:00
peter
f88f6eb571 * rtti/init table updates
* rttisym for reusable global rtti/init info
  * support published for interfaces
2001-08-30 20:13:52 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +00:00
peter
7b45b6a4a9 * local browser support fixed 2001-08-19 09:39:27 +00:00
peter
81200dc9ef * funcret moved from tprocinfo to tprocdef 2001-08-06 21:40:46 +00:00
peter
b3c72a630a * skip private symbols when found in withsymtable 2001-07-29 22:12:58 +00:00
peter
b10e754536 * alignmentinfo record added
* -Oa argument supports more alignment settings that can be specified
    per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
    RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
    required alignment and the maximum usefull alignment. The final
    alignment will be choosen per variable size dependent on these
    settings
2001-07-01 20:16:15 +00:00
peter
e652444594 + varargs directive 2001-06-04 11:53:12 +00:00
peter
f86ce17588 + hint directive parsing support 2001-06-03 21:57:35 +00:00
peter
6c7708c1e0 * ppu object to class rewrite
* move ppu read and write stuff to fppu
2001-05-06 14:49:16 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
54b534cde7 * better check for globalsymtable 2001-04-13 20:05:15 +00:00
peter
fdeadeed22 * scanner object to class 2001-04-13 18:08:36 +00:00
peter
a7cf57524e * symtable change to classes
* range check generation and errors fixed, make cycle DEBUG=1 works
  * memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
4e2655cdc5 * resulttype rewrite 2001-04-02 21:20:29 +00:00
florian
82a6a7ed95 + basic variant type support in the compiler 2001-03-22 00:10:58 +00:00
peter
6eb671f761 * fixed some memory leaks 2001-03-13 18:45:06 +00:00
peter
d8abf76f6b * getsym redesign, removed the globals srsym,srsymtable 2001-03-11 22:58:49 +00:00
peter
8acb794be6 * moved deref to be done after loading of implementation units. prederef
is still done directly after loading of symbols and definitions.
2001-02-21 19:37:19 +00:00
peter
a7fe3cb6b9 * new fixfilename, findfile for unix. Look first for lowercase, then
NormalCase and last for UPPERCASE names.
2001-02-20 21:41:15 +00:00
peter
f0e23ff231 * fixed crash with unsupported token overloading 2001-01-08 21:40:26 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
162f6681cf * fixed mem leak with withsymtable 2000-12-23 19:50:09 +00:00
peter
0bee4f7cb9 * fixed missing typecast 2000-12-10 20:25:32 +00:00
florian
5d57010458 * fixed web bug #1203: class fields can be now redefined
in Delphi mode though I don't like this :/
2000-12-10 14:14:51 +00:00
florian
00a98196cc * moved to i386 2000-11-30 22:16:49 +00:00
florian
b9796f6a7f * unused units removed from uses clause
* some changes for widestrings
2000-11-29 00:30:30 +00:00
pierre
319ddd55cb * stabs fixing 2000-11-28 00:28:06 +00:00
peter
e0a874dc4f * some realname updates for messages 2000-11-12 22:17:46 +00:00
florian
d5a2d64cf5 * fixed two bugs to get make cycle work, but it's not enough 2000-11-06 15:54:15 +00:00
florian
51527ba1c9 + merged Attila's changes for interfaces, not tested yet 2000-11-04 14:25:19 +00:00
peter
5115083270 * tprocdef.fullprocname added for better casesensitve writing of
procedures
2000-11-01 23:04:37 +00:00
peter
451723647e * symtable splitted, no real code changes 2000-10-31 22:02:46 +00:00
peter
eb3ca9c51d * unit names and procedure names are stored mixed case 2000-10-15 07:47:51 +00:00
peter
e171f341a0 * moehrendorf oct 2000 rewrite 2000-10-14 10:14:45 +00:00
peter
38951f5ce1 * lot of compile updates for cg11 2000-10-01 19:48:23 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
peter
4c94659743 * moved some util functions from globals,cobjects to cutils
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00
pierre
f1bd579bf4 * fix the stabs problems 2000-08-21 11:27:44 +00:00
peter
c21d6d6871 * give fatal if objfpc/delphi mode things are found (merged) 2000-08-20 14:58:41 +00:00
peter
7eaac1706d * splitted namedobjectitem.next into indexnext and listnext so it
can be used in both lists
  * don't allow "word = word" type definitions (merged)
2000-08-16 18:33:53 +00:00
peter
43f82ba0ff * memdebug/memory patches (merged)
* only once illegal directive (merged)
2000-08-08 19:28:57 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
pierre
d86f8c5ec8 * fix for bug #1019 2000-07-03 09:48:23 +00:00
pierre
36f461db33 * align all variants to same start address 2000-06-23 21:34:09 +00:00
peter
d55672bd95 * C record packing fixed to also check first entry of the record
if bigger than the recordalignment itself
  * variant record alignment uses alignment per variant and saves the
    highest alignment value
2000-06-18 18:11:32 +00:00
peter
43b224b136 * rename the result of a function to hide it instead of using setname 2000-06-14 19:00:58 +00:00
peter
9527b53b60 * removed unused label i left in when testing 2000-06-14 16:51:18 +00:00
peter
14d248a322 * checking for dup id with para of methods fixed for delphi mode 2000-06-09 21:34:40 +00:00
pierre
7b1219536c + support for NOT overloading
+ unsupported overloaded operators generate errors
2000-06-05 20:41:17 +00:00
pierre
b8020e724b fix bug in tbs/tbs0317 2000-06-02 21:17:26 +00:00
florian
2658c0aeda + fieldtable support for classes 2000-06-02 18:48:47 +00:00
peter
aa7cb6bde2 * delphi/tp mode fixes for dup id checking (tbs319,tbf320) 2000-06-01 19:07:52 +00:00
pierre
66b7f21d77 * fix for bug #959 2000-05-23 14:15:44 +00:00
pierre
a77b264bd0 * * get it to compile with Delphi by Kovacs Attila Zoltan 2000-05-12 05:55:04 +00:00
pierre
1bd418e467 * some DBX changes but it still does not work ! 2000-05-11 09:40:11 +00:00
pierre
f4d925b2e1 * fix the unitsym chain 2000-05-03 14:34:05 +00:00
pierre
71cbe13810 * power to ** operator fixed 2000-04-27 11:35:03 +00:00
pierre
22a6677394 * fix for snapshot failue
* order_overloaded reintrocduced and adapted to operators
2000-04-27 10:06:04 +00:00
pierre
3174b39bcc * More changes for operator bug
Order_overloaded method removed because it conflicted with
    new implementation where the defs are ordered
    according to the unit loading order !
2000-04-26 08:54:18 +00:00
pierre
dbdb7ee667 + Hint about unused unit
* Testop bug fixed !!
    Now the operators are only applied if the unit is explicitly loaded
2000-04-25 23:55:29 +00:00
peter
013cfb9bc4 * made overloaded_operators local per unit, but it still doesn't work
correct
2000-04-24 12:45:44 +00:00
pierre
861a491bbd * fix bug #294 in a BP compatible way ie. hidding the function result 2000-03-27 21:15:34 +00:00
florian
2805167e6e * bug #294 fixed: parameters can have now the same name as the function/
procedure, this is compatible with TP/Delphi
2000-03-22 09:25:57 +00:00
florian
4ac9fc1812 * in delphi mode: method parameters can now have the same name as parameters 2000-03-20 09:34:33 +00:00
pierre
51443d110f * fix for bug #840 2000-03-01 13:56:31 +00:00
pierre
16638c8b65 * fixes for locals in inlined procedures
fix for bug797
  + stabs generation for inlined paras and locals
2000-03-01 00:03:10 +00:00
florian
df41d1395c * newcg is compiling
* fixed the dup id problem reported by Paul Y.
2000-02-20 20:49:45 +00:00
pierre
12d4917565 * avoid stack overflow in tref.done (bug 846) 2000-02-11 13:53:49 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
96ed273164 * smartlinking fixes for binary writer
* release alignreg code and moved instruction writing align to cpuasm,
    but it doesn't use the specified register yet
2000-01-12 10:38:16 +00:00
pierre
beebcdebfc * avoid testing object types that are simple aliases for unused privates 2000-01-09 00:37:56 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
peter
a7161a8dfc * fixed resolving of ttypesym which are reference from object/record
fields.
2000-01-03 19:26:03 +00:00
florian
89c403c529 * very basic widestring support 1999-12-18 14:54:34 +00:00
peter
295c4e4ce1 * moved verbose to implementation uses 1999-12-02 11:28:27 +00:00
pierre
98a6530898 * give info of original duplicated symbol more often 1999-12-01 22:32:35 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
ae7a04ea12 * defaultsymtablestack is now restored after parser.compile 1999-11-24 11:41:03 +00:00
pierre
fca8adf6c2 * also complain about unused functions in program 1999-11-22 00:23:09 +00:00
pierre
bb6dc0cee8 * avoid certain wrong notes/hints 1999-11-19 14:49:15 +00:00
pierre
b528749138 * Notes/Hints for local syms changed to
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
peter
918b5219ea * labels used but not defined give error instead of warning, the warning
is now only with declared but not defined and not used.
1999-11-15 22:00:46 +00:00
pierre
94f418dc11 + one field added for ttoken record for operator
linking the id to the corresponding operator token that
    can now now all be overloaded
  * overloaded operators are resetted to nil in InitSymtable
    (bug when trying to compile a uint that overloads operators twice)
1999-11-15 17:52:59 +00:00
pierre
d766ee87fc + better reference pos for forward defs 1999-11-09 23:35:49 +00:00
Jonas Maebe
d70b3211a4 + search optimial register to use in alignment code (compile with
-dalignreg, -dalignregdebug to see chosen register in
    assembler code). Still needs support in ag386bin.
1999-11-06 16:21:57 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
pierre
25553ebfea * local browsing works at first level
ie for function defined in interface or implementation
    not yet for functions inside other functions
1999-11-05 17:18:02 +00:00
peter
94cb2299ea * moved unit alias support into ifdef 1999-11-04 23:13:25 +00:00
peter
1610a9d709 + -Ua<oldname>=<newname> unit alias support 1999-11-04 10:54:02 +00:00
peter
503d5a1cfa * const parameter is now checked
* better and generic check if a node can be used for assigning
  * export fixes
  * procvar equal works now (it never had worked at least from 0.99.8)
  * defcoll changed to linkedlist with pparaitem so it can easily be
    walked both directions
1999-10-26 12:30:40 +00:00
peter
e10d770cc3 * fixed stabs writting for forward types 1999-10-06 17:39:14 +00:00
peter
2d21165dd8 * removed objpasunit reference, tvarrec is now searched in systemunit
where it already was located
1999-10-03 19:44:41 +00:00
peter
49fcd8aceb * forward type declaration rewritten 1999-10-01 08:02:45 +00:00
florian
ed7dd22b82 * fixed bug #610
+ added $D- for TP in symtable.pas else it can't be compiled anymore
    (too much symbols :()
1999-09-28 20:48:23 +00:00
peter
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
florian
e8f6d4e836 * fixed a crash under Linux. Why doesn't have the damned Windows DPMI nil pointer
protection???
1999-09-12 21:35:38 +00:00
florian
02c2611b20 * bugs 593 and 607 fixed
* some other potential bugs with array constructors fixed
  * for classes compiled in $M+ and it's childs, the default access method
    is now published
  * fixed copyright message (it is now 1993-99)
1999-09-12 08:48:03 +00:00
florian
a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
peter
d2fd1ea874 * fixed bug #248 1999-09-08 08:05:44 +00:00
pierre
6a5ee6b933 * do_crc must be false for all browser stuff
+ tmacrosym defined_at_startup set in def_macro and set_macro
1999-08-31 15:46:21 +00:00
pierre
e1744c9db6 * uf_local_browser made problem when computing interface CRC 1999-08-27 10:39:24 +00:00
peter
d7a37edfbd * support for array constructors extended and more error checking 1999-08-13 21:33:09 +00:00
pierre
8b4c7f2402 + stabs for classes and classref working,
a class still needs an ^ to get that content of it,
    but the class fields inside a class don't result into an
    infinite loop anymore!
1999-08-13 14:24:17 +00:00
pierre
42faa483e2 * unitid changed to word 1999-08-10 16:25:42 +00:00
pierre
a435c90fc8 * pprocsym defined earlier for use in tprocdef 1999-08-10 12:33:36 +00:00
peter
cb8aeb3fd6 * V_Fatal=1, all other V_ are also increased
* Check for local procedure when assigning procvar
  * fixed comment parsing because directives
  * oldtp mode directives better supported
  * added some messages to errore.msg
1999-08-05 16:52:53 +00:00
Jonas Maebe
ace7ff6983 * all tokens now start with an underscore
* PowerPC compiles!!
1999-08-04 13:02:40 +00:00
florian
ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase 1999-08-04 00:22:34 +00:00
peter
ed8eb13d59 * moved bitmask constants to sets
* some other type/const renamings
1999-08-03 22:02:29 +00:00
florian
53000e181d * reduced memory usage by factor 2-3 (it
improved also the speed) by reducing the
    growsize of the symbol tables
1999-08-03 17:51:45 +00:00
florian
92a8f2af97 * added bestrealdef for alpha and powerpc 1999-08-03 00:03:24 +00:00
michael
09eaa20eb5 * procbase -> cpubase 1999-08-01 23:09:26 +00:00
michael
44fd09b5ec + Changes for Alpha 1999-08-01 23:04:48 +00:00
peter
4807c96d29 * also number units for program 1999-07-24 00:13:25 +00:00
peter
07bb58295b * alignment is now saved in the symtable
* C alignment added for records
  * PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
peter
ca1ccd9221 * fixed crash in previous commit 1999-07-23 12:02:20 +00:00
peter
f380e3bd68 * error for illegal type reference, instead of 10998 1999-07-23 11:37:46 +00:00
florian
35f636dea1 + resourcestring implemented
+ start of longstring support
1999-07-22 09:37:28 +00:00
florian
774df6096e * bug #487 fixed, (inc(<property>) isn't allowed)
* more fixes to compile with Delphi
1999-07-18 14:47:19 +00:00
peter
58cbc3e795 * new link writing to the ppu, one .ppu is needed for all link types,
static (.o) is now always created also when smartlinking is used
1999-07-03 00:29:45 +00:00
pierre
ff1ad12c6b merged from v0-99-12 branch 1999-06-28 17:02:44 +00:00
pierre
05b6362265 * local browser stuff corrected 1999-06-22 16:24:39 +00:00
pierre
c8ece1a306 * staticppusymtable was loaded a tsymtable instead of tunitsymtable 1999-06-08 22:23:50 +00:00
pierre
5f05d07dcb * previous wrong log corrected 1999-06-02 22:43:57 +00:00
pierre
35777a48a1 types.pas 1999-06-02 22:25:22 +00:00
peter
cc0511a890 * @procvar is now always needed for FPC 1999-06-01 14:45:40 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
florian
6b33f4d87d * better error recovering in typed constants
* some problems with arrays of const fixed, some problems
    due my previous
     - the location type of array constructor is now LOC_MEM
     - the pushing of high fixed
     - parameter copying fixed
     - zero temp. allocation removed
  * small problem in the assembler writers fixed:
    ref to nil wasn't written correctly
1999-05-23 18:41:55 +00:00
peter
12313fbed8 * with temp vars now use a reference with a persistant temp instead
of setting datasize
1999-05-17 23:51:37 +00:00
peter
24ad159d09 * new deref code 1999-05-14 17:52:26 +00:00
peter
a47afc3857 * removed oldppu code
* warning if objpas is loaded from uses
  * first things for new deref writing
1999-05-13 21:59:19 +00:00
pierre
8e6fc5fcf0 * one more unitsym problem fix 1999-05-10 22:34:59 +00:00
pierre
741bb5b9a2 unitsym finally problem fixed 1999-05-10 15:02:51 +00:00
peter
02364c2124 + hint where a duplicate sym is already defined 1999-05-09 12:46:19 +00:00
peter
2bb065a00a + MessagePos() which is enhanced Message() function but also gets the
position info
  * Removed comp warnings
1999-05-08 19:52:32 +00:00
peter
4e4a83bfe8 * don't register errordef 1999-05-06 21:38:38 +00:00
peter
1c96916943 * generic write_float and str_float
* fixed constant float conversions
1999-05-06 09:05:05 +00:00
florian
47fd93dfa5 * more fixes to get it with delphi running 1999-05-05 09:19:03 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
3816fb0f4d * small fix for deref 1999-04-29 17:25:37 +00:00
peter
49786e5fe5 * farpointerdef moved into pointerdef.is_far 1999-04-26 18:29:54 +00:00
peter
ef48b9e4a9 * reinstered 1999-04-26 15:12:25 +00:00
michael
3cc79e5f4b + Added my version again after crash 1999-04-26 14:50:13 +00:00