Commit Graph

224 Commits

Author SHA1 Message Date
peter
e652444594 + varargs directive 2001-06-04 11:53:12 +00:00
Jonas Maebe
34ef6cd933 + detect incomplete typed constant records 2001-05-06 17:15:00 +00:00
peter
79b1b63dcb * give error with local external procedure 2001-04-13 18:03:15 +00:00
peter
e49f13a393 * press enter moved to errore.msg 2001-03-05 21:50:28 +00:00
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
peter
18a87e23d4 * new messages merged 2001-02-20 21:49:18 +00:00
Tomas Hajny
577ebe46a5 * mistyping correction (assemler) 2001-02-04 01:42:00 +00:00
Tomas Hajny
ee51dcc980 + APPTYPE support under OS/2, app_fs, GetEnvPChar for OS/2 2001-01-20 18:32:52 +00:00
peter
be95b0758b * object to class conversion
* more verbosity for -vt and -vd
  * -i options can be put after eachother so the Makefiles only need
    to call fpc once for all info (will be twice as the first one will
    be to check the version if fpc supports multiple info)
2000-12-23 19:46:49 +00:00
Jonas Maebe
12371eaa07 + warning when there is a chance to get a range check error because of
automatic type conversion to u32bit
2000-12-16 15:54:52 +00:00
Jonas Maebe
585b5f2e00 * fixed web bug #1144
+ implemented range checking for 64bit types
2000-12-11 19:10:19 +00:00
florian
ad8ccd0c0e *** empty log message *** 2000-11-19 16:23:06 +00:00
florian
e24f3f300e *** empty log message *** 2000-11-17 08:20:19 +00:00
florian
51527ba1c9 + merged Attila's changes for interfaces, not tested yet 2000-11-04 14:25:19 +00:00
Jonas Maebe
a4fde73649 + register renaming ("fixes" bug1088)
* changed command line options meanings for optimizer:
      O2 now means peepholopts, CSE and register renaming in 1 pass
      O3 is the same, but repeated until no further optimizations are
        possible or until 5 passes have been done (to avoid endless loops)
  * changed aopt386 so it does this looping
  * added some procedures from csopt386 to the interface because they're
    used by rropt386 as well
  * some changes to csopt386 and daopt386 so that newly added instructions
    by the CSE get optimizer info (they were simply skipped previously),
    this fixes some bugs
2000-10-24 10:40:52 +00:00
peter
4bd9325ae6 * more quotes 2000-10-15 09:07:41 +00:00
Jonas Maebe
c1e14ef033 * fixed another range check error (merged from fixes branch) 2000-10-09 14:54:27 +00:00
peter
092352b0fd * merged @result fix from Pierre 2000-10-08 10:26:33 +00:00
Jonas Maebe
45d4e0202a * fixed dupplicate message numbers (from Pierre's fix in the fixes
branch)
2000-09-28 09:10:47 +00:00
peter
24fc983597 * message updates merges 2000-09-24 21:33:46 +00:00
florian
9c18ccb6e2 + netware target added 2000-09-11 17:12:29 +00:00
peter
c21d6d6871 * give fatal if objfpc/delphi mode things are found (merged) 2000-08-20 14:58:41 +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
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
peter
957d4cdc89 * new message files layout with msg numbers (but still no code to
show the number on the screen)
2000-06-30 20:23:33 +00:00
Tomas Hajny
c790e4afbe + $R support for OS/2 (EMX) added 2000-06-25 19:08:27 +00:00
pierre
a64310a252 + new warning for C packed records 2000-06-23 21:33:25 +00:00
peter
2b1d92cb5c * no binary value reading with % if not fpc mode
* extended illegal char message with the char itself (Delphi like)
2000-06-18 18:05:54 +00:00
peter
11e4a9a22d * added need_dollar msg 2000-06-14 19:04:09 +00:00
pierre
ef8abc1dd7 * operator overloading now uses isbinaryoperatoracceptable
and is unaryoperatoracceptable
2000-06-02 21:24:46 +00:00
peter
535f63923c * fixed % parsing and added modulo support
* changed some evaulator errors to more generic illegal expresion
2000-05-26 18:23:09 +00:00
pierre
947fa03cb0 + check of compatibility between selected assembler
output and target OS
2000-05-23 21:28:19 +00:00
pierre
d299af0815 + add a warning if using ENTER instruction with linux target 2000-05-17 11:08:24 +00:00
pierre
18073d8424 + FADD to FADDP conversion warning
+ MsgCrcValue added to msgidx.inc file
2000-05-15 14:02:31 +00:00
pierre
e0328653f1 + add a warning if a const string is longer than the
length of the string type
2000-05-11 09:15:12 +00:00
pierre
cd93ae3564 * some new messages 2000-05-09 10:58:09 +00:00
pierre
9560f264a3 + sym_n_unit_not_used 2000-04-26 07:32:02 +00:00
florian
3f9126f999 * fixed bug #903: the compiler gives now a nice message if it can't create
the .o file, (same for future .ar)
2000-04-02 15:22:17 +00:00
pierre
482820110c + add a warning if esi is base and index in object assembler code 2000-03-28 22:11:46 +00:00
pierre
9c44048ad2 + add error if trying to use readln or writeln for files
or read or write on untyped files.
    Reset and rewrite are still incompatible with BP
    (reset(dat,1); is allowed for typed file !)
2000-03-27 09:42:48 +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
michael
34c8f49271 + Added switch to swicth on assertions. 2000-03-13 20:15:08 +00:00
peter
85087cf8c2 * -gl option added 2000-02-07 12:19:26 +00:00
florian
f6f3a1a039 *** empty log message *** 2000-02-06 17:17:03 +00:00
peter
0d63b79f38 * helpscreen updates 2000-01-27 09:58:59 +00:00
pierre
da01d99789 * Range check for int64 produces a warning only 2000-01-25 08:46:03 +00:00
pierre
99d8f90aec + some warnings for wrong lines inside config files 2000-01-14 14:33:53 +00:00
florian
89ccc81c2b + added compiler switch $maxfpuregisters
+ fixed a small problem in secondvecn
2000-01-04 15:15:50 +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
pierre
bed6bb6b2a + $description $version 1999-12-20 23:23:28 +00:00
florian
577edbbd3f + compiler checks now if a goto leaves an exception block 1999-12-14 09:58:41 +00:00
pierre
5169b7b86b + allow use of unit var in exports of DLL for win32
by using direct export writing by default instead of use of DEFFILE
    that does not allow assembler labels that do not
    start with an underscore.
    Use -WD to force use of Deffile for Win32 DLL
1999-12-08 10:39:59 +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
604766601d * Pavel's changes for reloc section in executable
+ warning that -g needs -WN under win32
1999-11-15 15:03:46 +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
8e7dd52200 * error when properties are passed to var parameters 1999-10-22 14:37:25 +00:00
florian
0dd2b51943 * problems with readln fixed: esi wasn't restored correctly when
reading ordinal fields of objects futher the register allocation
    didn't take care of the extra register when reading ordinal values
  * enumerations can now be used in constant indexes of properties
1999-10-21 16:41:37 +00:00
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
florian
8b9633266b * new codegenerator compiles again 1999-10-12 21:20:41 +00:00
peter
532d85cd50 + procedure directive support in const declarations, fixes bug #232 1999-10-01 10:05:37 +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
peter
7f63615b43 * @procvar fixes for tp mode
* @<id>:= gives now an error
1999-09-17 17:14:02 +00:00
peter
64dcafcf80 * updated 1999-09-16 13:35:56 +00:00
florian
863df30860 + rtti is now automatically generated for published classes, i.e.
they are handled like an implicit property
1999-09-15 22:09:15 +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
05f2be0455 * better support for object fields and more error checks for
field accesses which create buggy code
1999-09-08 16:04:01 +00:00
peter
453773ecb2 * TYPE support 1999-09-07 07:45:29 +00:00
peter
037319700d * moved parsing interface/implementation to -vu 1999-09-01 22:18:37 +00:00
pierre
55f6e70490 * double checksum problem solved 1999-08-27 14:52:56 +00:00
peter
3b89a3c501 * fixed message which was wrong styled 1999-08-06 11:13:17 +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
florian
9cbaac5beb * bugs 494-496 fixed 1999-07-26 09:41:59 +00:00
michael
f7284c4549 + Improved resourcestring handling 1999-07-24 16:22:10 +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
florian
b2c99ecb9d + implemented a better error message if a PPU file isn't found as suggested
by Lee John
1999-07-14 21:19:01 +00:00
peter
b867e4f6de * assembler smartlink message 1999-07-10 10:12:03 +00:00
florian
62cb5453d3 * a lot bug fixes:
- po_external isn't any longer necessary for procedure compatibility
     - m_tp_procvar is in -Sd now available
     - error messages of procedure variables improved
     - return values with init./finalization fixed
     - data types with init./finalization aren't any longer allowed in variant
       record
1999-07-06 21:48:09 +00:00
peter
b4a852e74b * merged 1999-07-05 20:22:08 +00:00
peter
03e6ec96c5 * merged 1999-06-14 17:47:45 +00:00
pierre
35777a48a1 types.pas 1999-06-02 22:25:22 +00:00
peter
94c276ce8d * better checks for procvar and methodpointer 1999-06-01 19:27:47 +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
41e4095cfa * if a non local variables isn't initialized the compiler doesn't write
any longer "local var. seems not to be ..."
1999-05-19 15:26:32 +00:00
peter
e8bf496ae8 * containsself fixes
* checktypes()
1999-05-18 14:15:18 +00:00
peter
0fa3bc3618 * removed -Fg and -Up 1999-05-16 02:28:51 +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
florian
d8307b9cd3 * override isn't allowed in objects! 1999-05-12 22:36:04 +00:00
peter
02364c2124 + hint where a duplicate sym is already defined 1999-05-09 12:46:19 +00:00
peter
4841b4236c * updated messages 1999-05-05 22:21:47 +00:00
florian
71ae948727 + method message handlers which contain an explicit self can't be called
directly anymore
  + self is now loaded at the start of the an message handler with an explicit
    self
  + $useoverlay fixed: i386 was renamed to i386base
1999-05-02 09:35:39 +00:00
florian
d27b21891b * changes of Bruessel:
+ message handler can now take an explicit self
     * typinfo fixed: sometimes the type names weren't written
     * the type checking for pointer comparisations and subtraction
       and are now more strict (was also buggy)
     * small bug fix to link.pas to support compiling on another
       drive
     * probable bug in popt386 fixed: call/jmp => push/jmp
       transformation didn't count correctly the jmp references
     + threadvar support
     * warning if ln/sqrt gets an invalid constant argument
1999-04-28 06:01:54 +00:00
pierre
8970dc7efd + added an error for var x,y : integer = 4;
for Delphi initialized vars
1999-04-25 22:31:32 +00:00
pierre
b573615038 + args by ebp offset warning in -vz mode 1999-04-21 16:24:49 +00:00
peter
cb70b62a82 * storenumber works
* fixed some typos in double_checksum
  + incompatible types type1 and type2 message (with storenumber)
1999-04-21 09:43:28 +00:00
pierre
7482ba0913 * void pointer accepted with warning in tp and delphi mode 1999-04-16 12:14:44 +00:00
pierre
c568c17e4a + error for unsupported operand combination 1999-04-16 09:51:02 +00:00