florian
569c4871fc
+ first batch of varset support, as long as packset isn't changed, it doesn't change anything
...
git-svn-id: trunk@4710 -
2006-09-24 14:40:11 +00:00
Jonas Maebe
08612ed157
* declare fpc_sqr_real as inline instead of fpc_sqrt_real
...
git-svn-id: trunk@4642 -
2006-09-17 21:55:14 +00:00
chrivers
7ec741fa05
Added fpc_intf_assign_by_iid compilerproc. Needed for _IMPLEMENTS
...
git-svn-id: trunk@4360 -
2006-08-06 00:58:17 +00:00
florian
849878b472
* fixed memory leak with the as operator, fixes #7174
...
git-svn-id: trunk@4355 -
2006-08-05 21:53:38 +00:00
Jonas Maebe
316c4d6313
* fixed web bug tw4954 (warning when reading from a typed file)
...
+ test for the above (submitted test program minus childish remarks)
git-svn-id: trunk@3733 -
2006-05-29 09:54:42 +00:00
florian
570c1bc3a5
* widestrings aren't ref. counted anymore on windows
...
git-svn-id: trunk@3466 -
2006-05-09 20:54:26 +00:00
peter
a77f503a30
* optimize multiple concats for ansi/widestring
...
git-svn-id: trunk@2650 -
2006-02-20 10:58:28 +00:00
Jonas Maebe
0e2a5dde24
* the pointer parameter of fpc_Read_Text_PChar_As_Pointer is not an
...
out parameter, but a const (the pointer is const and must be
valid already)
git-svn-id: trunk@2486 -
2006-02-08 20:32:32 +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
9a08cdccf0
* several changes of var parameters into out parameters to avoid
...
useless warnings: code parameter of val(), destination of str(),
destinations of ansi2wide and wide2ansi
git-svn-id: trunk@2041 -
2005-12-23 22:25:26 +00:00
florian
398cafb1a0
* fixed cases
...
git-svn-id: trunk@1969 -
2005-12-15 22:55:43 +00:00
florian
e2a4dac215
+ i386 assembler versions of decr_ansistring and unique_ansistring
...
git-svn-id: trunk@1963 -
2005-12-15 19:51:57 +00:00
peter
198aa2e72a
* change value to const string to remvoe implicit exception stack:
...
git-svn-id: trunk@1949 -
2005-12-14 17:23:32 +00:00
michael
198b2104be
+ Removed HASFUNCTIONCOPYDYNARR define
...
git-svn-id: trunk@313 -
2005-06-09 18:06:35 +00:00
michael
06ab2d2ee6
+ Removed STR_USES_VALINT define
...
git-svn-id: trunk@305 -
2005-06-09 17:53:01 +00:00
michael
a775d3d487
+ Removed HASCURRENCY VALUEGETMEM VALUEFREEMEM defines
...
git-svn-id: trunk@293 -
2005-06-09 17:33:22 +00:00
michael
3a2eaa94b1
+ Removed INTERNCONSTINTF define
...
git-svn-id: trunk@267 -
2005-06-07 22:04:18 +00:00
michael
93ba0409be
+ Removed HASCOMPILERPROC define
...
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
21425e303c
+ Removed HASVARIANT define
...
git-svn-id: trunk@244 -
2005-06-07 20:48:31 +00:00
michael
8a226bba52
+ Removed HASWIDESTRING/HASWIDECHAR defines
...
git-svn-id: trunk@241 -
2005-06-07 20:42:22 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
florian
f8c314a7b7
* changed fpc_read_text to use out instead of var
...
git-svn-id: trunk@73 -
2005-05-22 18:17:15 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
peter
b68af1b0e3
* post 2.0.0 fixes from cvs
...
git-svn-id: trunk@7 -
2005-05-16 20:59:02 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
olle
559ee781b3
- Removed outcommented function
2005-05-14 11:53:31 +00:00
florian
372711eea4
+ a lot of vararray stuff
2005-03-28 13:38:05 +00:00
florian
eeaded577a
* fixed copy(dyn. array,...);
2005-03-05 16:37:28 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
13c5439bb1
+ basic rtl support for variant <-> interface implemented
2005-01-07 21:15:46 +00:00
florian
48c248d6c0
* widecharray patch from Peter
2005-01-06 13:39:59 +00:00
florian
7fb9bd0f57
* implemented helper for variant<->dyn. array type cast
2004-12-05 11:49:06 +00:00
Jonas Maebe
b6a6e78db1
* fixed remaining compilation problems
2004-11-21 16:14: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
mazen
b65cffcdef
* widestring conversion routines takes a widechar so no
...
information is lost
2004-09-29 14:55:49 +00:00
peter
962ef697d5
* remove comment warnings
2004-05-31 14:31:57 +00:00
peter
81b6d9f16c
* replace strlenint with sizeint
2004-05-01 23:55:18 +00:00
peter
b5df63e617
* ValSInt fixed for 64 bit
2004-05-01 20:52:50 +00:00
peter
53ec165e68
* x86-64 fixes
2004-04-29 19:50:13 +00:00
peter
cafed35e77
* str() helpers now also use valint/valuint
...
* int64/qword helpers disabled for cpu64
2004-04-29 18:59:43 +00:00
florian
2e3fb337ff
* fixed getmem prototype for 64 bit systems
2004-04-12 18:51:02 +00:00
Jonas Maebe
c2efd86268
+ integer division-by-zero detection support for ppc
...
+ compilerproc FPC_DIVBYZERO
2004-01-01 17:58:16 +00:00
florian
78a00b657b
* fixed copy(<dynarray>, ...)
2003-10-25 22:52:07 +00:00
florian
e346ebacb6
* write helper comproc for variants fixed
2003-10-04 23:40:42 +00:00
florian
8585d3d0b8
* ifdef'd some helpers
2003-09-02 13:04:08 +00:00
peter
10f0e5cb6e
* pcomp added for sparc
2003-09-01 20:47:23 +00:00
olle
f062855e7f
- removed parameter from fpc_iocheck
2003-08-21 22:07:43 +00:00
Jonas Maebe
4be7651aa2
* fixed conversion of fpc_*str_unique to compilerproc
2003-06-17 19:24:08 +00:00
Jonas Maebe
394b70f94d
* fpc_{ansistr|widestr}_unique is now a function so it can be used as
...
compilerproc
2003-06-17 16:38:53 +00:00
peter
60407e302b
* fpc_shortstr_concat is now the same for all targets
...
* fpc_shortstr_append_shortstr added for optimized code generation
2003-05-26 19:36:46 +00:00
florian
35bb4d682f
* fixed generic shortstr_compare
2003-05-16 22:40:11 +00:00
peter
163e06f93b
* fpc_help_fail compilerproc
...
* fpc_new_class, fpc_dispose_class not needed by latest compiler
2003-05-13 19:18:08 +00:00
peter
c2c11ba6a6
* constructor helper added
2003-05-11 21:39:14 +00:00
peter
511571c60d
* fpc_big_array changed to 1k only. using maxlongint will crash gdb
2003-04-25 21:15:20 +00:00
peter
a7691d8bb8
* fpc_round added, needed for int64 currency
2003-04-23 21:28:21 +00:00
peter
f0d85ac788
* class helpers compilerprocs are not needed yet, changed
...
ifndef i386 to ifdef dummy
2003-04-02 14:07:30 +00:00
peter
1e86b585f9
* changed address parameter/return values to pointer instead
...
of longint
2003-03-17 14:30:11 +00:00
florian
62db93e704
* uncommented the variant<->dyn. array stuff
2003-01-11 00:17:29 +00:00
florian
6432af8a76
* fixed helper declarations
2003-01-09 20:14:20 +00:00
mazen
a5e2afbbb3
* functions headers modified in generic.inc to make it possible compiling sparc
...
RTL based on generic code
2003-01-06 23:04:21 +00:00
michael
90a344edb2
+ PAtch from peter fixing daily build
2003-01-06 08:25:47 +00:00
mazen
215880afe8
* fixing several bugs compiling the RTL
2003-01-05 21:32:35 +00:00
peter
d0776e3492
* implemented some more conversions
2002-12-29 16:59:17 +00:00
peter
2b6e06bd4a
* fixed dynarray copy
2002-11-26 23:02:07 +00:00
florian
72ab5b62bb
+ ansistring_append* implemented
2002-10-17 12:43:00 +00:00
florian
6459b97052
+ write(ln) support for variants added
2002-10-10 19:24:28 +00:00
florian
c6ea429567
+ several widestring/pwidechar related helpers added
2002-10-10 16:08:50 +00:00
peter
ea8118b37c
* fpc_pchar_length compilerproc and strlen alias
2002-10-05 14:20:16 +00:00
peter
603b3bc48b
* Copy() changed to internal function calling compilerprocs
...
* FPC_SHORTSTR_COPY renamed to FPC_SHORTSTR_ASSIGN because of the
new copy functions
2002-10-02 18:21:51 +00:00
carl
ab9e07a2d7
* fix 2GB limit problem
2002-09-27 21:10:40 +00:00
carl
7ebda0a778
* cardinal -> longword
...
- remove some unused routines
2002-09-07 21:10:47 +00:00
peter
01dfac4a4e
* old logs removed and tabs fixed
2002-09-07 15:06:34 +00:00
peter
a17291b2d4
* array of char support for Str()
2002-09-02 19:24:41 +00:00
Jonas Maebe
58fc64dc09
* interface "as" helpers converted from procedures to functions
2002-08-20 18:24:05 +00:00
Jonas Maebe
a28ee81ed6
* fixed conversion from int64/qword to double errors
2002-07-31 16:58:12 +00:00
florian
7ac5c3743d
* several fixes for linux/powerpc
...
* several fixes to MT
2002-07-28 20:43:47 +00:00
peter
0cdf327866
* updated compilerprocs
...
* incr ref count has now a value argument instead of var
2002-04-25 20:14:56 +00:00
peter
b0948c6122
* fpc_finalize_array renamed
2002-04-24 16:15:35 +00:00
peter
90ff7a6db8
* fpc_freemem and fpc_getmem compilerproc
2002-04-21 18:56:59 +00:00
peter
1338dbd992
* updated for dynarr:=nil
2002-01-21 20:16:08 +00:00
peter
7484da248d
* freemem(var) -> freemem(value)
2001-12-03 21:39:19 +00:00
Jonas Maebe
fc6d300a95
* almost all second pass typeconvnode helpers are now processor independent
...
* fixed converting boolean to int64/qword
* fixed register allocation bugs which could cause internalerror 10
* isnode and asnode are completely processor indepent now as well
* fpc_do_as now returns its class argument (necessary to be able to use it
properly with compilerproc)
2001-09-29 21:32:46 +00:00
Jonas Maebe
a39cd8a580
* made multiplying, dividing and mod'ing of int64 and qword processor
...
independent with compilerprocs (+ small optimizations by using shift/and
where possible)
2001-09-05 15:22:09 +00:00
Jonas Maebe
ed449defca
+ searchsystype() and searchsystype() functions in symtable
...
* changed ninl and nadd to use these functions
* i386 set comparison functions now return their results in al instead
of in the flags so that they can be sued as compilerprocs
- removed all processor specific code from n386add.pas that has to do
with set handling, it's now all done in nadd.pas
* fixed fpc_set_contains_sets in genset.inc
* fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
helper anymore
* some small fixes in compproc.inc/set.inc regarding the declaration of
internal helper types (fpc_small_set and fpc_normal_set)
2001-09-04 11:38:54 +00:00
Jonas Maebe
f256a47f04
* compilerproc implementation of set addition/substraction/...
...
* changed the declaration of some set helpers somewhat to accomodate the
above change
* i386 still uses the old code for comparisons of sets, because its
helpers return the results in the flags
* dummy tc_normal_2_small_set type conversion because I need the original
resulttype of the set add nodes
NOTE: you have to start a cycle with 1.0.5!
2001-09-03 13:27:41 +00:00
Jonas Maebe
41a57028b9
* converted adding/comparing of strings to compileproc. Note that due
...
to the way the shortstring helpers for i386 are written, they are
still handled by the old code (reason: fpc_shortstr_compare returns
results in the flags instead of in eax and fpc_shortstr_concat
has wierd parameter conventions). The compilerproc stuff should work
fine with the generic implementations though.
* removed some nested comments warnings
2001-08-30 15:43:14 +00:00
Jonas Maebe
06f9cd4c96
* some fixes in compilerprocs for chararray to string conversions
...
* conversion from string to chararray is now also done via compilerprocs
2001-08-29 19:49:03 +00:00
Jonas Maebe
fc92c3b336
+ compilerproc implementation of most string-related type conversions
...
- removed all code from the compiler which has been replaced by
compilerproc implementations (using {$ifdef hascompilerproc} is not
necessary in the compiler)
2001-08-28 13:24:46 +00:00
Jonas Maebe
a6cfe4083a
+ tempcreate/ref/delete nodes (allows the use of temps in the
...
resulttype and first pass)
* made handling of read(ln)/write(ln) processor independent
* moved processor independent handling for str and reset/rewrite-typed
from firstpass to resulttype pass
* changed names of helpers in text.inc to be generic for use as
compilerprocs + added "iocheck" directive for most of them
* reading of ordinals is done by procedures instead of functions
because otherwise FPC_IOCHECK overwrote the result before it could
be stored elsewhere (range checking still works)
* compilerprocs can now be used in the system unit before they are
implemented
* added note to errore.msg that booleans can't be read using read/readln
2001-08-23 14:28:35 +00:00
Jonas Maebe
4716f168dd
* renamed some str(x,y) and val(x,y) helpers so the naming scheme is the
...
same for all string types
+ added the str(x,y) and val(x,y,z) helpers for int64/qword to
compproc.inc
2001-08-13 12:40:16 +00:00
Jonas Maebe
cba82c202e
* changed buf parameter of fpc_type_write from var to const
...
+ added names of helpers in typefile.inc to compproc.inc
2001-08-06 14:13:55 +00:00
Jonas Maebe
b9f6efc85b
+ "compproc" helpers
...
* renamed several helpers so that their name is the same as their
"public alias", which should facilitate the conversion of processor
specific code in the code generator to processor independent code
* some small fixes to the val_ansistring and val_widestring helpers
(always immediately exit if the source string is longer than 255
chars)
* fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00