Commit Graph

9079 Commits

Author SHA1 Message Date
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
carl
c037fd4a48 - several spelling mistakes fixed (after 2nd review)
+ smallint range defined
+ Dec procedure example for function overloading precised (is defined
replaced by 'could' since Dec is inline in compiler now).
+ Export with function overloading will work correctly (name is still
mangled) - it seems only cdecl does not mangle the name.
* fixed problem in my last commit : cdecl is for C calling convention, not
for GCC (since on BeOS the calling convention is stdcall anyways)...
+ IndexChar / IndexDWord / IndexWord had incorrect formatting
+ Ofs() and Seg() had incorrect formatting - Ptr() : DoMapping no longer exists
2001-08-25 03:06:48 +00:00
Jonas Maebe
fc1b58c22c * moved "reverseparameters" from ninl.pas to ncal.pas
+ support for non-persistent temps in ttempcreatenode.create, for use
    with typeconversion nodes
2001-08-24 13:47:26 +00:00
Jonas Maebe
808ab9e7e7 * fixed big bug in handle_str that caused it to (almost) always call
fpc_<stringtype>_longint
  * fixed small bug in handle_read_write that caused wrong warnigns about
    uninitialized vars with read(ln)
  + handle_val (processor independent val() handling)
2001-08-24 12:33:54 +00:00
Jonas Maebe
460af7729c * fixed memory leak with coping of array-of-consts as valuepara 2001-08-24 12:22:14 +00:00
Jonas Maebe
a6cfe4083a + tempcreate/ref/delete nodes (allows the use of temps in the
resulttype and first pass)
  * made handling of read(ln)/write(ln) processor independent
  * moved processor independent handling for str and reset/rewrite-typed
    from firstpass to resulttype pass
  * changed names of helpers in text.inc to be generic for use as
    compilerprocs + added "iocheck" directive for most of them
  * reading of ordinals is done by procedures instead of functions
    because otherwise FPC_IOCHECK overwrote the result before it could
    be stored elsewhere (range checking still works)
  * compilerprocs can now be used in the system unit before they are
    implemented
  * added note to errore.msg that booleans can't be read using read/readln
2001-08-23 14:28:35 +00:00
Jonas Maebe
94c968a957 + limited test of code generator for read(ln)/write(ln) 2001-08-23 13:51:20 +00:00
florian
64808ff380 + some new stuff of D6/Kylix added 2001-08-22 21:19:16 +00:00
florian
1b99b47d7c no message 2001-08-22 21:18:08 +00:00
florian
032023f8de * some interfaces related problems regarding
mapping of interface implementions fixed
2001-08-22 21:16:20 +00:00
peter
b34e51e7f6 * regenerated 2001-08-22 20:49:14 +00:00
peter
d9f43c2ea0 * firstword added
* pathexist fix to include sysfile
2001-08-22 20:45:19 +00:00
peter
750033b4a7 * added -T to fpcmake commandline 2001-08-22 15:25:01 +00:00
florian
3015c3ff86 + HexDisplayPrefix added 2001-08-22 14:11:28 +00:00
florian
120c4eb588 * reverted to previous version 2001-08-21 13:12:22 +00:00
florian
07495c8526 * renamed messages unit to cmsgs to avoid conflicts with the
win32 messages unit
2001-08-20 10:58:48 +00:00
florian
7db13ea48f * some bugs fix:
- overload; with external procedures fixed
    - better selection of routine to do an overloaded
      type case
    - ... some more
2001-08-19 21:11:20 +00:00
florian
b43aef367e * several new tests 2001-08-19 21:09:25 +00:00
florian
6476fbf2fe * fixed and added a lot of stuff to get the Jedi DX( headers
compiled
2001-08-19 21:02:01 +00:00
carl
b1dadc7f1e * spelling mistakes bugfixes
+ added missing modifiers explanation: inline, pascal,safecall
 and interrupt
+ replaced \linux by \linux and \unix compatible operating systems.
- real type will be define in programmer's manual
2001-08-19 15:47:48 +00:00
carl
56101d426a + updated credit for Amiga version 2001-08-19 15:45:46 +00:00
carl
6f54527593 + updated for correct available modifiers 2001-08-19 15:43:12 +00:00
peter
0b4ee7574f * read_array fix merged 2001-08-19 11:23:10 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
7b45b6a4a9 * local browser support fixed 2001-08-19 09:39:27 +00:00
florian
a314a01b9d + a lot of constants added 2001-08-19 09:27:51 +00:00
carl
ab90785af8 + more testing 2001-08-18 00:45:24 +00:00
florian
1f4c560e67 * C contant size specifiers can be lower cased as well:
0x12341234u is allowed
2001-08-17 22:47:30 +00:00
florian
6455131ad6 - wrong demo commited; corrected 2001-08-16 19:36:20 +00:00