florian
bacded2cf8
* fixed expectloc of unaligned(...)
...
git-svn-id: trunk@4830 -
2006-10-08 15:47:01 +00:00
Jonas Maebe
b386335f27
* treat zero-based arrays of char also as pchar's when reading
...
(i.e., always zero-terminate) (bug 7567)
git-svn-id: trunk@4826 -
2006-10-08 09:22:30 +00:00
peter
d07f470b71
* remove ifdef fpc
...
git-svn-id: trunk@4819 -
2006-10-07 13:43:34 +00:00
florian
9e66674ff9
+ first part of qwordbool implementation
...
git-svn-id: trunk@4462 -
2006-08-19 23:16:17 +00:00
Jonas Maebe
be39a88daa
* slice() doesn't support packed arrays
...
git-svn-id: trunk@4454 -
2006-08-19 16:18:42 +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
Jonas Maebe
5bf38351e9
* fixed bug #7195 : use regular type conversions for the results of
...
fpc_sqr(t)_real
git-svn-id: trunk@4290 -
2006-07-24 07:55:32 +00:00
daniel
4d37c919cc
* Internal implementations of get_frame, get_caller_frame and get_caller_addr.
...
Not yet activated.
git-svn-id: trunk@3517 -
2006-05-14 08:39:19 +00:00
florian
9e00f894a9
+ support for unaligned function
...
git-svn-id: trunk@3350 -
2006-04-29 11:15:29 +00:00
peter
ecdb5df2d6
* fix alignment of tdoublearray by using a variant record
...
git-svn-id: trunk@3071 -
2006-03-29 06:40:47 +00:00
Jonas Maebe
a15505521c
* fixed handling of wrong invocations of slice + improved error reporting
...
git-svn-id: trunk@2614 -
2006-02-16 20:27:31 +00:00
Jonas Maebe
dc5c79194f
* fixed SETTEXTBUF
...
git-svn-id: trunk@2566 -
2006-02-14 10:35:24 +00:00
Jonas Maebe
cd70b38e8b
* kill warnings about non-longint code parameters with val()
...
which popped up again after yesterday's patches to the
potential range error warnings
git-svn-id: trunk@2508 -
2006-02-10 10:08:07 +00:00
Jonas Maebe
5007ae7197
* fixed web bug #4724 (don't allow inc/dec(pointer,pointer)
...
* more accurate error postitions for inc/dec errors
git-svn-id: trunk@2502 -
2006-02-09 18:18:47 +00:00
Jonas Maebe
d11329f9cd
* openstrings and openarrays don't have to by valid in order to use
...
high()/low() on them
git-svn-id: trunk@2484 -
2006-02-08 20:30:49 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
Jonas Maebe
58381ff7b6
* made chararray handling 98% TP-compatible, fixes web bugs 3012
...
and 4080. The compatibility differences are:
a) writing a chararray which is zero-based but not zero-
terminated does not cause a buffer overflow
b) non-zero-based chararrays can also be read
The difference was that previously, all chararrays were treated
as pchars. In TP/Delphi (and now also in FPC), this is only done
for zero-based chararrays. For non-zero-based ones, the entire
contents of the array should always be used (including #0 's).
The default parameters in the system unit for the chararray
helpers are to avoid having to use a define for bootstrapping.
git-svn-id: trunk@2152 -
2006-01-04 10:05:10 +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
46ecdc8f94
* allow pred/succ on non continous enumerations in delphi mode
...
git-svn-id: trunk@1878 -
2005-12-04 18:35:19 +00:00
peter
5abb9d68f6
* prevent warning for val with second parameter not being a longint
...
git-svn-id: trunk@1463 -
2005-10-18 08:26:29 +00:00
florian
8af13ed6ae
* fixed result type conversion for sqrt/sqr
...
git-svn-id: trunk@1425 -
2005-10-16 16:39:00 +00:00
florian
71b90d4d00
+ slice implemented
...
git-svn-id: trunk@1384 -
2005-10-15 16:48:27 +00:00
florian
19e97e4da2
+ use sse for sqrt if possible
...
* same optimization for sqrt as for sqr
git-svn-id: trunk@1266 -
2005-10-03 12:47:05 +00:00
florian
6371333361
+ sqr uses sse on x86 if possible
...
* the result type of sqr is equal to the argument in case of usual floats
git-svn-id: trunk@1265 -
2005-10-03 12:31:31 +00:00
florian
77db0e5185
+ length(<variant>);
...
git-svn-id: trunk@1154 -
2005-09-22 08:51:23 +00:00
florian
a53c9e2666
* fixed stupid copy/paste which turned softfloat always off
...
* fixed wince softfloat compiler proc. to be correctly named also when used outside the system unit
git-svn-id: trunk@966 -
2005-08-28 21:08:23 +00:00
florian
2f8fe7d2e6
- readln(<pchar>) forbidden, there is no way to prevent an buffer overflow, fixes 4227
...
git-svn-id: trunk@810 -
2005-08-07 09:18:21 +00:00
peter
f2f968f48a
* fix overflow checking for inc(cardinal,x) and inc(pointer,x)
...
git-svn-id: trunk@593 -
2005-07-06 08:01:39 +00:00
peter
6846195a6c
* insert explicit typecast to left type of inc(left,right) before
...
assigning the value after an addn
* for inc(pointer,X) convert X to sinttype instead of ptrinttype
to support also negative values of X
git-svn-id: trunk@587 -
2005-07-05 07:15:50 +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
peter
f67de71de2
* insert typeconv to ptrint for all inc(pointer) operations
...
git-svn-id: trunk@144 -
2005-05-29 19:17:31 +00:00
Jonas Maebe
0115a0a38e
* convert inc/dec(pointertype) to add/sub if overflow checking is turned on
...
(fixes web bug #4004 )
git-svn-id: trunk@136 -
2005-05-29 11:19:40 +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
2d62e884c8
* only give warnings for uninitialized variables in low()/high()
...
if the value is calculated at runtime
2005-04-15 15:50:18 +00:00
peter
3f9d6ab32f
* add hint when passing an uninitialized variable to a var parameter
2005-03-25 22:20:18 +00:00
Jonas Maebe
9fc51ed8f0
* terrornode.create -> cerrornode.create
2005-03-25 21:46:06 +00:00
peter
dbcfe36b70
* check parameters of str() better
2005-03-16 21:24:43 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
50d0ba7a7f
* low(var) var must be valid
2005-02-04 16:30:56 +00:00
florian
020bbc8913
* another improvement of pi handling
2005-01-23 21:47:14 +00:00
florian
cc9534cf41
+ added pi bit pattern to the compiler, so pi should always be correct
2005-01-23 21:09:11 +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
peter
08d0d3b73c
* fixed read temp for result
2004-11-26 22:33:00 +00:00
peter
9a64d34d34
* add checks for filedef type to prevent crashes
2004-11-21 21:27:31 +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
4d8460ec2f
* float routines all use internproc and compilerproc helpers
2004-11-21 15:35:23 +00:00
peter
95e0ed26f8
* use helper call to retrieve address of input/output to reduce
...
code that is generated in the main program for loading the
threadvar
2004-11-09 23:10:22 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
peter
2e161c5e9e
* nf_internal flag for internal inserted typeconvs. This will
...
supress the generation of warning/hints
2004-11-02 12:55:16 +00:00