daniel
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
...
+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
Jonas Maebe
69cf42c4f7
* fixed val(s,int64) (it accepted values in the range
...
high(int64+1)..high(qword) if written in decimal notation) + test
* fixed range checking of qword constants parsed by the compiler
(they always gave a range error if > high(int64), because the compiler
internally stores them as int64)
* turn off range checking flag of rdconstnodes created by the parser
from _INTCONST, because those are already range checked by the
way they are parsed using val()
git-svn-id: trunk@6814 -
2007-03-12 22:22:43 +00:00
Jonas Maebe
4e96fe8fac
* fixed with-support for classrefdefs (mantis 8150), with thanks to
...
Thorsten Engler for supplying an initial patch
git-svn-id: trunk@6088 -
2007-01-20 20:04:54 +00:00
Jonas Maebe
2ad3ef968f
* properly detect when we can't take the address of a with-expression
...
and assign it to a temp in that case (mantis #8141 )
git-svn-id: trunk@6071 -
2007-01-19 13:01:07 +00:00
Jonas Maebe
f2b07704b5
* proper initialised/used warnings for variables used
...
in complex with-statements + tests
git-svn-id: trunk@6024 -
2007-01-17 12:04:53 +00:00
peter
0557ddc342
* removed typed const, it is now handled by staticvarsym
...
* globalvarsym renamed to staticvarsym
* fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
3cae449fda
* moved rtti to ncgrtti
...
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
florian
bce905b106
* give correct error locations for errors when specializing templates
...
* removed more germanisms
* better dumping of tokenbuf in ppudump
git-svn-id: trunk@5101 -
2006-10-30 23:28:06 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
Jonas Maebe
5cad2321a9
* allow assigning to loop control vars in macpas mode
...
git-svn-id: trunk@4956 -
2006-10-18 18:13:41 +00:00
Jonas Maebe
355e101bc1
* temp results of calls in "with" statements can be in regs
...
git-svn-id: trunk@4649 -
2006-09-19 09:23:57 +00:00
Jonas Maebe
eccbc78e04
+ support for bitpacked arrays:
...
+ use {$bitpacking on/+} to change the meaning of "packed"
into "bitpacked" for arrays. This is the default for MacPas.
You can also define individual arrays as "bitpacked", but
this is not encouraged since this keyword is not known by
other compilers and therefore makes your code unportable.
+ pack(unpackedarray,index,packedarray) to pack
length(packedarray) elements starting at
unpackedarray[index] into packedarray.
+ unpack(packedarray,unpackedarray,index) to unpack
packedarray into unpackedarray, with the first
element being stored at unpackedarray[index]
* todo:
* "open packed arrays" and rtti for packed arrays are not
yet supported
* gdb does not properly support bitpacked arrays
git-svn-id: trunk@4449 -
2006-08-19 12:54:12 +00:00
florian
48802b0866
+ variants can be used as case expression
...
git-svn-id: trunk@3530 -
2006-05-14 18:29:49 +00:00
peter
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
* pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
* refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
* add cfi to asmdata
* move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
peter
38c0ae73da
Merged revisions 2775,2788-2789 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines
* merge ppu changes to keep ppus the same
........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines
* Add TFPList and TFPObjectList
........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines
* fix powerpc
........
git-svn-id: trunk@2790 -
2006-03-06 12:04:44 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
Jonas Maebe
09a668dac9
* check whether loop counters are valid for assignment (bug 4695)
...
git-svn-id: trunk@2285 -
2006-01-14 14:09:39 +00:00
Jonas Maebe
42ec76598c
* new categories for vs_*: vs_declared, vs_initialised, vs_read,
...
vs_written, vs_readwritten. vs_initialised is the old vs_assigned;
vs_used has been replaced by vs_read, vs_written and vs_readwritten
* the valid_for_*() routines in htypechk now get an extra parameter to
decide whether or not errors should be reported
git-svn-id: trunk@1913 -
2005-12-10 16:51:26 +00:00
florian
46a3f895e0
* exception parser checks now if the used id for the handler is really ON, fixes webbug 4256
...
git-svn-id: trunk@798 -
2005-08-05 19:44:10 +00:00
florian
7cd67ea3f0
* node optimizer branch merged
...
* gotonode and gotolabel refactored
* -Nu added to enable for loop unrolling
git-svn-id: trunk@446 -
2005-06-19 17:42:10 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
3f9d6ab32f
* add hint when passing an uninitialized variable to a var parameter
2005-03-25 22:20:18 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
a85e9e6485
* don't set varstate to vs_used for record in with at start yet
2005-02-11 16:24:59 +00:00
florian
1dcb2e55bc
* fixed usage of 000 as label
2005-02-08 21:25:14 +00:00
peter
16a60238c6
* check for-loop constants ranges
2005-02-03 17:10:58 +00:00
peter
e24eb1f631
* set varstate before parsing the instruction block in for statements
2005-01-31 20:23:53 +00:00
peter
cc2789b680
* for-node cleanup, checking for uninitialzed from and to values
...
is now supported
2005-01-31 16:16:21 +00:00
peter
ced6bf20cd
* fix lineinfo for with blocks
2004-12-26 16:22:01 +00:00
peter
78c2af7b3c
* set vo_explicit_paraloc flag
2004-12-07 16:11:52 +00:00
peter
2b6456fe16
* procvar handling for tp procvar mode fixed
...
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that
can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
Jonas Maebe
bd04491f50
* patch from Peter to fix inlining of case statements
2004-11-30 18:13:39 +00:00
peter
89b1b583c9
* ttempcreatenode.create_reg merged into .create with parameter
...
whether a register is allowed
* funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
mazen
3c79b466b7
* remove non needed parathesys as in 1.140
2004-10-15 10:35:23 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
6180168a5a
* register loopvarsym for fields instead of record variable
...
* don't allow class fields as loop var
2004-09-27 15:15:52 +00:00
peter
8fb3536f6e
* simple regvar support, not yet finished
2004-09-26 17:45:29 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
peter
4df1a1f378
* no difference for withnode when debuginfo is generated
2004-09-21 16:00:50 +00:00
peter
67548d9f91
* for loop variable assignment is not allowed anymore
2004-09-13 20:28:26 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
b86f2c6a25
* methodpointer is loaded into a temp when it was a calln
2004-05-23 18:28:40 +00:00
peter
9a0a2ccd81
* give error when goto jumps to label outside current proc scope
2004-05-23 11:39:37 +00:00
peter
9625256d22
* better check for maybe_call_procvar
2004-03-04 17:22:10 +00:00
peter
e9b91887d5
* withsymtables need to have the original tobject owner instead of
...
the parent objectdef. Needed to check for visibility
2004-02-26 16:14:48 +00:00