Commit Graph

9207 Commits

Author SHA1 Message Date
Jonas Maebe
f256a47f04 * compilerproc implementation of set addition/substraction/...
* changed the declaration of some set helpers somewhat to accomodate the
    above change
  * i386 still uses the old code for comparisons of sets, because its
    helpers return the results in the flags
  * dummy tc_normal_2_small_set type conversion because I need the original
    resulttype of the set add nodes
  NOTE: you have to start a cycle with 1.0.5!
2001-09-03 13:27:41 +00:00
Jonas Maebe
f98641013f * set funcretsym for assembler procedures too (otherwise using __RESULT
in assembler procedures causes a crash)
2001-09-03 13:19:12 +00:00
michael
29d311ef6d + Added examples, ordered alphabetically 2001-09-02 21:45:55 +00:00
michael
77ec55dafb + Added README and ex14 and ex15 examples 2001-09-02 21:45:29 +00:00
peter
915b5cd7a9 * split constsym.value in valueord,valueordptr,valueptr. The valueordptr
is used for holding target platform pointer values. As those can be
    bigger than the source platform.
2001-09-02 21:18:28 +00:00
peter
1f4bac4fd0 * delphi fixes 2001-09-02 21:16:25 +00:00
peter
d1d504ac2d * don't allow int64->real for delphi mode 2001-09-02 21:15:34 +00:00
peter
eb92d4bdd6 * check for size differences in typecasts when assigning 2001-09-02 21:13:31 +00:00
peter
43dea5a35f * move class of definitions into type section for delphi 2001-09-02 21:12:06 +00:00
peter
d523065fb1 * new tests 2001-09-02 21:11:53 +00:00
Jonas Maebe
8b3905de23 * i386*: call and jmp read their first operand
* cgcal: deallocate hlper register only after call statement (fixes bug
    with "procedure of object" and optimizer reported to bugrep on
    2001/08/30) ('merged')
2001-09-01 23:02:30 +00:00
michael
181529df97 + Initial implementation 2001-09-01 19:00:14 +00:00
carl
236598c235 + first revision (missing LOC_FLAGS location test) 2001-08-31 23:56:45 +00:00
pierre
9ac928625a * use ./dotest to run tests on linux 2001-08-31 22:25:07 +00:00
pierre
79f61251a0 * avoid typecast at left of assignment 2001-08-31 22:17:27 +00:00
Jonas Maebe
3d6f18bfa2 * added missing type conversion from small to normal sets 2001-08-31 15:42:15 +00:00
pierre
696c2af620 * allow to compile with DEBUG defined, replaced by STRUTILS_DEBUG 2001-08-31 12:13:41 +00:00
peter
2d610e9be3 * asbsd merged 2001-08-30 20:57:09 +00:00
peter
c0aae66c50 * exit() with exceptions fix 2001-08-30 20:56:38 +00:00
peter
d1e24959d7 * v10 merges 2001-08-30 20:55:08 +00:00
peter
4e4c76d366 * rttisym support 2001-08-30 20:55:02 +00:00
peter
6e3bcf7133 * regenerated 2001-08-30 20:18:30 +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
peter
7aff068a92 * delete gdbver[.exe|.o] 2001-08-30 20:09:53 +00:00
peter
cd73e62336 * create script.res and use link.res for commandline 2001-08-30 20:08:23 +00:00
peter
a22c05827d * small fix for optimizer setting
* delete also script.res
2001-08-30 19:44:09 +00:00
peter
ce43e79517 * detect duplicate labels 2001-08-30 19:43:50 +00:00
Jonas Maebe
eec2c98371 * fix from Peter for getting correct symtableentry for funcret loads 2001-08-30 15:48:34 +00:00
Jonas Maebe
41a57028b9 * converted adding/comparing of strings to compileproc. Note that due
to the way the shortstring helpers for i386 are written, they are
    still handled by the old code (reason: fpc_shortstr_compare returns
    results in the flags instead of in eax and fpc_shortstr_concat
    has wierd parameter conventions). The compilerproc stuff should work
    fine with the generic implementations though.
  * removed some nested comments warnings
2001-08-30 15:43:14 +00:00
Jonas Maebe
a41949db8e * fixed docompare for the fields I added to tcallnode in my previous
commit
  * removed nested comment warning
2001-08-30 15:39:59 +00:00
michael
fc704cd7b0 + Patch for wrong paramsize 2001-08-30 11:57:20 +00:00
Jonas Maebe
8e66ee79a6 + initial version (should not give warning) 2001-08-30 11:03:21 +00:00
pierre
3b7130e553 * fix some m68k specific options 2001-08-29 23:31:27 +00:00
pierre
8eab47cb32 * fix the tab garbage 2001-08-29 23:28:20 +00:00
Jonas Maebe
06f9cd4c96 * some fixes in compilerprocs for chararray to string conversions
* conversion from string to chararray is now also done via compilerprocs
2001-08-29 19:49:03 +00:00
Jonas Maebe
cecfe5dd49 * removed unused var 2001-08-29 17:50:45 +00:00
Jonas Maebe
003549eba1 * the optimizer now keeps track of flags register usage. This fixes some
optimizer bugs with int64 calculations (because of the carry flag usage)
  * fixed another bug which caused wrong optimizations with complex
    array expressions
2001-08-29 14:07:43 +00:00
pierre
2990981dbc * eliminate optimisations if RELEASE on if not for i386 cpu 2001-08-29 14:03:05 +00:00
Jonas Maebe
105b7ae809 + new createinternres() constructor for tcallnode to support setting a
custom resulttype
  * compilerproc typeconversions now set the resulttype from the type
    conversion for the generated call node, because the resulttype of
    of the compilerproc helper isn't always exact (e.g. the ones that
    return shortstrings, actually return a shortstring[x], where x is
    specified by the typeconversion node)
  * ti386callnode.pass_2 now always uses resulttype instead of
    procsym.definition.rettype (so the custom resulttype, if any, is
    always used). Note that this "rettype" stuff is only for use with
    compilerprocs.
2001-08-29 12:18:07 +00:00
Jonas Maebe
14576640c5 * fixed wrong regalloc info around FPC_MUL/DIV/MOD_INT64/QWORD calls
* fixed partial result overwriting with the above calls too
2001-08-29 12:03:23 +00:00
Jonas Maebe
e57f168475 + support for int64 LOC_REGISTERS in remove_non_regvars_from_loc 2001-08-29 12:01:47 +00:00
michael
d0aa70880c + Removed use of word "You", small corrections to Carls edits 2001-08-29 07:26:49 +00:00
carl
29e4b9f40d * bugfix of footnote problems in generated PDFs 2001-08-29 02:14:43 +00:00
Jonas Maebe
fc92c3b336 + compilerproc implementation of most string-related type conversions
- removed all code from the compiler which has been replaced by
    compilerproc implementations (using {$ifdef hascompilerproc} is not
    necessary in the compiler)
2001-08-28 13:24:46 +00:00
pierre
c00729abb5 + several new test files 2001-08-27 23:01:54 +00:00
Jonas Maebe
74f494f9f1 * avoid nonsense range error when using cardinal with value
> high(longint) as code para with val()
2001-08-27 11:04:41 +00:00
marco
3b544692a4 * Ftruncate intermediate fix. 2001-08-27 09:35:07 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +00:00
florian
525be77ced * some cg reorganisation
* some PPC updates
2001-08-26 13:29:33 +00:00
florian
53bf8e9c0c * some cg reorganisation
* some PPC updates
2001-08-26 13:23:23 +00:00