Jonas Maebe
999162e78d
* fixed inserting of allocated register for regvars (only those for
...
parameters were done, and sometimes even the wrong ones)
2000-08-03 14:36:47 +00:00
Jonas Maebe
41f84e639c
* save/reset/restore regvar info around inlined code
2000-08-03 14:27:04 +00:00
Jonas Maebe
c999d3b17d
+ allow regvars to be used inside inlined procs, which required the
...
following changes:
+ load regvars in genentrycode/free them in genexitcode (cgai386)
* moved all regvar related code to new regvars unit
+ added pregvarinfo type to hcodegen
+ added regvarinfo field to tprocinfo (symdef/symdefh)
* deallocate the regvars of the caller in secondprocinline before
inlining the called procedure and reallocate them afterwards
2000-08-03 13:17:25 +00:00
Jonas Maebe
ac16977232
- disable regvars for inlined procedures (merged from fixes branch)
2000-08-03 11:15:42 +00:00
peter
227e983397
* first things for default parameters
2000-08-02 19:49:58 +00:00
Jonas Maebe
7ef99ada12
* fixed web bug1087
...
* allocate R_ECX explicitely if it's used
(merged from fixes branch)
2000-08-02 08:05:04 +00:00
Jonas Maebe
8e76008e98
- undid my changes from the previous two commits because it was a bug
...
in cg386cnv which I've now fixed (previous changes only masked it in
some cases) (merged from fixes branch)
2000-08-02 07:20:32 +00:00
Jonas Maebe
89f0a308a2
* fixed ie(10) when using -Or and shortstring -> ansistring conversions
...
(or when using a lot of ss -> as conversions in one statement, the
source was freed only *after* pushusedregisters($ff), which means its
registers were reallocated when popusedregisters was called) (merged
from fixes branch)
2000-08-02 07:05:32 +00:00
Jonas Maebe
a0d91b1b85
* fixed crash when an undeclared identifier is used in a raise statement
...
(merged from fixes branch)
2000-08-02 07:04:56 +00:00
Jonas Maebe
fcaa820523
* fixed crash when passing undeclared identifiers to str() (merged from
...
fixes branch)
2000-08-01 14:07:49 +00:00
Jonas Maebe
d88607d154
* refined my previous IE(10) fix (in some cases, too many registers could
...
be reserved) (merged from fixes branch)
2000-08-01 10:41:35 +00:00
Jonas Maebe
d446128ceb
- removed imul support from -dfoldarithops since "imull [reg32],[mem32]"
...
doesn't exist (merged from fixes branch)
2000-07-31 08:44:05 +00:00
peter
c5da6c53fd
* merged fixes
2000-07-30 17:04:43 +00:00
sg
cca5f1fadc
* Fixed translation for sym_w_function_result_not_set
2000-07-29 22:19:53 +00:00
sg
c09b31bef5
* Applied patch by Markus Kaemmerer which removes a tiny memory leak
...
for the generation of code for in_[sin|cos]_extended code
(a label has been created but never used afterwards)
2000-07-29 18:27:53 +00:00
Jonas Maebe
df9e505622
* fixed bug in shr/shl optimization when -Og is used (merged from fixes
...
branch)
2000-07-28 13:56:23 +00:00
Jonas Maebe
e1226b074f
* fixed bug in secondshlshr where ecx was released too soon in some
...
cases causing a combination of -Or and -dnewoptimizations to generate
wrong code
(merged from fixes branch and since in 1.1 -dnewoptimizations has
been released, it always generated wrong code here when using -O2 or
higher)
2000-07-28 13:28:25 +00:00
Jonas Maebe
48404492e3
* fixed web bug1073 (merged from fixes branch)
2000-07-28 09:09:10 +00:00
Jonas Maebe
ba86afd3b0
* refined previous fix (sometimes the number of necessary registers was
...
overestimated) (merged from fixes branch)
2000-07-28 07:38:13 +00:00
Jonas Maebe
f2123cbcc1
* release alignopts
2000-07-27 13:03:35 +00:00
Jonas Maebe
2183d3142f
* fixed internalerror(10) when using -Or and complex arrays (merged
...
from fixes branch)
2000-07-27 12:41:54 +00:00
Jonas Maebe
0f7ae1718e
* moved locflags2reg() procedure from cg386add to cgai386
...
+ added locjump2reg() procedure to cgai386
* fixed internalerror(2002) when the result of a case expression has
LOC_JUMP
(all merged from fixes branch)
2000-07-27 09:25:05 +00:00
Jonas Maebe
2fc7533375
* removed obsolete typeconversion (it got removed by the compiler in
...
firsttypeconv anyway) (merged from fixes branch)
2000-07-27 09:19:37 +00:00
Jonas Maebe
cb8d634547
* merged from fixes branch (v_hint to v_tried changed when attempting
...
to smart/static/shared link)
2000-07-26 13:08:19 +00:00
Jonas Maebe
3b4a3a2cee
* several FPU instructions weren't marked as reading operand one (like
...
FADD and FSUB)
2000-07-26 12:25:33 +00:00
sg
069a3ae31d
* Added WideChar support to inlined 'ord' function
2000-07-22 11:53:26 +00:00
Jonas Maebe
ce46621762
* daopt386: changes to getnextinstruction/getlastinstruction so they
...
ignore labels who have is_addr set
+ daopt386/csopt386: remove loads of registers which are overwritten
before their contents are used (especially usefull for removing superfluous
maybe_loadesi outputs and push/pops transformed by below optimization
+ popt386: transform pop/pop/pop/.../push/push/push to sequences of
'movl x(%esp),%reg' (only active when compiling a go32v2 compiler
currently because I don't know whether it's safe to do this under Win32/
Linux (because of problems we had when using esp as frame pointer on
those os'es)
2000-07-21 15:19:54 +00:00
Jonas Maebe
67ac676004
+ added is_addr field for labels, if they are only used for getting the address
...
(e.g. for io checks) and corresponding getaddrlabel() procedure
2000-07-21 15:14:01 +00:00
Jonas Maebe
3da775621a
* merged from fixes branch
2000-07-21 09:29:43 +00:00
Jonas Maebe
3919baefe8
* merged from fixes branch
2000-07-21 09:23:47 +00:00
michael
d63d102d25
* Back to external assembler till peter fixes gdb
2000-07-14 21:29:38 +00:00
michael
1d541f4095
+ Adapted wordversion
2000-07-14 05:14:10 +00:00
michael
2949824a69
+ Patch to 1.1
2000-07-14 05:11:48 +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
b6bc1d480f
* fix wordversion
2000-07-10 09:17:27 +00:00
Jonas Maebe
79e58b655c
* real fix for web bug #1032 (removed previous coment since it was false)
2000-07-10 08:00:22 +00:00
Jonas Maebe
f42e4f21b4
* fixed web bug #1032
2000-07-10 07:14:41 +00:00
peter
eea4c2eab3
* fixed some more texts
2000-07-09 17:40:41 +00:00
peter
5957cff999
* escape $ with \$
2000-07-09 17:39:05 +00:00
peter
bc377c69ce
* fixed some tex texts
2000-07-09 17:02:29 +00:00
peter
915b7c4373
* replace only $ with arg if next char is a number
2000-07-09 17:01:26 +00:00
peter
a1b92237f5
* fixed tex writign
2000-07-09 16:30:59 +00:00
peter
c88f79c92c
* renamed to lowercase
2000-07-09 10:40:12 +00:00
peter
1d06b07e42
* version_string is now a function so it returns 1.00 instead of 1.00.0
2000-07-09 09:34:50 +00:00
peter
b9e5501ba7
* findobjectfile gets extra arg with directory where the unit is found
...
and the .o should be looked first
2000-07-08 20:43:37 +00:00
peter
289e5d6567
* undid my previous commit, because it breaks some code
2000-07-08 18:03:11 +00:00
peter
e2c8882843
* also support string parsing in skipuntildirective for fpc modes
2000-07-08 16:22:30 +00:00
pierre
ab6fd6b3b8
* get a failure on webtbf/tbug890
2000-07-07 20:42:55 +00:00
florian
1104d83363
+ initial revision
2000-07-07 17:07:20 +00:00
florian
e2eba0de14
* the on statement has to clear the temp. gen before calling secondpass for
...
the next on statement
2000-07-06 20:43:44 +00:00
peter
12dc32b781
* version 1.00.0 so the snapshots can test with this version number
...
for a few days
2000-07-06 20:08:46 +00:00
peter
8df37e4a85
* fixed crash with objects unit and -Sd mode
2000-07-06 19:06:30 +00:00
peter
b91050ccb7
* allow in delphi mode directives without semicolons between
2000-07-06 19:04:59 +00:00
peter
f449b4beaa
* fixed function returning record type and assigning to the result
2000-07-06 18:56:58 +00:00
Jonas Maebe
eed3807af0
* moved "<flag setting operation>; test/or reg,reg" to "<flag setting
...
operation>" optimization to pass 2 because it caused problems
with -dnewoptimizations
2000-07-06 12:30:31 +00:00
michael
89c01a785a
+ Initial implementation by Michail Baikov
2000-07-06 06:09:10 +00:00
pierre
8455b67858
+ Register TModuleSymbol
2000-07-05 21:20:48 +00:00
florian
3d7d2eb25d
* virtual contructors weren't handled properly if they were called via a class
...
variable
2000-07-05 20:39:55 +00:00
florian
26643d4e16
* fixed my previous commit :/
2000-07-05 20:29:16 +00:00
florian
a989d18fc2
* fixed fpuvaroffset calculation in read statements
2000-07-05 20:19:47 +00:00
pierre
ebc536ef52
* avoid internalerror on open arrays
2000-07-05 10:17:38 +00:00
peter
cf026bfb89
* fixed missing option_help_pages
2000-07-04 19:12:49 +00:00
peter
b13955d6d8
* be optimistic: version 1.00 for some utils
2000-07-04 19:05:53 +00:00
pierre
9290e7b641
* fix for bug #1025
2000-07-03 21:08:54 +00:00
pierre
74f131b173
* fix for bug #1023
2000-07-03 13:26:48 +00:00
pierre
d86f8c5ec8
* fix for bug #1019
2000-07-03 09:48:23 +00:00
peter
8b38902424
* exampleinstall target added
2000-07-01 23:03:18 +00:00
peter
f806e08f22
* tool to add numbering to the old error?.msg files
2000-07-01 09:52:56 +00:00
peter
757f68ec58
* fixed internalerror 2002 when case expr is not correct, by creating
...
a temp correct case expression
2000-06-30 22:15:39 +00:00
peter
5db0ddd7e9
* fix for bug #988
2000-06-30 22:12:26 +00:00
peter
40e02c89da
* fixed some getlabel to getdatalabel
2000-06-30 22:11:28 +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
Jonas Maebe
3d3d5c512a
* fixed inline bugs (calling an inlined procedure more than once didn't
...
work)
2000-06-29 13:50:30 +00:00
Jonas Maebe
aa42c1480c
* fixed copy/paste bugs in getcopy
2000-06-29 13:49:39 +00:00
michael
e55a9d2da1
+ Up to date version from Michail Baikov
2000-06-29 11:24:00 +00:00
sg
a4096f2886
* Fix for class field table writing
2000-06-29 08:42:47 +00:00
Tomas Hajny
c0a5cca16b
* little corrections for EMX resources
2000-06-28 03:34:06 +00:00
Jonas Maebe
1b29bfff5b
* fix for web bug #1011 : no exception stack stuff is generated for
...
inlined procedures, the entry/exitcode of the parent will do that
2000-06-27 12:17:29 +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
Tomas Hajny
44307fe5ba
+ $R support for OS/2 (EMX) added, little correction (marco to macro)
2000-06-25 19:28:53 +00:00
Tomas Hajny
c790e4afbe
+ $R support for OS/2 (EMX) added
2000-06-25 19:08:27 +00:00
peter
e2e7120ef7
* setdef.typename, show Empty Set if elementtype is not set
2000-06-25 09:25:29 +00:00
sg
7d33870ef8
* Updated to latest changes in errore.msg
2000-06-24 19:21:23 +00:00
pierre
36f461db33
* align all variants to same start address
2000-06-23 21:34:09 +00:00
pierre
a64310a252
+ new warning for C packed records
2000-06-23 21:33:25 +00:00
pierre
9681a28891
* alignment for record changed for C packing mostly
2000-06-23 21:32:45 +00:00
pierre
6e78b071f7
+ new target_os field: maxCstructalignment
2000-06-23 21:31:18 +00:00
peter
de1083a9ed
* reset current_object_option when reading other symtables than
...
object declarations
2000-06-23 20:14:39 +00:00
peter
507e9ed065
* made resourcecompiling object so it can be inherited and replaced
...
for other targets if needed
2000-06-23 20:11:05 +00:00
peter
8c25925349
* int64,qword rtti support
2000-06-22 20:01:57 +00:00
pierre
945ae36b63
* fix the problem of long mangledname in internal writer
2000-06-21 20:56:37 +00:00
sg
6187dc80b5
* Updated
2000-06-21 08:10:08 +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
pierre
3822fe1501
* do not create an empty export section
2000-06-20 12:44:30 +00:00
pierre
ee9d8f5248
* smart link is default on win32
2000-06-19 19:57:19 +00:00
pierre
dc05338a37
* small error fix
2000-06-19 19:56:43 +00:00
peter
724ce958af
* fixed pchar<->[string,chararray] operations
2000-06-18 19:41:19 +00:00
peter
fdb8555bdb
* fixed + record.field expressions
2000-06-18 19:09:30 +00:00
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