Jonas Maebe
b1631b6918
* fixed wrong uninitialized warnings with passing array elements
...
as out-parameters
git-svn-id: trunk@8337 -
2007-08-29 20:23:59 +00:00
Jonas Maebe
e4487e628d
* fixed overload choosing error on 64 bit
...
git-svn-id: trunk@8327 -
2007-08-29 06:30:38 +00:00
yury
1159ee9744
* Small improvement to previous commit.
...
git-svn-id: trunk@8325 -
2007-08-28 21:06:15 +00:00
yury
614dbe6a8c
* Fixed inclusion of multiple resource files with icons or cursors. Patch by Sergei Gorelkin modified by me to reduce memory usage. Bug #9459 .
...
git-svn-id: trunk@8324 -
2007-08-28 20:54:32 +00:00
Jonas Maebe
5bc156efea
* always demote type conversions which cannot represent part of the
...
source value to convert_l3, instead of only those with a destination
type whose size is < source size (like Delphi) + test -> fixes
toperator6 along with a host of wrong tordconst typeconversions in
the compiler sources themselves (although most are harmless)
git-svn-id: trunk@8323 -
2007-08-28 19:38:40 +00:00
Jonas Maebe
0bfce99477
* fixed bug in ppc jumptable generation for case statements with
...
negative cases caused by wrong automatic type conversion from
longint to unsigned tconstexprint (+ test for such jump tables)
* fixed darwin/ppc64 jumptables in case of jmptablenorange
git-svn-id: trunk@8311 -
2007-08-26 11:15:14 +00:00
michael
95c712faa1
* Escaped some TeX special characters in documentation
...
git-svn-id: trunk@8305 -
2007-08-25 13:33:46 +00:00
Jonas Maebe
399201ad7d
* removed rodata support for ppc64 again because it doesn't work on
...
linux/ppc64. Added explanation why it doesn't work and what's needed
git-svn-id: trunk@8304 -
2007-08-24 17:19:52 +00:00
Jonas Maebe
30bc89cfe5
* fixed dependency checking for source files in subdirectories relative
...
to the makefile location + regenerated all Makefiles
* hopefully fixed fpmkunit dependencies
git-svn-id: trunk@8297 -
2007-08-22 07:04:23 +00:00
Jonas Maebe
2b91a9ef37
+ jumptable support for darwin/ppc64
...
git-svn-id: trunk@8285 -
2007-08-14 17:32:24 +00:00
Jonas Maebe
eddc507a13
* disallow widechar sets (Delphi 7 compatible, and were handled wrongly
...
by FPC previously)
* tbs/tb0474 now fails -> renamed to tbf/tb0201 (+ new test tbf/tb0202)
git-svn-id: trunk@8284 -
2007-08-14 14:27:59 +00:00
Jonas Maebe
eec25e454d
* slightly optimized ppc jumptable code (one compare+jump replaced
...
by a subtraction)
git-svn-id: trunk@8283 -
2007-08-14 14:17:09 +00:00
Jonas Maebe
3a7ad5212d
* removed some instructions from the list which considers r0 as 0
...
git-svn-id: trunk@8282 -
2007-08-14 14:15:35 +00:00
Jonas Maebe
1c71bb36a1
* also check for valid min/maxlabel range for jumptable in case
...
of cs_opt_size
git-svn-id: trunk@8281 -
2007-08-14 13:58:56 +00:00
Jonas Maebe
fc53d14e58
* also enable .rodata for ppc64
...
git-svn-id: trunk@8278 -
2007-08-13 15:02:39 +00:00
Jonas Maebe
d73e79f163
* fixed regression of webtbs/tw4254: if a constant (wide)string can't be
...
converted to a pchar at compile time, remove the cstring_to_pchar node
because it expects a stringconstn in pass_generate_code
git-svn-id: trunk@8275 -
2007-08-13 09:13:07 +00:00
Jonas Maebe
815cd2b39d
+ support for widestring manager based widechar conversions
...
(widechar<->char, widechar<>*string), based on patch from
Rimgaudas Laucius (mantis #7758 )
* no longer perform compile-time widechar/string->char/ansi/
shortstring conversions if they would destroy information
(they can't cope with widechars with ord>=128). This means
that you can now properly constant widechars/widestrings
in source code with a {$codepage } set without risking that
the compiler will mangle everything afterwards
* support ESysEINVAL return code from iconv (happens if last
multibyte char is incomplete)
* fixed writing of widechars (were converted to char -> lost
information)
git-svn-id: trunk@8274 -
2007-08-12 20:01:08 +00:00
Jonas Maebe
c408d9bb1d
* fixed regression of webtbs/tw2789 caused by r8270 (setting vs_read
...
without vsf_must_be_valid means that it's not really read, but
only used by sizeof or so)
git-svn-id: trunk@8273 -
2007-08-12 19:52:57 +00:00
Jonas Maebe
a8191abd16
* fixed parsing of "rcl/rcr rm,imm" (mantis #9025 )
...
git-svn-id: trunk@8272 -
2007-08-12 13:50:52 +00:00
Jonas Maebe
12791bf4f1
* avoid spurious uninitialised warnings about array elements used as
...
for-loop counters
git-svn-id: trunk@8270 -
2007-08-12 13:19:30 +00:00
Jonas Maebe
097c2db374
* make sure warnings/hints in set_varstate are always given at the
...
correct position
git-svn-id: trunk@8269 -
2007-08-12 13:18:39 +00:00
Jonas Maebe
3f701c96d4
* explicitly check for stringconstn next to stringdef in nadd, because
...
a stringconstn is often an arraydef. The result is that they again
get the same typeconversion behaviour as string variables, which is
important in case of overloaded operators (#9021/#9026)
git-svn-id: trunk@8268 -
2007-08-12 11:31:19 +00:00
Jonas Maebe
9c90a93932
* fixed bug which caused SSA to be less effective for integer
...
registers on 64 bit cpus
git-svn-id: trunk@8253 -
2007-08-09 11:57:52 +00:00
yury
e7ef9757c9
* Corrected comment.
...
git-svn-id: trunk@8252 -
2007-08-09 10:33:18 +00:00
Jonas Maebe
e205481027
* fixed sparc bootstrap
...
* use -Av9 assembler option so it accepts the memory barrier opcodes
git-svn-id: trunk@8244 -
2007-08-08 09:48:37 +00:00
Jonas Maebe
98ad33a0c7
+ added lwsync instruction to the compiler
...
* fixed compilation of ReadDependencyBarrier
git-svn-id: trunk@8243 -
2007-08-08 09:15:48 +00:00
micha
d95b9082bb
* add memory barrier prototypes + implementation for i386 and sparc + use lwsync for powerpc64
...
git-svn-id: trunk@8240 -
2007-08-07 20:37:08 +00:00
peter
2e9968d46c
* arrays always by addr
...
git-svn-id: trunk@8232 -
2007-08-06 19:44:25 +00:00
peter
f5d5e377d2
* fix linux x86_64 for records and arrays
...
git-svn-id: trunk@8224 -
2007-08-05 19:38:21 +00:00
Jonas Maebe
881f884f4c
* also pass -arch parameter when creating bundles
...
git-svn-id: trunk@8223 -
2007-08-05 11:05:20 +00:00
Jonas Maebe
4cdd590091
* use app_type instead of RelocSection for creating bundles, as
...
RelocSection is automatically set for all shared libraries
git-svn-id: trunk@8219 -
2007-08-04 09:13:34 +00:00
Jonas Maebe
84ddacd017
+ support for creating a bundle instead of a library on Darwin (-Wb)
...
git-svn-id: trunk@8217 -
2007-08-03 12:42:49 +00:00
Jonas Maebe
f1f1299e97
* generalised -W description to "target-specific options"
...
* mention for each -W option to which targets it applies
* show all available -W options for all target architectures they apply to
* reworded some option descriptions
* all option descriptions now start with a capital for consistency
git-svn-id: trunk@8216 -
2007-08-03 12:13:27 +00:00
peter
4e6c57b9ee
* cleanup x86_64 structures in registers
...
git-svn-id: trunk@8214 -
2007-08-02 20:46:48 +00:00
Jonas Maebe
fc70aa545c
* changed boolean fields in ttempinfo to a set for easier
...
extensibility without increasing the size of the record
git-svn-id: trunk@8199 -
2007-07-29 19:37:06 +00:00
Jonas Maebe
70886d0152
* now also disable use8byteconcatcopy by default
...
git-svn-id: trunk@8197 -
2007-07-29 19:09:12 +00:00
florian
70b0bd1c5d
* throw better error when variable values are used as typed consts, resolves #9333
...
git-svn-id: trunk@8188 -
2007-07-29 14:29:19 +00:00
Jonas Maebe
ceeac6e8e4
* don't use 8 byte copies in concatcopy by default, because
...
a misaligned 8 byte load/store is much more expensive than
a misaligned 4 byte load/store
git-svn-id: trunk@8182 -
2007-07-28 15:47:04 +00:00
Jonas Maebe
661c2eba37
* clean up of previous fix
...
git-svn-id: trunk@8177 -
2007-07-28 10:48:12 +00:00
Jonas Maebe
4b62d5e43d
* only create PASCALFINALIZE for programs and libraries
...
git-svn-id: trunk@8176 -
2007-07-28 10:47:31 +00:00
marco
727b68c9b0
* small fix for OS X related typo.
...
git-svn-id: trunk@8175 -
2007-07-28 10:09:23 +00:00
florian
4151029ee5
+ .fini section support
...
git-svn-id: trunk@8174 -
2007-07-28 08:40:10 +00:00
tom_at_work
5428135ca7
* always use the non-dotted name for function calls and disable putting constants into the got (should be: toc) for now; fixing cycle with "-Cg"
...
git-svn-id: trunk@8172 -
2007-07-27 20:28:08 +00:00
Jonas Maebe
62c4f85eb5
* renamed opd section (linux/ppc64) to .opd (same as used by gcc)
...
git-svn-id: trunk@8171 -
2007-07-27 17:32:39 +00:00
florian
c00b667201
* update from Karl-Michael Schindler
...
git-svn-id: trunk@8170 -
2007-07-27 14:17:06 +00:00
Jonas Maebe
9c69c9dcf8
* fixed handling of paths/files with spaces in their name in link.res
...
on platforms where the `cat link.res` trick is used. Those must
/not/ be quoted, because otherwise the shell assumes those quotes
are part of the filename, and will escape the quotes themselves.
Instead, write everything out without quotes, but set IFS to
<newline> before doing the cat, so that only a new line is seen
as a separator between items. The shell will then insert the
necessary quotes to escape the spaces. One disadvantage: this
means that other options, such as e.g. "-arch ppc" under Darwin,
must now be written split over two lines to avoid the shell
passing such parameters (which consist of two separate strings)
as one single parameter (with an escaped space) to ld.
git-svn-id: trunk@8166 -
2007-07-25 16:25:14 +00:00
Jonas Maebe
a3c9dc5ec6
+ support for {$linkframework x} to link to framework x (Darwin only)
...
+ support for {$frameworkpath x} and -Ffx to add x to the directories to
search for frameworks (Darwin only)
git-svn-id: trunk@8165 -
2007-07-25 15:42:30 +00:00
michael
bedf0151cc
* Implemented support for custom RC compiler and .RES linker
...
git-svn-id: trunk@8164 -
2007-07-25 12:06:57 +00:00
peter
c020d709b4
* default widestring-ansistring conversion needs to use the same algorithm
...
as the rtl to behave the same on compile time and runtime
git-svn-id: trunk@8161 -
2007-07-23 21:57:48 +00:00
peter
1249bf70ff
* shorten mangledname names much quicker for nested procedures
...
git-svn-id: trunk@8160 -
2007-07-23 21:36:16 +00:00