Commit Graph

200 Commits

Author SHA1 Message Date
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