Commit Graph

500 Commits

Author SHA1 Message Date
peter
f86ce17588 + hint directive parsing support 2001-06-03 21:57:35 +00:00
peter
9a47ac9ec2 * m68k updates merged from fixes branch 2001-04-21 12:03:11 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
cf8a1e1462 * better skipping of secondpass if error 2001-04-14 14:05:47 +00:00
peter
a5a695d141 * when errors are found don't generate code, but still run the
resulttype pass
2001-04-13 23:49:24 +00:00
peter
f9c8c7e2ef * don't generate code when there is already an error 2001-04-13 17:59:03 +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
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
florian
b9796f6a7f * unused units removed from uses clause
* some changes for widestrings
2000-11-29 00:30:30 +00:00
Jonas Maebe
50f0345bb8 * if a procedure uses exceptions (be it implicit or explicit), the
usedregisters are set to all (because FPC_POPADDRSTACK doesn't save
    any registers) ("merged", fixes make cycle woth -Or)
2000-11-08 16:38:24 +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
299d6098aa * set usedregisters after writing entry and exit code (merged) 2000-10-24 22:21:25 +00:00
florian
f80c24177a * a lot of changes:
- basic dyn. array support
     - basic C++ support
     - some work for interfaces done
     ....
2000-10-21 18:16:11 +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
24fc983597 * message updates merges 2000-09-24 21:33:46 +00:00
peter
5218af7926 * delphi compile fixes 2000-09-24 21:19:48 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
peter
3b46bdb72d * overload checking in implementation removed (merged) 2000-09-10 20:11:07 +00:00
peter
b90e759995 * fixed operator overloading 2000-09-04 20:15:19 +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
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
cb4de797c1 * class member decl wrong then no other error after it
* -vb has now also line numbering
  * -vb is also used for interface/implementation different decls and
    doesn't list the current function (merged)
2000-08-13 12:54:53 +00:00
peter
43f82ba0ff * memdebug/memory patches (merged)
* only once illegal directive (merged)
2000-08-08 19:28:57 +00:00
peter
658a1f4fcd * default parameters working ! 2000-08-06 19:39:28 +00:00
peter
95253a2759 * overload fixes (merged) 2000-08-06 14:17:15 +00:00
peter
c5da6c53fd * merged fixes 2000-07-30 17:04:43 +00:00
michael
665c1f6410 + patched to 1.1.0 with former 1.09patch from peter 2000-07-13 12:08:24 +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
ab6fd6b3b8 * get a failure on webtbf/tbug890 2000-07-07 20:42:55 +00:00
peter
b91050ccb7 * allow in delphi mode directives without semicolons between 2000-07-06 19:04:59 +00:00
florian
73269986f3 * fixed a problem with forward declarations in TP mode, probably introduced by
Pierre's last changes
2000-06-25 20:13:51 +00:00
pierre
38f27344f4 * equal_paras and convertable_paras changed by transforming third parameter
into an enum with three possible values:
    cp_none, cp_value_equal_const and cp_all.
2000-06-20 12:47:52 +00:00
peter
b71b416cd1 * support overload keyword 2000-06-18 18:12:40 +00:00
pierre
ef8abc1dd7 * operator overloading now uses isbinaryoperatoracceptable
and is unaryoperatoracceptable
2000-06-02 21:24:46 +00:00
pierre
5f437d210d * Delphi defines TP so that code compiles
sent by Kovacs Attila Zoltan
2000-05-10 19:22:51 +00:00
pierre
51a1677da5 * calculate para_offset for interrupt procedures 2000-05-09 14:19:08 +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
a9cff3c8c5 * removed unused vars 2000-04-24 12:48:37 +00:00
pierre
92e9d3bf83 * fix the handling of value parameters in cdecl function 2000-03-31 22:56:45 +00:00
pierre
700f9ce852 * fix for bug #890 2000-03-27 11:57:22 +00:00
pierre
578465bef0 * fix tf000008 bug 2000-03-23 22:17:51 +00:00
pierre
0f4e1e10e0 * fix for bug #807 2000-03-16 16:41:11 +00:00
pierre
4177d64781 * fix for bug #848 (that still genrated wrong code)
+ better testing for variables used in assembler
    (gives an error if variable is not directly reachable !)
2000-03-15 23:09:58 +00:00
peter
50a4b4b4db * if calling convention doesn't match don't print note about
different manglednames
2000-02-27 14:44:39 +00:00
florian
df41d1395c * newcg is compiling
* fixed the dup id problem reported by Paul Y.
2000-02-20 20:49:45 +00:00
florian
dfe879d12e * some updates for the newcg 2000-02-17 14:53:42 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
119ebd56c6 * reset section back to code after localdata 2000-02-08 13:55:13 +00:00
florian
a0cc4f970b * an exception in a construcor calls now the destructor (this applies only
to classes)
2000-02-04 20:00:21 +00:00
Jonas Maebe
16e46c496c * moved call to resetusableregs to compile_proc_body (put it right before the
reset of the temp generator) so the optimizer can know which registers are
    regvars
2000-02-04 14:54:17 +00:00
florian
997ddf88f9 * virtual XXXX; support for objects, only if -dWITHDMT is defined 2000-01-28 23:17:53 +00:00
florian
eb1715ded4 * fixed for the fix of bug #793
* fpu variables modified by nested subroutines aren't regable anymore
  * $maxfpuregisters doesn't modify anymore the behavior of a procedure before
2000-01-21 22:06:16 +00:00
peter
25dda03cdc * renamed call_offset to para_offset 2000-01-16 22:17:11 +00:00
Jonas Maebe
edf419d5a7 * removed a lot of memory leaks when an error is encountered (caused by
procinfo and pstringcontainers). There are still plenty left though :)
2000-01-11 17:16:04 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
peter
7583de7a4f - removed freelabel()
* added undefined label detection in internal assembler, this prevents
    a lot of ld crashes and wrong .o files
  * .o files aren't written anymore if errors have occured
  * inlining of assembler labels is now correct
1999-12-22 01:01:45 +00:00
peter
03a9699ce3 * newcg compiler compiles again 1999-12-06 18:17:09 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
fca8adf6c2 * also complain about unused functions in program 1999-11-22 00:23:09 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
pierre
acaa9296b7 * more browser details 1999-11-10 00:24:02 +00:00
pierre
142ace2afc * better browser info 1999-11-09 23:43:08 +00:00
peter
23ca9de3b3 * esi_offset -> selfpointer_offset to be newcg compatible
* hcogegen -> cgbase fixes for newcg
1999-11-09 23:06:44 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +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
89b677a0ee * split type reading from pdecl to ptype unit
* parameter_dec routine is now used for procedure and procvars
1999-10-22 10:39:34 +00:00
peter
19aa88a729 * moved mangledname creation of normal proc so it also handles a wrong
method proc
1999-10-13 10:37:36 +00:00
florian
8b9633266b * new codegenerator compiles again 1999-10-12 21:20:41 +00:00
peter
6b6fc5aac4 * fixed forward decl check for tp7/delphi 1999-10-03 19:38:39 +00:00
peter
532d85cd50 + procedure directive support in const declarations, fixes bug #232 1999-10-01 10:05:37 +00:00
peter
49fcd8aceb * forward type declaration rewritten 1999-10-01 08:02:45 +00:00
peter
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
71f28ed588 * cs_create_smart instead of cs_smartlink
* -CX is create smartlink
  * -CD is create dynamic, but does nothing atm.
1999-09-20 16:38:51 +00:00
florian
1c638f2952 * small fix to operator overloading when in MMX mode
+ the compiler uses now fldz and fld1 if possible
  + some fixes to floating point registers
  + some math. functions (arctan, ln, sin, cos, sqrt, sqr, pi) are now inlined
  * .... ???
1999-09-15 20:35:37 +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
pierre
c528cf639f * bugfix for 237 and 244 1999-09-07 14:59:40 +00:00
daniel
1777e0c901 * Could not compile with TP, some arrays moved to heap
* NOAG386BIN default for TP
  * AG386* files were not compatible with TP, fixed.
1999-09-02 18:47:41 +00:00
peter
0274f3a08b * fixed crash in psub
* ansistringcompare fixed
  * support for #$0b8
1999-08-30 10:17:56 +00:00
pierre
154386ac6a * pi_is_global was missing for global methods
+ code to restore overloaded list order
    (necessary to get same CRC values after interface and after
    implementation)
1999-08-27 10:41:46 +00:00
pierre
1c8a7a1924 + label faillabel added for _FAIL support 1999-08-19 13:02:08 +00:00
pierre
c63cfc6f7a * linking to C code with cdecl;external; was broken 1999-08-10 16:24:44 +00:00
pierre
88185b4be3 + procsym field of tprocdef set 1999-08-10 12:37:44 +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
1cf1665d73 * the alpha compiler can be compiled now 1999-08-03 17:09:34 +00:00
florian
eac806034d * the main branch psub.pas is now used for
newcg compiler
1999-08-02 21:28:56 +00:00
peter
30be2bf063 * indirect type referencing is now allowed 1999-07-27 23:42:10 +00:00
florian
9cbaac5beb * bugs 494-496 fixed 1999-07-26 09:41:59 +00:00
peter
f2818d7908 * merged 1999-07-11 20:10:23 +00:00
peter
f959158854 * merged 1999-07-02 13:02:24 +00:00
pierre
e8da115c3f * merged from 0_99_12 branch 1999-06-17 13:19:50 +00:00
peter
8db8e0d6a8 * reinserted 1999-06-11 13:21:37 +00:00