Commit Graph

2813 Commits

Author SHA1 Message Date
peter
8f20bd887d * ELF writer works now also with -g
* ELF writer is default again for linux
2000-08-12 19:14:58 +00:00
peter
bd6d4c3d17 * fixed bug #1096 (merged) 2000-08-12 15:41:15 +00:00
peter
cdbe6a1fa3 + usedasmsymbollist to check and reset only the used symbols (merged) 2000-08-12 15:34:21 +00:00
peter
2c58f511b0 * reference reading fix from Jonas (merged) 2000-08-12 15:32:02 +00:00
peter
fac523d7f6 * IDE patch for stream reading (merged) 2000-08-12 15:30:44 +00:00
florian
cd6180fe99 + case statement for int64/qword implemented 2000-08-12 06:46:06 +00:00
florian
797102a0a1 + type TConstExprInt added 2000-08-12 06:45:08 +00:00
peter
1bb6c695e7 * fixed for constants in emit_push_mem_size for go32v2 (merged) 2000-08-10 18:42:03 +00:00
Jonas Maebe
2a801fcd04 * reallocmem is now also used under Delphi (merged from fixes branch) 2000-08-10 12:20:44 +00:00
peter
b13477c647 * packenumfixed things so it compiles with 1.0.0 again 2000-08-09 19:49:44 +00:00
Jonas Maebe
a5993b9f61 * tidexarray and tdynamicarray now use reallocmem() under FPC for
growing (merged from fixes branch)
2000-08-09 12:09:45 +00:00
Jonas Maebe
77d566f4fc * fixed bug1093 and other string -> chararray conversion bugs
(merged from fixes branch)
2000-08-09 11:30:21 +00:00
peter
43f82ba0ff * memdebug/memory patches (merged)
* only once illegal directive (merged)
2000-08-08 19:28:57 +00:00
peter
b2a4233525 * equal_constsym() needed for default para 2000-08-08 19:26:41 +00:00
peter
beefc6ac92 * crash fix for default para when all parameters were omitted 2000-08-08 19:23:28 +00:00
Jonas Maebe
cca5461149 * fixed bug in type conversions between enum subranges (it didn't take
the packenum directive into account)
  + define PACKENUMFIXED symbol in options.pas
   (merged from fixes branch)
2000-08-07 11:31:04 +00:00
Jonas Maebe
ede6479557 + emit_push_mem_size() which pushes a value in memory of a certain size
* pushsetelement() and pushvaluepara() use this new procedure, because
    otherwise they could sometimes try to push data past the end of the
    heap, causing a crash
   (merged from fixes branch)
2000-08-07 11:29:40 +00:00
peter
deb46cc56f * removed note 2000-08-06 19:42:40 +00:00
peter
658a1f4fcd * default parameters working ! 2000-08-06 19:39:28 +00:00
peter
95253a2759 * overload fixes (merged) 2000-08-06 14:17:15 +00:00
peter
ec3f05fe39 * merged patches name generation in lib and asm constant eval 2000-08-06 10:42:29 +00:00
peter
195bc075eb * $ifdef go32v2 -> target_info.target=go32v2 2000-08-05 13:33:08 +00:00
peter
2c86bfd561 * fixed build prob without support_mmx 2000-08-05 13:32:39 +00:00
peter
e955ac6135 * packenum 1 fixes (merged) 2000-08-05 13:25:06 +00:00
Jonas Maebe
5efdcfc3a5 * readded l1 variable (between ifdef go32v2 to avoid hints/notes) 2000-08-05 10:35:51 +00:00
Jonas Maebe
83eeb7b9f7 * added missing register deallocation (could cause IE10 i some cases)
(merged from fixes branch)
2000-08-05 09:57:27 +00:00
peter
4549ef44e1 * merges from fixes 2000-08-04 22:00:50 +00:00
Jonas Maebe
5d7597c09f * improved detection of range of instructions which use a register
(merged from fixes branch)
2000-08-04 20:08:03 +00:00
Jonas Maebe
debe8d1498 * correct version (I also had a regvars.pp locally, which was used
instead of the regvars.pas on CVS, so I didn't notice the errors :( )
2000-08-04 05:52:00 +00:00
Jonas Maebe
1d8195c247 * forgot to commit :( (part of regvar changes) 2000-08-04 05:09:49 +00:00
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