florian
c68ea95074
+ syscall directive support for MorphOS added
2004-04-28 15:19:03 +00:00
peter
f80bea52e9
* reset current_module,current_procinfo so the destroy routines
...
can't access their info anymore, because that can be already
destroyed
2004-03-16 16:20:49 +00:00
peter
ba9f4a0703
* packrecords fixed for settings from $PACKRECORDS
...
* default packrecords now uses value 0 and uses info from aligment
structure only, initpackrecords removed
2004-03-14 20:08:37 +00:00
florian
61f15e4ec4
* make cycle fixed
...
+ pic support for darwin
+ support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
daniel
d735071838
* Rtti generation moved to ncgutil
...
* Assmtai usage of symsym removed
* operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
8caaa7740d
* more record alignment fixes
2004-01-28 22:16:31 +00:00
peter
526cffbaad
* set ms_compiled after the program/unit is parsed
...
* check for ms_compiled before checking preproc matches
2003-10-29 21:02:51 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
florian
220e05dd5e
* fixed arm concatcopy
...
+ arm support in the common compiler sources added
* moved some generic cg code around
+ tfputype added
* ...
2003-09-03 11:18:36 +00:00
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
peter
ab66b66673
* add inputfile prefix to ppas/link.res
2003-06-12 16:41:51 +00:00
peter
92ee1804b6
* removed selfpointer_offset, vmtpointer_offset
...
* tvarsym.adjusted_address
* address in localsymtable is now in the real direction
* removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
60978ba89c
* aktprocdef renamed to current_procdef
...
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be
cleaned up properly
* gen_main_procsym changed to create_main_proc and release_main_proc
to also generate a tprocinfo structure
* fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66
* aktprocdef cleanup, aktprocdef is now always nil when parsing
...
a new procdef declaration
* aktprocsym removed
* lexlevel removed, use symtable.symtablelevel instead
* implicit init/final code uses the normal genentry/genexit
* funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
6720314fc5
* reset aktfilepos when setting new module for compile
2003-04-26 00:30:52 +00:00
peter
f4b818fc1d
* removed funcretn,funcretsym, function result is now in varsym
...
and aliases for result and function name are added using absolutesym
* vs_hidden parameter for funcret passed in parameter
* vs_hidden fixes
* writenode changed to printnode and released from extdebug
* -vp option added to generate a tree.log with the nodetree
* nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
peter
bbf8bddbb4
* unit loading changed to first register units and load them
...
afterwards. This is needed to support uses xxx in yyy correctly
* unit dependency check fixed
2002-12-29 14:57:50 +00:00
peter
680c90c65d
* fixed crash when old_compiled_module was nil
2002-12-24 23:32:19 +00:00
mazen
301bf08921
* $UNITPATH directive is now working
2002-11-20 12:36:23 +00:00
peter
e08206f2dc
* Place old data in compile() in the heap to save stack
2002-10-07 19:29:52 +00:00
peter
37bb42694b
* fixed crash when current_module becomes nil
2002-09-05 19:27:05 +00:00
peter
197899d70a
* more current_scanner fixes
2002-08-18 19:58:28 +00:00
peter
87088e16fe
* fixed possible crashes with current_scanner
2002-08-16 15:31:08 +00:00
peter
8082f79ea6
* first things tai,tnode storing in ppu
2002-08-15 19:10:35 +00:00
peter
724ece4715
* tscannerfile is now destroyed in tmodule.reset and current_scanner
...
is updated accordingly. This removes all the loading and saving of
the old scanner and the invalid flag marking
2002-08-12 16:46:04 +00:00
carl
9da171faf2
+ stab register indexes for powerpc (moved from gdb to cpubase)
...
+ tprocessor enumeration moved to cpuinfo
+ linker in target_info is now a class
* many many updates for m68k (will soon start to compile)
- removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +00:00
peter
fb64d51f69
* TScannerFile.SetInvalid added that will also reset inputfile
2002-08-11 14:28:19 +00:00
peter
ac71268ce6
* saving of asmsymbols in ppu supported
...
* asmsymbollist global is removed and moved into a new class
tasmlibrarydata that will hold the info of a .a file which
corresponds with a single module. Added librarydata to tmodule
to keep the library info stored for the module. In the future the
objectfiles will also be stored to the tasmlibrarydata class
* all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
carl
1ef442f4bf
- removed newcg define
2002-08-09 19:15:41 +00:00
florian
4f7b35be5b
+ source code page support
2002-07-20 17:11:48 +00:00
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
peter
5ea6f2b824
* fixed memleaks when file can't be opened
2002-04-21 18:57:23 +00:00
carl
87aa88e9b7
+ generic FPC_CHECKPOINTER
...
+ first parameter offset in stack now portable
* rename some constants
+ move some cpu stuff to other units
- remove unused constents
* fix stacksize for some targets
* fix generic size problems which depend now on EXTEND_SIZE constant
2002-04-20 21:32:23 +00:00
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