peter
a2aca573f4
* don't allow enum assignments in tp/delphi mode
2000-06-18 18:16:38 +00:00
peter
6530ab39a8
* only replace the $1,$2,$3 once, so it doesn't loop when the
...
value to replace with contains $1,$2 or $3
2000-06-18 18:14:21 +00:00
peter
1b53fa6f8a
* removed unused var
2000-06-18 18:13:12 +00:00
peter
b71b416cd1
* support overload keyword
2000-06-18 18:12:40 +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
9fc6896bf9
* empty ansistring now use constant value of 0
2000-06-18 18:09:31 +00:00
peter
6fa1a1bae0
* use new illegal_char method
2000-06-18 18:07:06 +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
sg
a68332baec
* Updated
2000-06-17 17:15:57 +00:00
pierre
fc2326a5dc
*Gabor's changes
2000-06-16 06:08:44 +00:00
pierre
c02fc1e683
* wrong fpcmake.ini corrected
2000-06-15 20:46:02 +00:00
pierre
b5ac159ce9
* fix the windows unit import problem by forcing smart linking for win32
2000-06-15 20:26:51 +00:00
peter
0d58e53bfc
* first look for ppu in cwd and outputpath and after that for source
...
in cwd
* fixpath() for not linux makes path now lowercase so comparing paths
with different cases (sometimes a drive letter could be
uppercased) gives the expected results
* sources_checked flag if there was already a full search for sources
which aren't found, so another scan isn't done when checking for the
sources only when recompile is needed
2000-06-15 18:10:11 +00:00
peter
8b92303745
* fix constant parsing which gave an error when constants were used
2000-06-15 18:07:07 +00:00
michael
dd9ff4e6ea
+ All messages translated again
2000-06-15 17:54:46 +00:00
peter
11e4a9a22d
* added need_dollar msg
2000-06-14 19:04:09 +00:00
peter
6eb5381eb4
* fixed TYPE with records and fields
...
* added TYPE support for ATT reader else it wouldn't be possible to
get the size of a type/variable
2000-06-14 19:02:41 +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
2ce33303a3
* support for inherited; only
2000-06-14 16:52:42 +00:00
peter
ab8dd7a27b
* fixed reference parsing
2000-06-14 16:52:09 +00:00
peter
9527b53b60
* removed unused label i left in when testing
2000-06-14 16:51:18 +00:00
Jonas Maebe
18dd1f715b
+ support for inc/dec/imul in foldarithops
2000-06-14 06:05:06 +00:00
kaz
8742406bdd
* array type property can have default value, fixed.
2000-06-13 17:09:56 +00:00
peter
42bdcb649b
* fixed pchar->string conversion for delphi mode
2000-06-11 07:00:21 +00:00
peter
69109b8234
* support procvar directive without ; before the directives
2000-06-11 06:59:36 +00:00
Jonas Maebe
cd3a96d742
* fixed bug in shlmul code
2000-06-10 17:32:44 +00:00
Jonas Maebe
ac7de270ca
* loadord2reg doesn't generate any "movl %reg1,%reg1" anymore
2000-06-10 17:31:42 +00:00
peter
b427a13613
* fixed parsing of $if preproc function
2000-06-09 21:35:37 +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
679c988bc3
* unary minus operator overloading was broken
...
+ accept pointer args in binary operator
2000-06-06 20:25:43 +00:00
pierre
1d6b7e9050
Generate a warning if function result is a pointer and result^:=x; is used
2000-06-06 20:24:07 +00:00
Jonas Maebe
3ca96dd897
* ansistring constants now also get a trailing #0 (bug reported by
...
Thomas Schatzl)
2000-06-06 13:06:17 +00:00
pierre
7b1219536c
+ support for NOT overloading
...
+ unsupported overloaded operators generate errors
2000-06-05 20:41:17 +00:00
pierre
d0399b4e55
* fix for inline bug
2000-06-05 20:39:05 +00:00
peter
23cbb5b9c8
* fix addrn with procvar, also detected by testpva2 !
2000-06-04 09:05:05 +00:00
peter
8ab40df69d
* check for procvar in valid_for_formal
2000-06-04 09:04:30 +00:00
Jonas Maebe
957bd0bfd5
* resource string numbering
2000-06-04 08:48:54 +00:00
Jonas Maebe
e360abb77b
* fixed web bug #972 , test for the bug in tests/testopt/testcse3.pp
2000-06-03 09:41:37 +00:00
sg
f2700cd86a
* Adapted to recent changes in errore.msg
2000-06-03 08:57:09 +00:00
pierre
ef8abc1dd7
* operator overloading now uses isbinaryoperatoracceptable
...
and is unaryoperatoracceptable
2000-06-02 21:24:46 +00:00
pierre
6433e1d8c2
tok2node moved to htypechk unit
2000-06-02 21:22:56 +00:00
pierre
88e8f0836f
+ isbinaryoperatoracceptable and isunaryoperatoracceptable
...
for a more coherent operator overloading implementation
tok2node moved from pexpr unit to htypechk
2000-06-02 21:22:04 +00:00
pierre
28ce798307
+ set vo_is_exported for vars
2000-06-02 21:18:13 +00:00
pierre
b8020e724b
fix bug in tbs/tbs0317
2000-06-02 21:17:26 +00:00
pierre
cc246ae673
* vo_is_exported needs init_global also
2000-06-02 21:16:42 +00:00
pierre
88f77c3dbc
+ vo_is_exported for bug0317 fix
2000-06-02 21:15:49 +00:00
pierre
e44f9fd425
* fix for tbs/tbs0318.pp bug
2000-06-02 21:14:34 +00:00
pierre
71219c091e
* use is_equal instead of direct def equality in unary minus overload
2000-06-02 21:13:56 +00:00
florian
2658c0aeda
+ fieldtable support for classes
2000-06-02 18:48:47 +00:00
peter
8b260f5793
* symtable.insert changed to procedure
2000-06-01 19:14:09 +00:00
peter
40de0309f6
* fixed long line for tp7
2000-06-01 19:13:02 +00:00
peter
120d2f0130
* added ifdef fpc around findclose
2000-06-01 19:11:19 +00:00
peter
e882145e88
* made resourcestrings OOP so it's easier to handle it per module
2000-06-01 19:09:56 +00:00
peter
aa7cb6bde2
* delphi/tp mode fixes for dup id checking (tbs319,tbf320)
2000-06-01 19:07:52 +00:00
peter
65d78b71d2
* clean .o and .s from smartlinkpath when starting the writer
2000-06-01 13:02:45 +00:00
peter
e60344ccf7
* removed notes
2000-06-01 11:01:20 +00:00
peter
276a486a28
* fixed string->pchar conversion for array constructors
2000-06-01 11:00:52 +00:00
peter
30b8959557
* moved to utils
2000-06-01 10:58:47 +00:00
florian
a4bdf283e7
* stack alignment to 8 byte boundaries with -Oa switch
2000-05-31 09:29:15 +00:00
florian
c33697ecd4
* forgot to commit a fix for the enumeration subrange problem, yesterday
2000-05-31 06:58:41 +00:00
florian
9ef9f62da1
* first implementation of -Oa switch
2000-05-31 06:57:11 +00:00
florian
d7db923d35
* fixed assignments of subrange enumeration types
2000-05-30 18:38:45 +00:00
pierre
6b012c36f4
* New bunch of Gabor changes
2000-05-29 10:04:40 +00:00
florian
1dac75340e
* fixed a problem with subrange enumerations in case statements
2000-05-28 15:22:54 +00:00
peter
8e4522215a
* smart,shared lib including for rpm/deb
2000-05-26 20:50:09 +00:00
Jonas Maebe
c1df09f993
* fixed wrong register deallocations in several ansistring related
...
procedures. The IDE's now function fine when compiled with -OG3p3r
2000-05-26 20:16:00 +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
peter
27c258c7ca
* give error for @ with formal const,var parameter. Because @ generates
...
a constant value and not a reference
2000-05-26 18:21:41 +00:00
peter
8822c0dc43
* fixed wrong var parameter with @
2000-05-26 18:20:38 +00:00
Jonas Maebe
79b0cbff40
* fixed unreachable code detection
2000-05-25 12:00:14 +00:00
sg
cd180c17d5
* Updated
2000-05-25 11:43:15 +00:00
Jonas Maebe
298f787233
* const parameters were not prevented from becoming regvars (causing
...
errors later on in the code generating stage)
2000-05-25 07:44:11 +00:00
pierre
947fa03cb0
+ check of compatibility between selected assembler
...
output and target OS
2000-05-23 21:28:19 +00:00
pierre
9fa6970737
+ added supported_target fiedl to tasminfo record
...
to disregard wrong assembler settings
2000-05-23 21:26:52 +00:00
peter
8900400a2c
+ typecasting support for variables, but be carefull as word,byte can't
...
be used because they are reserved assembler keywords
2000-05-23 20:36:28 +00:00
peter
00cf634883
* fixed instruction matching when a size flag is specified for all
...
operands
2000-05-23 20:34:35 +00:00
peter
cafbded190
* attsuffix table is also needed for ra386int
2000-05-23 20:33:37 +00:00
peter
7d9c18c01d
* removed dup msgcrcvalue
2000-05-23 20:32:48 +00:00
peter
1a1ef88365
* fixed wrong code not detected due a bug in FPC
2000-05-23 20:32:11 +00:00
pierre
ea13526914
+ pavel's code integrated, but onyl inside
...
ifdef pavel_linklib !
2000-05-23 20:18:25 +00:00
pierre
bdf92e8b55
* Use stacksize param instead of gettempsize
2000-05-23 14:20:49 +00:00
pierre
66b7f21d77
* fix for bug #959
2000-05-23 14:15:44 +00:00
pierre
3694513937
Use a multiple of 4 to substract from stack pointer for locals and temps
2000-05-23 13:55:27 +00:00
Jonas Maebe
23c8f29811
* fixed bug in "subl $2,%esp; .. ; pushw mem" optimization when the
...
sub comes from setting up the stack frame instead of from aligning
esp (I hope)
2000-05-23 10:58:46 +00:00
pierre
0822332888
fix wrong handling of var para for size bug #961
2000-05-22 12:47:52 +00:00
peter
34e840268a
* fixed size of const parameters in asm readers
2000-05-18 17:05:15 +00:00
sg
f703a54099
* Updated to recently added messages
...
* Lots of typos and bugs fixed
2000-05-18 08:00:00 +00:00
peter
cae5842737
* removed wrong warning for library finding
2000-05-17 18:30:35 +00:00
peter
6029115a7d
* add support for loading of typed const strings with resourcestrings,
...
made the loading also a bit more generic
2000-05-17 17:10:06 +00:00
florian
42459e508a
* fixed my previous commit
2000-05-17 11:42:27 +00:00
pierre
d299af0815
+ add a warning if using ENTER instruction with linux target
2000-05-17 11:08:24 +00:00
pierre
3d2350d584
add a comment about ENTER and linux
2000-05-17 11:06:11 +00:00
pierre
536829e4bc
+ -CR option to enable check for object virtual method
2000-05-16 20:19:05 +00:00
florian
5c11706a27
* fixed a problem with case and negative labels if a linear list
...
was generated (fixes tests\test\testcase)
2000-05-16 18:56:04 +00:00
florian
0fb3ed4ad3
* fixed type conversion test for open arrays: the to and from fields where
...
exchanged which leads under certain circumstances to problems when
passing arrays of classes/class references as open array parameters
2000-05-16 16:01:03 +00:00
peter
ae9b86f982
* fixed calling of inherited methods from destructors
2000-05-15 19:30:27 +00:00
peter
2ea50df7a6
* fixed crash with resourcestring in const
2000-05-15 19:29:50 +00:00
pierre
5d093dc072
* add implicit args for FADDP
2000-05-15 14:11:45 +00:00
pierre
9e97eb9e76
* FADD without arg is alias of FADDP
2000-05-15 14:10:48 +00:00
pierre
24e5f16174
* FADD without operand translated into FADDP
2000-05-15 14:08:49 +00:00
pierre
04104f3b5f
+ calculate CRC value and check if consistant
2000-05-15 14:07:33 +00:00
pierre
a788f11833
Declare MsgCrcValue with cond EXTERN_MSG
2000-05-15 14:05:40 +00:00
pierre
18073d8424
+ FADD to FADDP conversion warning
...
+ MsgCrcValue added to msgidx.inc file
2000-05-15 14:02:31 +00:00
pierre
f63815853e
CRC stuff moved to CRC unit
2000-05-15 13:19:04 +00:00
pierre
1b45cfb51b
+ calculate a CRC value for enums
2000-05-15 13:14:48 +00:00
pierre
c57f884789
CRC calculation placed into a unit
2000-05-15 13:12:25 +00:00
florian
795a06b4f2
+ Int64/QWord stuff for array of const added
2000-05-14 18:48:24 +00:00
pierre
cff91a51a2
+ use of a dictionary object
...
for faster opcode searching in assembler readers
implemented by Kovacs Attila Zoltan
2000-05-12 21:57:02 +00:00
pierre
5f4ec1b1ff
* fix the FDIV FDIVR FSUB FSUBR and popping equivalent
...
simply by swapping from reverse to normal and vice-versa
when passing from one syntax to the other !
2000-05-12 21:26:22 +00:00
pierre
e5b1fd5620
+ interactive mode for translation
2000-05-12 15:03:44 +00:00
pierre
d9cd338b91
* some more translations
2000-05-12 15:00:05 +00:00
pierre
a1335d22ba
* updated + some more translations
2000-05-12 13:02:55 +00:00
pierre
7c324b13b2
* adapted to Delphi 3
2000-05-12 08:58:51 +00:00
pierre
f43fd3dc00
+ add a warning if the error level is different in the two files
...
+ force to keep the order of orgfile
2000-05-12 08:47:25 +00:00
michael
08788989a8
+ Corrected help messages
2000-05-12 07:59:18 +00:00
michael
34663b5725
+ All messages translated
2000-05-12 07:03:17 +00:00
pierre
a77b264bd0
* * get it to compile with Delphi by Kovacs Attila Zoltan
2000-05-12 05:55:04 +00:00
pierre
3c17f030b5
* Reset DosError in Exec reported by Kovacs Attila Zoltan
2000-05-12 05:51:43 +00:00
peter
5f179d94fb
* small fix for previous commit
2000-05-11 17:53:40 +00:00
peter
1d47da018e
* fixed check for overloaded operator with array and chararray check
2000-05-11 16:47:37 +00:00
pierre
e15480418d
* ordering bugs fixed
2000-05-11 13:37:37 +00:00
pierre
f86c9ec8e8
New utils to run Makefile running the compiler through GDB
2000-05-11 11:39:19 +00:00
pierre
61830584ec
* changed to compile with Delphi, reported by Kovacs Attila Zoltan
2000-05-11 09:59:40 +00:00
pierre
fddd96280d
* fixed several compare problems between longints and
...
const > $80000000 that are treated as int64 constanst
by Delphi reported by Kovacs Attila Zoltan
2000-05-11 09:56:20 +00:00
pierre
1bd418e467
* some DBX changes but it still does not work !
2000-05-11 09:40:11 +00:00
pierre
3697d3c985
* do not use upcase for strings, reported by Kovacs Attila Zoltan
2000-05-11 09:37:25 +00:00
pierre
3523aea209
* Delphi implementation by Kovacs Attila Zoltan
2000-05-11 09:36:22 +00:00
pierre
b8080d2b0f
* disbal all code using MemAvail for Delphi reported by Kovacs Attila Zoltan
2000-05-11 09:29:01 +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
c25e1f17cc
* change tosinfo.shortname length, reported by Kovacs Attila Zoltan
2000-05-11 09:07:45 +00:00
florian
889e43db8a
* fixed some vmt problems, especially related to overloaded methods
...
in objects/classes
2000-05-11 06:53:48 +00:00
pierre
e112b16a51
* fix localswitch problem if compiling objpas
2000-05-11 06:52:37 +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
8c9f14abcd
* Use integer third arg for val in SetErrorFlags
...
to allow compilation with Delphi
reported by Kovacs Attila Zoltan
2000-05-10 19:20:23 +00:00
pierre
122f24022a
* op2strtable string length changed to 11
...
Thanks to Kovacs Attila Zoltan
this should be set by nasmconv utility !
2000-05-10 19:09:07 +00:00
peter
d9cef95ac7
* -Se<x> option extended to increase errorcount for
...
warning,notes or hints
2000-05-10 13:40:19 +00:00
pierre
365f0ebc81
* no warning nor error for pushl of segment register
2000-05-10 08:55:08 +00:00
pierre
495fd674a7
* add .byte 066h to force correct pushw %es
...
* handle push es as a pushl %es
2000-05-09 21:44:27 +00:00
pierre
1d982ffbf6
* fix problem when modifying several local switches in a row
2000-05-09 21:31:50 +00:00
florian
3cae2ee1a5
* fixed a problem when returning int64/qword from a function in -Or: in some
...
cases a wrong result was returned
2000-05-09 19:05:56 +00:00
pierre
51a1677da5
* calculate para_offset for interrupt procedures
2000-05-09 14:19:08 +00:00
pierre
d380bdfec1
* handle interrupt function correctly
2000-05-09 14:17:33 +00:00
pierre
6cba0a4927
* calling interrupt routine supported
2000-05-09 14:16:00 +00:00
pierre
35d59984b2
* also allow interrupt procvars
2000-05-09 14:15:03 +00:00
pierre
5ce612c33e
* fix for test/testpusw problem
2000-05-09 14:12:35 +00:00
pierre
f94c25e338
* Issue an error if opcode is not found
2000-05-09 11:56:25 +00:00
pierre
cd93ae3564
* some new messages
2000-05-09 10:58:09 +00:00
pierre
a1d9aa1ffe
add code to allow calling interrupt routines
2000-05-09 10:54:03 +00:00
pierre
7e5eab9f0c
Use i386nop.inc file
2000-05-09 10:52:08 +00:00
pierre
86e515e1a5
+ i386nop.inc now contains the number of opcodes
...
+ LCALL and LJMP added (untested)
2000-05-09 10:35:19 +00:00
pierre
d4df420802
+ generate also i386nop.inc containing the number of opcodes
2000-05-09 06:39:17 +00:00
peter
4b09b89588
* fixed reference parsing
2000-05-08 13:23:03 +00:00
peter
6d282de1d4
* fixed setting of output names with includefile
2000-05-08 13:18:09 +00:00
peter
325b9acfa2
* ansistrings are now default on for delphi mode, as most ppl expect
...
this
2000-05-04 20:46:17 +00:00
peter
1cd3fb9f4c
* don't write rst files if errors found
2000-05-04 20:43:33 +00:00
pierre
40f1da8f8e
* bug found by Kovacs Attila Zoltan corrected
2000-05-04 12:59:10 +00:00
pierre
2419be3520
* saveregisters now does not overwrite registers used as return value for functions
2000-05-04 09:29:31 +00:00
pierre
dfbb141d2b
+ easier debug when memory is lost
2000-05-03 16:31:22 +00:00
peter
934883569a
* also allow smartlinking for main programs
2000-05-03 16:11:57 +00:00
pierre
d6b3b9a9cd
* Use RestoreUnitsSyms to avoid wrong hints about unused units
...
* Avoid hints about unsused units if thet have a init or finalize code
2000-05-03 14:39:51 +00:00
pierre
eb59e0b11c
* fix for tests/test/testrang.pp bug
2000-05-03 14:36:57 +00:00
pierre
f4d925b2e1
* fix the unitsym chain
2000-05-03 14:34:05 +00:00
Jonas Maebe
d82a0e5958
* changed NOT to A_NOP
2000-05-01 11:04:49 +00:00
Jonas Maebe
44845ec919
* some fixes, does not yet compile
2000-05-01 11:03:32 +00:00
Jonas Maebe
6e83066171
* fixed incompatibility with range chcking code, -O2 and higher
...
now work correctly together with -Cr
2000-04-29 16:57:44 +00:00
Jonas Maebe
2eb73a055e
* destroyreg overwrote some memory if the reg was an FPU register
2000-04-29 16:56:45 +00:00
peter
f40500579d
* fixed offset support intel reader, the gotoffset variable was not
...
always reset
* moved check for local/para to be only used for varsym
2000-04-29 12:51:33 +00:00
peter
ad5c964217
* support asm block without assembler directive for -Sd
2000-04-29 12:50:14 +00:00
peter
10c46e7f4d
* rebuild
2000-04-29 12:49:46 +00:00
peter
d371c67332
* fixed long line for tp7
2000-04-29 12:49:30 +00:00
Jonas Maebe
3e11694e49
* nmem compiles again (at least for powerpc)
2000-04-29 09:01:06 +00:00
pierre
c4f4ac6ae2
* fix my last fix for other targets then win32
2000-04-28 08:53:47 +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
477eacdff2
* correct bugs for ts010026 and ts010029 in win32 mode
...
in copyvaluparas
+ use SHL instead of IMUL if constant is a power of 2 in copyvalueparas
2000-04-26 10:03:45 +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
9560f264a3
+ sym_n_unit_not_used
2000-04-26 07:32:02 +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
Jonas Maebe
e96d0a3d6e
- disabled "string_var := string_var + ... " and "string_var + char_var"
...
optimizations (were only active with -dnewoptimizations) because of
several internal issues
2000-04-25 14:43:36 +00:00
peter
8818701433
* added enhancedraise define
2000-04-24 13:34:29 +00:00
peter
47ffdafd5e
* added some more fpuint instructions
2000-04-24 13:33:35 +00:00
peter
a9cff3c8c5
* removed unused vars
2000-04-24 12:48:37 +00:00
peter
015cca99cd
* fixed check for exporting var or proc
2000-04-24 12:47:27 +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
peter
ebbf2e578f
* backtraces for exceptions are now only generated from the place of the
...
exception
* frame is also pushed for exceptions
* raise statement enhanced with [,<frame>]
2000-04-24 11:11:50 +00:00
Jonas Maebe
613ceaa8fb
* only enable string_concat optimization with uncertain optimizations,
...
because it gives wrong results with "s := s + f()" where s is a
string and f() is a call to a function that modifies s
2000-04-23 21:04:09 +00:00
Jonas Maebe
a48a8031b8
* changed "mov reg1, reg2; mov reg2, y" optimization that caused
...
regalloc info to become invalid (it's still performed, but the
regalloc info stays valid now)
2000-04-23 14:56:36 +00:00
Jonas Maebe
43e023d0af
* use FPC_SHPRTSTR_CONCAT_LEN for -dnewoptimizations (temp)
...
* more precise reg deallocation when calling the above)
2000-04-23 09:28:19 +00:00
Jonas Maebe
941f20c29a
* cleaner register (de)allocation in secondfor (for optimizer)
2000-04-22 15:29:26 +00:00
Jonas Maebe
57e41f9053
* aasm.pas: pai_align instead of pai_align_abstract if cpu <> i386
...
+ systems.pas: info for macos/ppc
* new/cgobj.pas: compiles again without newst define
* new/powerpc/cgcpu: generate different entry/exit code depending on
whether target_os is MacOs or Linux
2000-04-22 14:25:03 +00:00
Jonas Maebe
490769db7d
+ special code for string + char, between -dnewoptimizations
2000-04-21 12:35:05 +00:00
pierre
7909818e21
* allow to view objects having the same name
2000-04-20 08:52:01 +00:00
pierre
a7de7fd247
* remove a memory leak with resourcestrings
2000-04-19 08:24:41 +00:00
peter
9e61c134bb
* fixed forward resolving with redefined types
2000-04-17 18:44:22 +00:00
Jonas Maebe
f648aaf986
* small regalloc fix
2000-04-16 16:46:43 +00:00
Jonas Maebe
0fd1e94dbb
* release register used in for-loop before end label (for better
...
optimizations)
2000-04-16 08:08:44 +00:00
pierre
3ed4ca8362
* some debug related updates
2000-04-14 12:49:11 +00:00
pierre
c0943fad01
* better inlined real sqr function
2000-04-14 12:33:40 +00:00
pierre
76f84bfc22
* setfiletime to both files in synchronize
2000-04-14 12:27:57 +00:00
pierre
4a51cd5763
avoid to reset operand size of opsize is S_NO
2000-04-14 12:26:33 +00:00
pierre
811f471334
* partial linklib change
...
I could not use Pavel's code because it broke the current way
linklib is used, which is messy :(
+ add postw32 call if external linking on win32
2000-04-14 11:16:10 +00:00
pierre
498dd7873c
renamed postw32.pp to fit into 8.3 limitation
2000-04-14 11:13:02 +00:00
pierre
2d8319c249
renamed to fit in 8.3 limitation
2000-04-14 11:10:46 +00:00
pierre
b655569229
* corrected version from Pavel
2000-04-14 11:06:42 +00:00
pierre
9e1ba97b6d
* typo errors corrected
2000-04-14 08:29:36 +00:00
pierre
7a2993fe8b
* close ppu file if errors
2000-04-14 08:15:05 +00:00
pierre
64f232f69f
+ external postprocessing by Pavel Ozerski
2000-04-13 13:44:52 +00:00
pierre
3eb3f07dd7
* fix the -g-l option
2000-04-12 12:42:28 +00:00
florian
1bb13781e0
* sometimes wrong range checking code for arrays was generated when
...
using register variables
2000-04-11 20:36:39 +00:00
peter
6ea5534991
* added extra ifdef to check if there are some objects else some
...
targets aren't added anymore
2000-04-11 15:34:47 +00:00
marco
26081ed999
* Simple script which specifies the right params for a try out BSD build
2000-04-11 13:06:25 +00:00
Jonas Maebe
fc11708a77
* changed the order of the tinschange type enum
2000-04-11 11:21:44 +00:00
Jonas Maebe
e4ceb46242
* fixed a serious bug in the CSE which (I think) only showed with
...
-dnewoptimizations when using multi-dimensional arrays with
elements of a size different from 1, 2 or 4 (especially strings).
* made the DFA/CSE more robust (much less dependent on specifics of the
code generator)
2000-04-10 12:45:56 +00:00
Jonas Maebe
55988e6f55
* modified copyshortstring so it takes an extra paramter which allows it
...
to delete the sref itself (so the reg deallocations are put in the
right place for the optimizer)
2000-04-10 12:23:18 +00:00
Jonas Maebe
944f9b3de1
* added ait_symbol_end to SkipInstr
2000-04-10 12:21:33 +00:00
pierre
ed95777843
* get -g-l to work
2000-04-10 11:36:19 +00:00
Jonas Maebe
6743c46a07
* or and lds/les/lfs/lgs/lss read operand 1
...
* movd/movq changed from ch_all to r_op1, w_op2
2000-04-10 10:09:32 +00:00
pierre
165df86632
* fix for bug #922 in copyvalueparas
2000-04-10 09:01:15 +00:00
michael
10b7a3ccbe
* Fixed bug in readcomment that was dropping * characters
2000-04-08 20:18:53 +00:00
Jonas Maebe
cde0d7d084
* fixed concat_string optimization and enabled it when
...
-dnewoptimizations is used
2000-04-08 16:22:11 +00:00
peter
2eadddb7e6
* fixed pointer->array conversion when resulttype was already set
2000-04-08 09:30:01 +00:00
marco
2f7e162a8b
* For BSD signals are off for now
2000-04-07 20:52:24 +00:00
peter
1f082db3ad
* correctfldcw define added
2000-04-07 14:56:18 +00:00
pierre
d2aa336b2f
* avoid bug #911 , worng unused parameter hints
2000-04-06 11:28:17 +00:00
pierre
841f0d21c1
* bug in TOperand.SetSize corrected
2000-04-06 07:56:04 +00:00
pierre
cd4ba01892
* handle offset fixup
...
+ add source lines
* no NEAR for opcodes that only support short jumps
2000-04-06 07:09:15 +00:00
pierre
8f1708b14a
* handle offsetfixup
2000-04-06 07:05:57 +00:00
pierre
b1f00f942d
+ generate line stabs if cs_gdb_lineinfo is aktglobalswitches
2000-04-06 07:04:50 +00:00
pierre
7520cf9b6a
+ Use R FPUint suffix in table
2000-04-05 22:13:42 +00:00
pierre
38224e3cf6
* no unitdir automatically added if -n option present
2000-04-05 21:57:34 +00:00
pierre
c03c1f8af3
* set NOUSEEXCEPT to remove use of setjump/longjump
2000-04-05 21:18:04 +00:00
pierre
1a16b36498
* generate code accepted by nasm
2000-04-04 21:41:56 +00:00
pierre
d9fc5de9ac
+ accept nasmwin32 output
2000-04-04 15:05:03 +00:00
pierre
1f64423e43
* nasmwin32 is 9 chars long, idtxt changed accordingly
2000-04-04 14:18:15 +00:00
pierre
c45c6b14a3
+ nasmwin32 for win32 object output with nasm assembler
2000-04-04 13:54:58 +00:00
pierre
67a0b6c79e
+ TOperand.SetCorrectSize virtual method added
...
to be able to change the suffix according to the instruction
(FIADD word ptr w need a s as ATT suffix
wheras FILD word ptr w need a w suffix :( )
2000-04-04 13:48:44 +00:00
pierre
5377e30ab7
+ AttSufFPUint for integer fpu instructions
2000-04-04 13:45:20 +00:00
pierre
3dfae51aed
+ R suffix for integer FPU operations
2000-04-04 13:44:03 +00:00
florian
2a901bf527
* initialize/finalize_data checks if procinfo is assigned else
...
crashes happend at end of compiling if there were ansistrings in the
interface/implementation part of units: it was the result of the fix
of 701 :(
2000-04-03 20:51:22 +00:00
pierre
6800fa46bc
* avoid cyclic overloaded list for operators
2000-04-03 14:50:05 +00:00
pierre
7f4168fb0a
* fix for bug #909
2000-04-03 12:23:02 +00:00
florian
ff5b72e3bd
* fixed another problem with readln(<floating point register variable>);
...
* the register allocator takes now care of necessary pushes/pops for
readln/writeln
2000-04-02 18:30:11 +00:00
florian
f71ddb9e2f
* readln(r); works now, if r is a fpu register variable
2000-04-02 17:47:47 +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
florian
7c75febd64
* enumerations with size 1 or 2 weren't handled corretly if they were register
...
variables: in fact they got 32 bit register assigned; fixed
2000-04-02 12:11:38 +00:00
florian
339d986a2a
* bug #701 fixed: ansistrings in interface and implementation part of the units
...
are now finalized correctly even if there are no explicit initialization/
finalization statements
2000-04-02 10:18:18 +00:00
florian
fcf5315f23
+ constant procedure variables can have a @ in front:
...
const p : procedure = @p;
til now only
const p : procedure = p;
was allowed
2000-04-02 09:12:51 +00:00
peter
836eafa712
* use arraydef.elesize instead of elementtype.def.size
2000-04-01 14:18:44 +00:00
peter
8550915222
* don't write suffix for fldcw
2000-04-01 14:18:03 +00:00
peter
0fccba3864
* arraydef.elesize returns 4 when strings are found in an openarray,
...
arrayconstructor. Since only the pointers to the strings are stored
2000-04-01 14:17:08 +00:00
peter
7c04f2ff09
* fixed rtti info for record
2000-04-01 11:44:56 +00:00
Tomas Hajny
b65e936773
* logfile appended if exists
2000-04-01 10:46:29 +00:00
Tomas Hajny
f295a8029b
* .ao2 bug fixed
2000-04-01 10:45:14 +00:00
pierre
92e9d3bf83
* fix the handling of value parameters in cdecl function
2000-03-31 22:56:45 +00:00
pierre
8dc1494e52
* fix for problem in tbs0299 for 4 byte stack alignment
2000-03-28 22:31:46 +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
a7331ce0eb
* Object fields are simple offsets in TP/Delphi mode
2000-03-28 22:10:12 +00:00
pierre
ac98c4c444
* fix for bug #891
2000-03-28 21:14:18 +00:00
pierre
1d3629b598
* fix for bug #739
2000-03-27 21:51:19 +00:00
pierre
2931f94d33
* "segss" prefix in Intel is converted into "ss" in ATT
...
and vice-versa. Fixes web bug #892 .
2000-03-27 21:18:54 +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
pierre
700f9ce852
* fix for bug #890
2000-03-27 11:57:22 +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
Jonas Maebe
d8d25ef6de
+ basic properties
2000-03-26 16:38:27 +00:00
Jonas Maebe
5fae5888e2
* frame_pointer = stackpointer instead of R_NO
2000-03-26 16:38:06 +00:00
Jonas Maebe
f3abe5e528
+ use cpubase unit
...
- removed use of alpha unit
2000-03-26 16:37:36 +00:00
Jonas Maebe
a7e1271da1
* release the register used to hold the value of the case variable
...
at the end of the case
2000-03-26 11:33:49 +00:00
Jonas Maebe
6c09cba112
* some more allocRegBetween fixes (-al didn't function previously
...
if the compiler was compiled with -OG2p3r)
2000-03-26 10:58:47 +00:00
florian
f3ed1eaf5c
* improved allocation rules for integer register variables
2000-03-26 10:50:04 +00:00
Jonas Maebe
a890c59e05
* fixed bug in regUsedAfterInstruction (it didn't convert the reg
...
to 32bit before checking)
* result: make cycle now works with -OG3p3r!!!!
2000-03-26 08:46:52 +00:00
Jonas Maebe
3ec9514966
* fixed some things for -Or. Make cycle now works with -OG2p3r if
...
you use -Aas. There still a bug in popt386.pas that causes a
problem with the binary writer, but I haven't found it yet
2000-03-25 19:05:47 +00:00
Jonas Maebe
c18d6589e4
* moved AllocRegBetween() from csopt386 to this unit because it's now
...
also used by popt386
2000-03-25 18:58:00 +00:00
Jonas Maebe
3555239e29
* remove dealloc/alloc of reg1 between "movl %reg1,%reg2;
...
movl %reg2,%reg1" when removing the second instruction (it
confused the CSE and caused errors with -Or)
2000-03-25 18:57:02 +00:00
Jonas Maebe
34dd37729c
* fix for -dnewoptimizations and -Or (never remove stores to regvars)
...
but make cycle with -OG2p3r still fails :(
2000-03-24 15:54:49 +00:00
pierre
578465bef0
* fix tf000008 bug
2000-03-23 22:17:51 +00:00
Jonas Maebe
f6a406c6e9
* real fix for web bug882
2000-03-23 16:29:32 +00:00
peter
d75bbf8b73
* fixed crash with inherited with varsym/propsym
2000-03-23 15:56:59 +00:00
peter
273373602f
* $VERSION is now version_string
...
+ $FULLVERSION is now full_version_string
2000-03-23 15:35:47 +00:00
Jonas Maebe
82da57a765
* fix for webbug 886
2000-03-22 17:34:53 +00:00
Jonas Maebe
03939d1fb1
* fixed webbug 882
2000-03-22 15:41:10 +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
pierre
0578c906ee
fix for bug #312
2000-03-21 23:36:46 +00:00
peter
9132430e40
* only include crtbegin when linking to libc
2000-03-21 21:36:52 +00:00
peter
7a22d50859
* some more updates
2000-03-21 21:36:05 +00:00
peter
c236646caa
* add OPT for optimizing compiler
2000-03-21 21:35:27 +00:00
florian
5925e8fb20
* fixed bug #881 : for the include/exclude instruction sometimes wrong
...
code was generated
2000-03-21 16:24:43 +00:00
florian
872031518d
* fixed bug #879 : high and low take now any kind of expression
2000-03-21 09:12:40 +00:00
pierre
53d50a62a4
* probably a fix for bug #615
2000-03-20 16:04:05 +00:00
florian
814bee0cc6
* fixed <dword>/<dword>, <int64>/<int64> and <qword>/<qword>
2000-03-20 10:16:51 +00:00
florian
360f371c44
* catching of exceptions is switched off on all targets if the define
...
DEBUG is used
2000-03-20 09:37:51 +00:00
florian
431ec3bfe8
* using the directive DEBUG when compiling the compiler will include now
...
the lineinfo unit on all targets
2000-03-20 09:36:23 +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
peter
86a9551dcb
* some beginning
2000-03-19 18:46:50 +00:00
florian
fa207becc1
* not(b) if b is a register variable, didn't work, fixed
2000-03-19 15:20:22 +00:00
florian
9376275364
* bug #873 fixed
...
* some cleanup in objectdec
2000-03-19 14:56:38 +00:00
florian
9f57527c98
* crash when using exception classes without sysutils unit fixed
2000-03-19 14:17:05 +00:00
peter
03dcba2fda
* fixed temp ansi handling within array constructor
2000-03-19 11:55:08 +00:00
peter
797267fde1
* protected member check for classes works
2000-03-19 11:22:21 +00:00
peter
98a50970e7
* check for unknown id in on exception
2000-03-19 11:16:44 +00:00
peter
ffab53c30f
* tp7 fix
2000-03-19 08:17:36 +00:00
peter
c7cd8edaf2
* small order change for array of const which allows better optimization
2000-03-19 08:14:17 +00:00
Jonas Maebe
90bc5eb4be
+ added $maxfpuregisters 0 for compile() procedure
2000-03-18 15:05:33 +00:00
Jonas Maebe
ec01188f97
* moved a $maxfpuregisters directive a bit up because it was being
...
ignored
2000-03-18 15:01:19 +00:00
pierre
0f4e1e10e0
* fix for bug #807
2000-03-16 16:41:11 +00:00
pierre
080a34ce07
* avoid wrong ungetpersistanttemp
2000-03-16 15:18:13 +00:00
pierre
e0cc4f9bed
+ oppower
2000-03-16 15:13:03 +00:00
pierre
977081b2d7
assembler method code does not need ebp framepointer
2000-03-16 15:12:06 +00:00
pierre
33cc2a0a35
* correct the fixups for inlined assembler code
2000-03-16 15:10:25 +00:00
daniel
a511be87c4
* Changed names of procedures flags
...
* Changed VMT generation
2000-03-16 12:52:47 +00:00
florian
2d0b954c56
* disk full runerror writes now a nice message
2000-03-16 10:29:06 +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
pierre
cadf4cc024
* destructor can have args in TP mode only (bug825 and 839)
2000-03-14 16:37:25 +00:00
pierre
e95573a025
+ lineinfo for win32 with debug
2000-03-14 16:30:14 +00:00
pierre
34795ccd60
* - 1**4 = -1 fix
2000-03-14 15:50:19 +00:00
pierre
70263e1c6d
* fix for bug #866
2000-03-14 15:05:18 +00:00
pierre
031c0b22a3
* DebuggerValue moved to fpsymbol unit
2000-03-14 15:04:19 +00:00
peter
9f1695f700
* ^m support also after a string
2000-03-13 21:21:57 +00:00
pierre
3527bd4fd0
* X was not found in TSortedSymbolCollection.LookUp
2000-03-13 20:28:12 +00:00
michael
34c8f49271
+ Added switch to swicth on assertions.
2000-03-13 20:15:08 +00:00
michael
26c924229c
+ Added switch to swicth on assertions.
2000-03-13 20:06:59 +00:00
florian
60058ae960
* very small change to scanner ...
2000-03-12 17:53:16 +00:00
daniel
c02ecc3513
* Made check for message file TP compilable.
2000-03-12 08:24:45 +00:00
daniel
e72ff5f936
* Modification for new symtable
2000-03-12 08:24:03 +00:00
daniel
59cfa402c9
* Ported hcgdata to new symtable.
...
* Alignment code changed as suggested by Peter
+ Usage of my is operator replacement, is_object
2000-03-11 21:11:24 +00:00
pierre
8e3de2ef1c
* generate allways symbol for stabs
2000-03-10 16:05:57 +00:00
pierre
7045afb894
* check that symbol is in object
2000-03-10 16:05:28 +00:00
pierre
24353efcb7
* rva relocation bug fixed
2000-03-10 09:15:54 +00:00
pierre
38ec9c22bb
* dlltool is also needed if we use DefFile
2000-03-10 09:14:40 +00:00
florian
e31020b12c
* initial release derieved from the ALPHA cpubase.pas, the
...
file still contains some ALPHA stuff
2000-03-09 20:28:00 +00:00
pierre
dd89e25cb2
* fix for the stab section size changes with smartlinking
2000-03-09 14:29:47 +00:00
pierre
a84bd72dde
* fix a problem with smartlink and stabs
2000-03-09 10:07:18 +00:00
daniel
97a5b84098
+ Added align_from_size function as suggested by Peter.
2000-03-08 15:39:45 +00:00
pierre
fadf943935
* more fixes for TSymbol
2000-03-08 12:25:29 +00:00
pierre
f05d1bb02d
* Tsymbol and Ancestor fixes
2000-03-07 21:55:59 +00:00
peter
b02f4452ff
* better error pos for overridden error
2000-03-06 15:57:42 +00:00
daniel
e08b17c010
* Removed a comment to fix gtk.
2000-03-02 13:12:37 +00:00
pierre
1606fbbef1
* fix for bug #848
2000-03-02 11:48:31 +00:00
carl
94e71486a7
+ More information and suggestions
2000-03-02 03:22:16 +00:00
peter
3df7f51b0a
* message files are check for amount of msgs found. If not correct a
...
line is written to stdout and switched to internal messages
2000-03-01 22:29:18 +00:00
peter
2af3a9059e
* lowercase .INC -> .inc
2000-03-01 21:45:42 +00:00
florian
9573dc7006
* some new stuff for the new cg
2000-03-01 15:36:11 +00:00
pierre
51443d110f
* fix for bug #840
2000-03-01 13:56:31 +00:00
pierre
16814c48ab
* fix for bug #859
2000-03-01 13:20:33 +00:00
pierre
fe57fa3993
* fix for bug #855
2000-03-01 12:35:44 +00:00
daniel
145a9c682f
* Some more work on the new symtable.
...
+ Symtable stack unit 'symstack' added.
2000-03-01 11:43:55 +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
pierre
35d59eeb52
Use $GOTO ON
2000-02-29 23:59:47 +00:00
pierre
13d1fb7192
Use $GOTO ON
2000-02-29 23:57:36 +00:00
pierre
4a5e85e38d
* write source line again for inline procs
2000-02-29 23:56:49 +00:00
pierre
babef0ad6d
+ InlineStat and InlineEnd amrker added
2000-02-29 23:55:53 +00:00
pierre
6bad578fb6
* first bug with ORDERSOURCES corrected :(
2000-02-29 22:32:13 +00:00
pierre
431941d1ec
+ use $GOTO ON
2000-02-29 22:13:41 +00:00
pierre
97417dcf26
* ORDERSOURCES released
2000-02-29 21:58:31 +00:00
daniel
7ebb3f07ae
* Modified "not aktpackrecords" as suggested by Jonas.
2000-02-28 17:40:15 +00:00
daniel
fb1a842118
* Current work of symtable integration committed. The symtable can be
...
activated by defining 'newst', but doesn't compile yet. Changes in type
checking and oop are completed. What is left is to write a new
symtablestack and adapt the parser to use it.
2000-02-28 17:23:56 +00:00
peter
9d5429188c
* check for ld-so.2.0.* then no glibc21 is used, else glibc21 is used
2000-02-27 14:46:04 +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
peter
2ba0ebe607
* removed warnings/notes
2000-02-24 18:41:38 +00:00
peter
bcabe43e0a
* moved to new/
2000-02-24 18:40:42 +00:00
peter
d99fb799b3
* updated with updates from old compiler dir
2000-02-24 18:39:56 +00:00
florian
bd5719a93e
+ the expr for names and indizies of exports sections support now
...
every type of expressions which evalute to a constant
2000-02-23 23:06:39 +00:00
florian
642bf91b4c
* fixed 819
2000-02-21 22:17:49 +00:00
michael
825ef57c11
Committed for Florian.
2000-02-21 08:45:26 +00:00
marco
8c8160bf0b
* Put some call under Ifdef GDB, so that compiling without -dGDB works
2000-02-20 21:20:28 +00:00
florian
df41d1395c
* newcg is compiling
...
* fixed the dup id problem reported by Paul Y.
2000-02-20 20:49:45 +00:00
Jonas Maebe
eff6322048
* translated assembler reader messages + some corrections
2000-02-20 14:51:53 +00:00
Jonas Maebe
fb5ac39a26
* fixed bug in -dnewoptizations (showed itself only if -Or was
...
used as well I think)
2000-02-19 13:50:29 +00:00
florian
8839b14aa6
* fixed one more internalerror 10
2000-02-19 10:12:47 +00:00
pierre
fa3766d893
* avoid LeText if no stabs info
2000-02-18 21:54:07 +00:00
florian
904bfac5b9
* fixed a bug in int64/qword handling was a quite ugly one
2000-02-18 21:25:48 +00:00
pierre
c6a47280b9
* fixes a stabs problem for functions
...
+ includes a stabs local var for with statements
the name is with in lowercase followed by an index
for nested with.
+ Withdebuglist added because the stabs declarations of local
var are postponed to end of function.
2000-02-18 20:53:14 +00:00
florian
190ba4c78c
* optimized ansistring compare with ''
...
* fixed 852
2000-02-18 16:13:28 +00:00
Jonas Maebe
374a30f3e6
* fixed crash when using undeclared variable in ord construct
2000-02-18 13:52:38 +00:00
pierre
f7ab5d514b
DEBUG implies NOCATCH for go32v2
2000-02-18 12:34:43 +00:00
pierre
b3a9e650f2
* Reset file name to empty at end of code section
2000-02-18 12:31:07 +00:00
Jonas Maebe
1571d1666b
* fixed crashing bug when trying to write an undefined fp var with
...
formatting parameters
2000-02-17 15:39:29 +00:00
florian
dfe879d12e
* some updates for the newcg
2000-02-17 14:53:42 +00:00
florian
2449cd4148
* updated to use old firstpass
2000-02-17 14:48:36 +00:00
Jonas Maebe
aafacbb44b
* -dreplacereg no logner tries to optimize "movl %reg1,%reg1" (which are
...
always marked as CanBeRemoved)
+ some comments in -dreplacereg code
* small fix which could cause crash when optimizer is compiler with -dTP
2000-02-17 07:46:49 +00:00
florian
b2efa0f338
* disable FIXED data type per default
2000-02-15 14:36:45 +00:00
florian
85b946e6d4
* fixed another internalerror
2000-02-14 22:34:28 +00:00
marco
c23e9edb97
* Basic structures for new sethandling implemented.
2000-02-14 20:58:43 +00:00
florian
2b186c7222
* fixed set problem s:=[<word>];
2000-02-14 18:12:50 +00:00
florian
2f623caf67
* fixed an internalerror with writeln
...
* fixed arrayconstructor_to_set to force the generation of better code
and added a more strict type checking
2000-02-13 22:46:27 +00:00
Jonas Maebe
0ab87d5ed8
* modifications to make the compiler functional when compiled with
...
-Or
2000-02-13 14:21:50 +00:00
carl
938b005d15
* bugfixes in tokens using TP conditional
2000-02-12 23:53:18 +00:00
Jonas Maebe
958d6dacef
* fix for imul optimization in popt386 (exclude top_ref as first
...
argument)
* in csopt386: change "mov reg1,reg2; <several operations on reg2>;
mov reg2,reg1" to "<several operations on reg1>" (-dnewopt...)
2000-02-12 19:28:56 +00:00
Jonas Maebe
0cbad4fe45
+ change "mov reg1,reg2;imul x,reg2" to "imul x,reg1,reg2" in popt386
...
(-dnewoptimizations)
* shl(d) and shr(d) are considered to have a hardcoded register if
they use cl as shift count (since you can't replace them with
another register) in csopt386 (also for -dnewoptimizations)
2000-02-12 14:10:14 +00:00
Jonas Maebe
bee612f94a
* fixed edi allocation in allocRegBetween
...
* fixed bug I introduced yesterday, added comment to prevent it from
happening again in the future
2000-02-12 10:54:18 +00:00
Jonas Maebe
674a208dbf
+ {$asmmode att} for people with -Rintel in their ppc386.cfg
2000-02-11 23:59:35 +00:00
Jonas Maebe
89abe234d9
* fixed crashing bug under Dos with -dnewoptimizations (found it,
...
John!). Don't understand why it didn't crash under Linux :(
2000-02-11 23:50:03 +00:00
michael
99cdd6795a
Latest changes from Michail Baikov
2000-02-11 16:33:37 +00:00
pierre
12d4917565
* avoid stack overflow in tref.done (bug 846)
2000-02-11 13:53:49 +00:00
florian
05e486a068
* big update for exception handling code generation: possible mem holes
...
fixed, break/continue/exit should work always now as expected
2000-02-10 23:44:42 +00:00
Jonas Maebe
9e85007190
* fixed stupid typo!
2000-02-10 16:04:43 +00:00
peter
3385467467
* dont' check for ppl files as they aren't used atm.
2000-02-10 16:00:23 +00:00
Jonas Maebe
e558713f0c
* fixed small bug introduced with my previous fix
2000-02-10 15:07:41 +00:00
Jonas Maebe
8a40388de3
* fixed bug due to lack of support for top_symbol operands
2000-02-10 14:57:13 +00:00
peter
5aec5872b6
* addpath fixed with list of paths when inserting at the beginning
...
* if exepath=currentdir then it's not inserted in path list
* searchpaths in ppc386.cfg are now added at the beginning of the
list instead of at the end. (commandline is not changed)
* check paths before inserting in list
2000-02-10 11:45:48 +00:00
Jonas Maebe
88652eee6b
* esi is never deallocated anymore in methods
2000-02-10 11:27:18 +00:00
Jonas Maebe
7ff7b4c2c3
* added regallocs for esi
2000-02-09 18:08:33 +00:00
Jonas Maebe
95f2c6f732
* added missing regalloc for ecx in range check code
2000-02-09 17:36:10 +00:00
peter
a2318ce5ec
* regenerated
2000-02-09 14:29:22 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +00:00
peter
c93f83e22e
* usage shows yyyy-mm-dd
2000-02-09 13:08:27 +00:00
peter
1612077d8d
* -Xt option to link staticly against c libs
2000-02-09 10:35:48 +00:00
peter
119ebd56c6
* reset section back to code after localdata
2000-02-08 13:55:13 +00:00
peter
fe4d62cf91
* ppuclean target, which is used by for the ide compiling so a new
...
generated ppc386.exe can still be used as compiler
2000-02-08 00:10:53 +00:00
peter
2eb25f4422
* regenerated
2000-02-08 00:09:21 +00:00
peter
55537f904c
* quick hack for fnstsww which is not supported under linux as
2000-02-07 17:51:20 +00:00
peter
85087cf8c2
* -gl option added
2000-02-07 12:19:26 +00:00
michael
af462205ba
+ Changed bash to sh
2000-02-07 11:52:26 +00:00
peter
f0efb42197
* -gl switch for auto lineinfo including
2000-02-06 17:20:52 +00:00
florian
f6f3a1a039
*** empty log message ***
2000-02-06 17:17:03 +00:00
peter
00cd43e466
* refer to prog manual instead of cws
2000-02-06 13:00:05 +00:00
florian
7ab03a6efc
* for some strange reasons my fix regarding register variable
...
allocation was lost
2000-02-05 15:57:58 +00:00
florian
a44fb4a474
* fixed init table generation for classes and arrays
2000-02-05 14:33:32 +00:00
peter
7304829f53
* property check for assigning fixed for calln
2000-02-05 12:11:50 +00:00
florian
1081fc6d3b
* some (small) problems with register saving fixed
2000-02-04 21:00:31 +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
pierre
9572b14dea
+ add pseudo local var parent_ebp for local procs
2000-02-04 14:29:57 +00:00
Jonas Maebe
245975562b
* fpuloadstore optimizations are now done before and after the CSE
2000-02-04 13:53:04 +00:00
Jonas Maebe
4e361ef71f
* better support for regvars (still needs a move of the call to the optimize
...
procedure to a place where resetusableregisters is not yet called to work)
* small regallocation fixes for -dnewoptimizations
2000-02-04 13:52:17 +00:00
florian
26fc3fb886
* better register variable allocation in -Or mode
2000-02-04 08:47:10 +00:00
peter
c06f082765
* fixed smartlinking
2000-02-03 23:01:45 +00:00
peter
521b0a2672
* cargs must also increase pushedparasize else it won't be 'popped'
2000-02-01 12:54:20 +00:00
peter
49365d74ba
* is_voidpointer
2000-02-01 09:44:03 +00:00
peter
6e93fdbae0
* allow funcret also as counter variable
2000-02-01 09:43:22 +00:00
peter
f387340dbc
* allow class -> voidpointer for delphi mode
2000-02-01 09:41:27 +00:00
peter
4d0c25c096
* fixed default unit location for linux when fpcdir was not set
2000-01-31 15:55:42 +00:00
peter
bf32e168f9
* fixed dup rtti writing for classes
2000-01-30 23:29:06 +00:00
peter
706e0c4417
* fixed filepos when eof is read, it'll now stay on the eof position
2000-01-30 19:28:25 +00:00
florian
997ddf88f9
* virtual XXXX; support for objects, only if -dWITHDMT is defined
2000-01-28 23:17:53 +00:00
michael
88711c2e7f
+ Changed patch number to 15
2000-01-28 20:47:26 +00:00
Jonas Maebe
38b993f7dc
* moved skipinstr from daopt386 to aasm
...
* fixed crashing bug with -dreplacereg in csopt386.pas
2000-01-28 15:15:31 +00:00
peter
dfca2834a9
* regenerated
2000-01-28 12:17:02 +00:00
peter
14170d7d11
* install now doesn't install symlink anymore
...
* symlink is installed by installsym
2000-01-28 12:13:38 +00:00
peter
51f8c5a754
* lineifno
2000-01-28 11:24:46 +00:00
florian
f27b77e491
*** empty log message ***
2000-01-28 10:37:08 +00:00
peter
80e64da3df
* fixed fpu suffix parsing for att reader
2000-01-28 09:41:39 +00:00
florian
ce0f32a21e
* bug #738 fixed
2000-01-27 16:31:40 +00:00
florian
567966baad
* slighly improved code for -<qword> and -<int64>
2000-01-27 15:46:00 +00:00
peter
e7ce987525
* version 0.99.14
2000-01-27 11:29:15 +00:00
peter
0d63b79f38
* helpscreen updates
2000-01-27 09:58:59 +00:00
peter
16bcf1dd2c
* regenerated
2000-01-26 21:19:49 +00:00
peter
298677e4aa
* fixed pop_size included twice with clearstack
2000-01-26 15:03:59 +00:00
marco
4b25d85637
* $VERSION is now also substituted in -F paths (that have subst active)
2000-01-26 14:31:03 +00:00
peter
62df907953
* abstractprocdef.para_size needs alignment parameter
...
* secondcallparan gets para_alignment size instead of dword_align
2000-01-26 12:02:29 +00:00
peter
0750e58848
* unexport FPC_VERSION
...
* regenerate so RELEASE=1 doesn't set optimzier for 0.99.12
2000-01-25 13:51:41 +00:00
pierre
da01d99789
* Range check for int64 produces a warning only
2000-01-25 08:46:03 +00:00
florian
26f38e15e3
* internalerror 10 for inlined math functions fixed
2000-01-24 20:11:10 +00:00
florian
b2098c4de5
* some improvemenst to cmov support
...
* disabled excpetion frame generation in cosntructors temporarily
2000-01-24 12:17:22 +00:00
florian
332c7a568f
* CMOV support in optimizer (in define USECMOV)
...
+ start of support of exceptions in constructors
2000-01-23 21:29:14 +00:00
peter
588b4489cc
* fixed missing push esi for constructor calling
2000-01-23 18:50:07 +00:00
sg
de3a50306d
* Fixed typo in line 1375 ("fpidr" instead of "fpcdir")
2000-01-23 18:20:50 +00:00
peter
39faeb7440
* better auto RTL dir detection
2000-01-23 16:36:37 +00:00
peter
8abfec4e7c
* localbrowser loading of absolute fixed. It needed a symtablestack
...
which was not setup correctly
2000-01-23 16:35:31 +00:00
peter
f16647ede6
* fixed destructor parsing with preprocessor things
...
* support dipsoe(p,done())
* fixed constructor message with dispose(p,<nonexist>)
2000-01-23 16:33:49 +00:00
peter
4216d26c2f
* fixed wrong freemem size when loading message file
2000-01-23 16:32:08 +00:00
peter
058d4018a1
* fixed uninited asmsymbol.typ var
2000-01-23 16:31:38 +00:00
Jonas Maebe
04d18a2964
* fixed bug introduced by my regalloc fixed :(
2000-01-23 13:57:52 +00:00
florian
0138d666de
* changed address for bugs/sugegstions etc to bugrep@freepascal.org
2000-01-23 12:24:48 +00:00
michael
587a967353
+ Fixes from Jonas.
2000-01-23 11:11:36 +00:00
Jonas Maebe
02381105d6
+ all code generator generated "mov reg1,reg2" instructions are now
...
attempted to be removed using the replacereg code
(-dnewoptimizations)
* small fixes to -dreplacereg code
2000-01-22 16:10:06 +00:00
Jonas Maebe
b15a98cfa4
* better handling of exit(func_result) (no release of register that
...
holds the function result added)
* several other small improvements for reg allocation fixes
2000-01-22 16:08:06 +00:00
Jonas Maebe
d6bcb83f95
+ change "lea x(reg),reg" to "add x,reg" (-dnewoptimizations)
...
* detection whether edi is used after instructions (since regalloc
info for it is now available)
* better regUsedAfterInstruction function
2000-01-22 16:05:15 +00:00
Jonas Maebe
a961e10de2
* fixed more regalloc bugs (for set adding and unsigned
...
multiplication)
2000-01-22 16:02:37 +00:00
Jonas Maebe
e5af12b684
* forgot to commit a procedure for -dlogsecondpass the last time
2000-01-22 15:58:12 +00:00
florian
98abf80f1f
* updated German message file
2000-01-22 15:16:04 +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
Jonas Maebe
60d858c278
* regallocation fixes
2000-01-21 12:17:41 +00:00
Jonas Maebe
9c59eb8a12
+ add info on entry/exit of secondpass procedure in assembler files, between
...
-dlogsecondpass
2000-01-21 12:16:53 +00:00
pierre
86058ed342
* bug fix for bug #802
2000-01-21 11:26:19 +00:00
daniel
2bf0189e2e
* should work on linux also
2000-01-21 10:10:25 +00:00
peter
b4f654100d
* ifdef'd my previous fix as it broken a make cycle sometimes
2000-01-21 00:46:47 +00:00
peter
c6c6c51c9d
* fixed fldl where suffix would get S_L instead of S_FL
2000-01-20 23:35:01 +00:00
pierre
1eb30ec4e8
* bug #801 fixed
2000-01-20 12:29:02 +00:00
florian
9836bd406b
* bug #793 fixed
2000-01-20 12:14:47 +00:00
daniel
4ad408eab3
* also support ; comments in cfg file
2000-01-20 10:36:44 +00:00
pierre
627683b64d
* StoreBrowserCol changed to boolean function
2000-01-20 00:24:06 +00:00
pierre
08cb7daa9f
* fix for GetShortName, now checks results from Win32
2000-01-20 00:23:03 +00:00
pierre
c449017899
* avoid startsec=sec_none
2000-01-20 00:21:49 +00:00
florian
c463447714
* empty records/objects would generate static data of size 0 which is optimized away, tai_datablock
...
checks now the size and sets it to a value > 0
2000-01-19 22:53:57 +00:00
florian
6c3bbb7915
* corrected wrong error message of a member of a class/object/classref wasn't found
2000-01-19 22:41:58 +00:00
peter
61e04d8e80
* regenerated
2000-01-18 20:58:37 +00:00
peter
206ae47ad5
* regenerate for win32 fix
2000-01-18 00:25:15 +00:00
peter
a58242957b
* fixed interpret_envvar whcih crashed when the envvar was not set
...
* also warn if the envvar is empty (=not set)
2000-01-17 22:50:28 +00:00
peter
c888816ce9
* use env var again for win32
2000-01-16 22:24:19 +00:00
peter
25dda03cdc
* renamed call_offset to para_offset
2000-01-16 22:17:11 +00:00
Jonas Maebe
094d7d1829
* changed "with object_type" construct because of bug in the
...
compiler
2000-01-16 14:15:33 +00:00
pierre
72cc83f234
+ parsecmd supports "filename with spaces" for IDE
2000-01-14 15:33:15 +00:00
pierre
68e4d27435
* use ./ instead of . to look into startup dir
2000-01-14 14:40:37 +00:00
pierre
99d8f90aec
+ some warnings for wrong lines inside config files
2000-01-14 14:33:53 +00:00
pierre
170d305b21
* avoid searching of include file in start dir first
2000-01-14 14:28:40 +00:00
peter
23daf4bcac
* version 0.99.14
2000-01-14 13:05:54 +00:00
peter
aadec7d674
* package generation fixes
2000-01-14 12:16:40 +00:00
peter
ffaf1b5adc
* regenerated
2000-01-13 21:15:26 +00:00
peter
6b31a47ad8
* updates for new fpcmake features
2000-01-13 21:11:30 +00:00
Jonas Maebe
04a3db19c2
* moved deallocation of registers used in reference that points to string after
...
copyshortstring (this routine doesn't require extra regs)
2000-01-13 16:52:47 +00:00