peter
70ff711f73
* mangledname rewrite, tprocdef.mangledname is now created dynamicly
...
in most cases and not written to the ppu
* add mangeledname_prefix() routine to generate the prefix of
manglednames depending on the current procedure, object and module
* removed static procprefix since the mangledname is now build only
on demand from tprocdef.mangledname
2002-04-19 15:46:01 +00:00
peter
86a3df0e9d
* update target_asm according to outputformat
2002-01-29 19:43:11 +00:00
peter
d2e1952377
* procsym definition rewrite
2001-11-02 22:58:00 +00:00
peter
e37dbf904d
* calling convention rewrite
2001-10-25 21:22:32 +00:00
peter
17d62feebe
* $calling directive and -Cc commandline patch added
...
from Pavel Ozerski
2001-10-23 21:49:42 +00:00
Jonas Maebe
d8c104b25d
* fixed goto/label/try bugs
2001-10-16 15:10:34 +00:00
florian
9746f4c2d6
* some cg reorganisation
...
* some PPC updates
2001-08-26 13:35:06 +00:00
peter
c4b84ce276
* m68k updates from v10 merged
2001-07-30 20:59:27 +00:00
peter
b10e754536
* alignmentinfo record added
...
* -Oa argument supports more alignment settings that can be specified
per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
required alignment and the maximum usefull alignment. The final
alignment will be choosen per variable size dependent on these
settings
2001-07-01 20:16:15 +00:00
peter
6e65cd0ee4
* support uses <unit> in <file> construction
2001-05-19 23:05:19 +00:00
peter
6c7708c1e0
* ppu object to class rewrite
...
* move ppu read and write stuff to fppu
2001-05-06 14:49:16 +00:00
peter
0c03535b5b
* registration of targets and assemblers
2001-04-18 22:01:53 +00:00
peter
5677fbe1b4
* fixed crash in labelnode
...
* easier detection of goto and label in try blocks
2001-04-15 09:48:29 +00:00
peter
fdeadeed22
* scanner object to class
2001-04-13 18:08:36 +00:00
peter
a7cf57524e
* symtable change to classes
...
* range check generation and errors fixed, make cycle DEBUG=1 works
* memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
377e4c5927
* moved preprocessfile into a conditional
2000-12-24 12:24:38 +00:00
florian
b9796f6a7f
* unused units removed from uses clause
...
* some changes for widestrings
2000-11-29 00:30:30 +00:00
peter
e0a874dc4f
* some realname updates for messages
2000-11-12 22:17:46 +00:00
florian
51527ba1c9
+ merged Attila's changes for interfaces, not tested yet
2000-11-04 14:25:19 +00:00
peter
451723647e
* symtable splitted, no real code changes
2000-10-31 22:02:46 +00:00
peter
e171f341a0
* moehrendorf oct 2000 rewrite
2000-10-14 10:14:45 +00:00
peter
38951f5ce1
* lot of compile updates for cg11
2000-10-01 19:48:23 +00:00
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +00:00
peter
4c94659743
* moved some util functions from globals,cobjects to cutils
...
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00
peter
cdbe6a1fa3
+ usedasmsymbollist to check and reset only the used symbols (merged)
2000-08-12 15:34:21 +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
peter
e882145e88
* made resourcestrings OOP so it's easier to handle it per module
2000-06-01 19:09:56 +00:00
pierre
6b012c36f4
* New bunch of Gabor changes
2000-05-29 10:04:40 +00:00
pierre
e112b16a51
* fix localswitch problem if compiling objpas
2000-05-11 06:52:37 +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
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
marco
c23e9edb97
* Basic structures for new sethandling implemented.
2000-02-14 20:58:43 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +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
6607475609
* fixed placing of .sl directories
...
* use -b again for base-file selection
* fixed group writing for linux with smartlinking
2000-01-11 09:52:06 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
florian
89ccc81c2b
+ added compiler switch $maxfpuregisters
...
+ fixed a small problem in secondvecn
2000-01-04 15:15:50 +00:00
peter
c5410eee5c
* preprocessor support. But it fails on the caret in type blocks
1999-12-02 17:34:34 +00:00
pierre
ae7a04ea12
* defaultsymtablestack is now restored after parser.compile
1999-11-24 11:41:03 +00:00
pierre
b528749138
* Notes/Hints for local syms changed to
...
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
71f8768399
* some DBX work, still does not work
1999-11-09 23:48:47 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
peter
89b677a0ee
* split type reading from pdecl to ptype unit
...
* parameter_dec routine is now used for procedure and procvars
1999-10-22 10:39:34 +00:00
florian
8b9633266b
* new codegenerator compiles again
1999-10-12 21:20:41 +00:00
peter
2d21165dd8
* removed objpasunit reference, tvarrec is now searched in systemunit
...
where it already was located
1999-10-03 19:44:41 +00:00
peter
49fcd8aceb
* forward type declaration rewritten
1999-10-01 08:02:45 +00:00
pierre
84507b72ad
+ old_compiled_module to avoid wrong file info when load PPU files
1999-09-16 08:02:39 +00:00
florian
863df30860
+ rtti is now automatically generated for published classes, i.e.
...
they are handled like an implicit property
1999-09-15 22:09:15 +00:00
pierre
5b38d71a12
* in_second_compile cleaned up, in_compile and in_second_load added
1999-08-31 15:51:10 +00:00
michael
dc3cc78caa
+ Hopefuly last fixes for resourcestrings
1999-08-26 20:24:37 +00:00
Jonas Maebe
ace7ff6983
* all tokens now start with an underscore
...
* PowerPC compiles!!
1999-08-04 13:02:40 +00:00
florian
1cf1665d73
* the alpha compiler can be compiled now
1999-08-03 17:09:34 +00:00
florian
9fd7385c65
* some changes to compile the new code generator
1999-08-01 23:36:38 +00:00
michael
f7284c4549
+ Improved resourcestring handling
1999-07-24 16:22:10 +00:00
peter
07bb58295b
* alignment is now saved in the symtable
...
* C alignment added for records
* PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
florian
35f636dea1
+ resourcestring implemented
...
+ start of longstring support
1999-07-22 09:37:28 +00:00
pierre
9242829c25
* don't generate browser if errors during compilation
1999-06-15 13:23:48 +00:00
peter
0b272f13c7
* removed oldasm
...
* plabel -> pasmlabel
* -a switches to source writing automaticly
* assembler readers OOPed
* asmsymbol automaticly external
* jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
pierre
739eb6860c
* double dispose of aktprocsym removed
1999-05-18 22:35:52 +00:00
peter
884c517b18
* release storenumber,double_checksum
1999-04-26 13:31:24 +00:00
peter
6a802e85d7
* released valintern
...
+ deffile is now removed when compiling is finished
* ^( compiles now correct
+ static directive
* shrd fixed
1999-03-26 00:05:26 +00:00
peter
d0cb5a147a
* fixed bugs 212,222,225,227,229,231,233
1999-03-24 23:16:42 +00:00
peter
c8f444b65f
* ag386bin updates
...
+ coff writer
1999-02-25 21:02:16 +00:00
peter
71107624d2
* reset c,pattern,orgpattern also at startup
1999-02-02 16:39:41 +00:00
pierre
f7732dfcee
* give include file name on error
1999-01-27 13:05:41 +00:00
florian
90d0bea35a
* first running version of the new code generator
...
* when compiling exceptions under Linux fixed
1999-01-23 23:29:31 +00:00
pierre
7ffa0f6ac0
+ currently compiled file name added on errors
1999-01-22 12:19:30 +00:00
peter
f379498229
+ BrowserLog for browser.log generation
...
+ BrowserCol for browser info in TCollections
* released all other UseBrowser
1999-01-12 14:25:24 +00:00
peter
1b369bb4bb
+ globtype,tokens,version unit splitted from globals
1998-12-11 00:02:37 +00:00
peter
2d524e51a2
* fixed placing of ppas.sh and link.res when using -FE
1998-12-01 12:51:19 +00:00
peter
0353e61e9b
* va_list -> array of const
1998-11-10 10:09:08 +00:00
pierre
1dab5a8cf0
* removed some erros after other errors (introduced by useexcept)
...
* stabs works again correctly (for how long !)
1998-10-28 18:26:12 +00:00
pierre
c4bc24c00b
+ added two level of longjump to
...
allow clean freeing of used memory on errors
1998-10-26 17:15:16 +00:00
peter
39dc89f39f
* reset_gdb_info -> reset_global_def becuase it also resets rangenr !
1998-10-16 08:50:02 +00:00
pierre
bf6369f1b5
* current_module old scanner tagged as invalid if unit is recompiled
...
+ added ppheap for better info on tracegetmem of heaptrc
(adds line column and file index)
* several memory leaks removed ith help of heaptrc !!
1998-10-08 17:17:07 +00:00
peter
47c808f95a
* fixed memory leaks for do nothing source
...
* fixed unit interdependency
1998-10-08 13:48:40 +00:00
pierre
3048845e68
* some memory leaks fixed (thanks to Peter for heaptrc !)
1998-10-06 17:16:31 +00:00
peter
4f0915d6e1
* fixed 161,165,166,167,168
1998-10-05 21:33:15 +00:00
peter
226a917014
* fixed unit interdependency with circular uses
1998-09-30 16:43:34 +00:00
pierre
a12d8c9417
* changed all length(p^.value_str^) into str_length(p)
...
to get it work with and without ansistrings
* changed sourcefiles field of tmodule to a pointer
1998-09-28 16:57:09 +00:00
peter
d4ac5e456b
+ idtoken and only one token table
1998-09-26 17:45:30 +00:00
peter
8e85a889de
+ aktmodeswitches
1998-09-24 23:49:05 +00:00
pierre
9589f619d7
* browser bugfixes
...
was adding a reference when looking for the symbol
if -bSYM_NAME was used
1998-09-23 15:38:59 +00:00
pierre
b2661d12be
+ browsing updated and developed
...
records and objects fields are also stored
1998-09-22 17:13:42 +00:00
peter
fc476492a1
* reset_gdb_info only when debuginfo is set
1998-09-21 09:00:18 +00:00
pierre
d11f7636be
+ added vmt_offset in tobjectdef.write for fututre use
...
(first steps to have objects without vmt if no virtual !!)
+ added fpu_used field for tabstractprocdef :
sets this level to 2 if the functions return with value in FPU
(is then set to correct value at parsing of implementation)
THIS MIGHT refuse some code with FPU expression too complex
that were accepted before and even in some cases
that don't overflow in fact
( like if f : float; is a forward that finally in implementation
only uses one fpu register !!)
Nevertheless I think that it will improve security on
FPU operations !!
* most other changes only for UseBrowser code
(added symtable references for record and objects)
local switch for refs to args and local of each function
(static symtable still missing)
UseBrowser still not stable and probably broken by
the definition hash array !!
1998-09-21 08:45:05 +00:00
pierre
be29a0b86d
+ improvement on the usebrowser part
...
(does not work correctly for now)
1998-09-18 08:01:35 +00:00
daniel
4e7516e897
+ Added maxheapsize.
...
* Corrected semi-bug in calling the assembler and the linker
1998-09-10 15:25:31 +00:00
peter
6848d5170d
* fixed in_global to allow directives also after interface token
1998-09-09 15:33:06 +00:00
peter
58c2d999f0
* updated some error messages
1998-09-04 08:41:36 +00:00
peter
c4ed67543a
+ aktpackenum
1998-09-01 12:53:19 +00:00
pierre
3b015ab652
* UseBrowser a little updated (might still be buggy !!)
...
* bug in psub.pas in function specifier removed
* stdcall allowed in interface and in implementation
(FPC will not yet complain if it is missing in either part
because stdcall is only a dummy !!)
1998-09-01 07:54:16 +00:00
peter
2d765331c1
* dispose trees is now default for all > 0.99.5 compiles
1998-08-26 10:07:09 +00:00
peter
4d8b7aca79
* renamed in_main to in_global which is more logical
1998-08-18 20:52:19 +00:00
peter
cc64a929aa
* static/shared linking updates
1998-08-17 09:17:43 +00:00
peter
1b24a06769
* setting the outputfile using -o works now to create static libs
1998-08-14 21:56:30 +00:00
peter
d47ac4310c
* reset also the link* lists when recompiling an existing unit
1998-08-12 19:22:09 +00:00
peter
735e41d7d2
* fixed asmlist dispose for 0.99.5
1998-08-10 23:58:56 +00:00
peter
85c8a88cbe
+ localswitches, moduleswitches, globalswitches splitting
1998-08-10 14:49:33 +00:00
peter
6396267185
+ Compiler,Comphook unit which are the new interface units to the
...
compiler
1998-08-10 10:18:23 +00:00
peter
c9715847f6
* updated messages file
1998-07-14 21:46:38 +00:00
peter
1bffd4e290
* released NEWINPUT
1998-07-14 14:46:36 +00:00
peter
911abb5abc
+ NEWINPUT for a better inputfile and scanner object
1998-07-07 11:19:50 +00:00
pierre
91130f7270
* ppu files where not closed in newppu !!
...
second compilation was impossible due to too many opened files
(not visible in 'make cycle' as we remove all the ppu files)
1998-06-25 11:15:33 +00:00
peter
f07849effe
* small os2 fixes
...
* fixed interdependent units with newppu (remake3 under linux works now)
1998-06-17 14:10:11 +00:00
peter
c2d5abdfed
+ targetcpu
...
* cleaner pmodules for newppu
1998-06-16 08:56:17 +00:00
pierre
2d681748ac
* small bug in systems.pas corrected
...
+ operators in different units better hanlded
1998-06-15 15:38:07 +00:00
peter
c614d62eaf
* working browser and newppu
...
* some small fixes against crashes which occured in bp7 (but not in
fpc?!)
1998-06-13 00:10:04 +00:00
peter
f98459e1fb
* smartlinking works for win32
...
* some defines to exclude some compiler parts
1998-06-08 22:59:41 +00:00
peter
8201248b82
* some better uses clauses
1998-06-05 17:47:28 +00:00
peter
f66f837fc8
* m68k compiles
...
+ .def file creation moved to gendef.pas so it could also be used
for win32
1998-06-04 23:51:26 +00:00
peter
d6268ae22f
+ wordbool,longbool
...
* rename bis,von -> high,low
* moved some systemunit loading/creating to psystem.pas
1998-06-03 22:48:50 +00:00
peter
7b28ebd6ef
* symtable.pas splitted into includefiles
...
* symtable adapted for $ifdef NEWPPU
1998-05-27 19:45:02 +00:00
peter
b3865ae063
+ aktasmmode, aktoptprocessor, aktoutputformat
...
+ smartlink per module $SMARTLINK-/+ (like MMX) and moved to aktswitches
+ $LIBNAME to set the library name where the unit will be put in
* splitted cgi386 a bit (codeseg to large for bp7)
* nasm, tasm works again. nasm moved to ag386nsm.pas
1998-05-23 01:20:53 +00:00
pierre
c80de3be27
+ UseTokenInfo now default
...
* unit in interface uses and implementation uses gives error now
* only one error for unknown symbol (uses lastsymknown boolean)
the problem came from the label code !
+ first inlined procedures and function work
(warning there might be allowed cases were the result is still wrong !!)
* UseBrower updated gives a global list of all position of all used symbols
with switch -gb
1998-05-20 09:42:32 +00:00
peter
4c96df6b43
* moved printstatus to verb_def
...
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
1998-05-12 10:46:58 +00:00
peter
5e4c788be5
+ $ifdef NEWPPU for the new ppuformat
...
+ $define GDB not longer required
* removed all warnings and stripped some log comments
* no findfirst/findnext anymore to remove smartlink *.o files
1998-05-11 13:07:53 +00:00
peter
499d54a9c0
* tai_section extended with code,data,bss sections and enumerated type
...
* ident 'compiled by FPC' moved to pmodules
* small fix for smartlink
1998-05-06 18:36:53 +00:00
pierre
6fc80b783f
* better position info with UseTokenInfo
...
UseTokenInfo greatly simplified
+ added check for changed tree after first time firstpass
(if we could remove all the cases were it happen
we could skip all firstpass if firstpasscount > 1)
Only with ExtDebug
1998-05-06 08:38:32 +00:00
peter
94b52a3d7f
+ smartlinking works (only case jumptable left todo)
...
* redesign of systems.pas to support assemblers and linkers
+ Unitname is now also in the PPU-file, increased version to 14
1998-05-04 17:54:24 +00:00
florian
3233d4aeb7
* handling of private and protected fixed
...
+ change_keywords_to_tp implemented to remove
keywords which aren't supported by tp
* break and continue are now symbols of the system unit
+ widestring, longstring and ansistring type released
1998-05-01 16:38:44 +00:00
florian
f700edae4d
+ basics for rtti implemented
...
+ switch $m (generate rtti for published sections)
1998-05-01 07:43:52 +00:00
pierre
a10c3e36bc
* GDB works again better :
...
correct type info in one pass
+ UseTokenInfo for better source position
* fixed one remaining bug in scanner for line counts
* several little fixes
1998-04-30 15:59:39 +00:00
pierre
5cdd60cac8
+ added some code for ansistring (not complete nor working yet)
...
* corrected operator overloading
* corrected nasm output
+ started inline procedures
+ added starstarn : use ** for exponentiation (^ gave problems)
+ started UseTokenInfo cond to get accurate positions
1998-04-29 10:33:40 +00:00
peter
6fd535b87d
+ new scanner
...
* $makelib -> if smartlink
* small filename fixes pmodule.setfilename
* moved import from files.pas -> import.pas
1998-04-27 23:10:27 +00:00
peter
6fb9e55bb3
* patches from strasbourg
...
* objects is not used anymore in the fpc compiled version
1998-04-21 10:16:47 +00:00
peter
b7ff96bb48
* removed some Hints
...
* small speed optimization for AsmLn
1998-04-10 14:41:43 +00:00
pierre
9b14f1f183
* several bugfixes
...
ADD ADC and AND are also sign extended
nasm output OK (program still crashes at end
and creates wrong assembler files !!)
procsym types sym in tdef removed !!
1998-04-08 16:58:01 +00:00
florian
bc2d9f0a3f
* bug0092, bug0115 and bug0121 fixed
...
+ packed object/class/array
1998-04-07 22:45:03 +00:00
florian
01575ac687
- switch -Sa removed
...
- support of a:=b:=0 removed
1998-03-26 11:18:30 +00:00
root
d1a1f501c8
Initial revision
1998-03-25 11:18:12 +00:00