mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-27 19:31:40 +01:00
tarrayconstructornode.inset_typeconvs() and fixed them:
* integers < 32 bit are converted to 32 bit (this was previously
done in the code generator for some targets, and not for others)
* currency is also converted to double for targets where currency = int64
* single is converted to double, except for x86_64 (is at least
necessary on darwin/ppc, darwin/i386 and linux/i386)
* enums are converted to 32 bit ints
* procvars are converted to pointers
* proper errors are given for various unsupported types
NOTE: in C, floating point constants are by default double, while in
FPC they are of type extended. On platforms where extended <> double,
such constants when passed to C varargs are automatically converted
to double by default (gives warning). If you want to pass them as
single or extended or get rid of the warning, use an explicit typecast
* increased ppu version because of introduction of new node flag
(nf_cvarargs for tarrayconstructornode)
* fixed tests/test/cg/tprintf
* changed tests/test/cg/cdecl/taoc5 to use explicit typecasts for
floating point constants passed to C varargs functions.
git-svn-id: trunk@2949 -
|
||
|---|---|---|
| .. | ||
| errorct.msg | ||
| errord.msg | ||
| errore.msg | ||
| errores.msg | ||
| errorf.msg | ||
| errorhe.msg | ||
| errorn.msg | ||
| errorpl.msg | ||
| errorpli.msg | ||
| errorptd.msg | ||
| errorptw.msg | ||
| errorr.msg | ||
| errorrw.msg | ||
| errorues.msg | ||