Commit Graph

10052 Commits

Author SHA1 Message Date
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
peter
1dd62b8686 * write also asmblocklabel for a connected labelsym
git-svn-id: trunk@8159 -
2007-07-23 21:01:32 +00:00
peter
0fc65c5eec * for tp mode don't allow unitname reuse
git-svn-id: trunk@8158 -
2007-07-23 20:38:05 +00:00
florian
5e60b52f28 * ignore pic directive/switch if the platform doesn't support pic, resolves #9281
git-svn-id: trunk@8157 -
2007-07-23 20:25:04 +00:00
florian
8b11f99765 * let the dfa do the detection of unset function results if possible
git-svn-id: trunk@8156 -
2007-07-23 20:23:50 +00:00
florian
a2ac6c698d * fixed dfa for raise nodes
git-svn-id: trunk@8155 -
2007-07-23 20:22:36 +00:00
peter
89eddc7504 * check for valid reference before parsing extra constant values
git-svn-id: trunk@8154 -
2007-07-23 20:16:23 +00:00
peter
703b8855cc * allow local procsym in delphi mode
git-svn-id: trunk@8148 -
2007-07-23 09:15:32 +00:00
florian
b6cca14944 * proper handling of dummy result node in dfa, resolves #8717 and #8079
+ tests

git-svn-id: trunk@8147 -
2007-07-23 08:57:31 +00:00
peter
ad4846a50e * don't allow generics as parent classes
git-svn-id: trunk@8144 -
2007-07-22 23:10:24 +00:00
peter
8bd95f4dd4 * keep signess of orginal variable in shl/shr operation
git-svn-id: trunk@8143 -
2007-07-22 22:56:35 +00:00
peter
725f1d7176 * remove wrong $esle x86_64 causing uninitialized variable
git-svn-id: trunk@8141 -
2007-07-22 20:57:05 +00:00
peter
67e16340be * revert r8118
git-svn-id: trunk@8139 -
2007-07-22 19:59:00 +00:00
peter
5e36a73b80 * create a new vmt entry also if return type differs
* search all parent classes for matching interface implementations

git-svn-id: trunk@8138 -
2007-07-22 19:47:55 +00:00
peter
98cc116dd2 * fix passing string to open array of string
git-svn-id: trunk@8137 -
2007-07-22 19:44:56 +00:00
florian
be6d2dd0f9 * reverted wrong commit in r8133
git-svn-id: trunk@8135 -
2007-07-22 17:00:51 +00:00
florian
447276c5bb * Jcc reads the flags, this was not in the dat yet, resolves #9278
* disabled 4 ops variant of insertq for now

git-svn-id: trunk@8133 -
2007-07-22 16:40:44 +00:00
peter
f70a4a64a0 * swapendian for 2.0.x
git-svn-id: trunk@8132 -
2007-07-22 16:13:43 +00:00
daniel
5add416dab * Fix mul opsize
git-svn-id: trunk@8131 -
2007-07-22 11:48:10 +00:00
daniel
6065bee1c2 * qword(-int64) can cause an overflow error in case of low(int64). Harmless, so
disable overflow checking around it.

git-svn-id: trunk@8124 -
2007-07-22 08:32:49 +00:00
florian
4b9669a081 * give proper error location if something is wrong with the type argument list, resolves #9112
git-svn-id: trunk@8122 -
2007-07-21 21:49:59 +00:00
daniel
21293f5818 + Add common type integer promotion.
- {$intpromotion common_type} or -CIcommon_type switches to common type promotion.
    - {$intpromotion native_integer} or -CIcommon_type switches to current behaviour.
    - Default in tp mode is common_type, native_integer in other modes
    - Compiler can cycle with -CIcommon_type
    - Still needs checking on other architectures than i386

git-svn-id: trunk@8118 -
2007-07-21 19:16:24 +00:00
florian
fa2a2b0bd0 * generics without specialization can't be used as a type, resolves #9225
git-svn-id: trunk@8116 -
2007-07-21 17:39:49 +00:00
daniel
4c81c227fa - Remove long2hex, replace by hexstr.
git-svn-id: trunk@8111 -
2007-07-21 10:29:09 +00:00
daniel
5ce54c6a20 + For muln, don't load left operand in register unless necessary.
(mul supports memory operands).

git-svn-id: trunk@8110 -
2007-07-21 09:20:33 +00:00
Jonas Maebe
49a2084ea0 * fixed calling inline functions (with exit statements) from inside
finally blocks
  * fixed the handling of function results of inlined functions with
    exit statements
  + test for the above two issues and for bug fixed in r8091
  * copy may_be_in_reg field inside ttempcreatenode.dogetcopy (allows
    some more temps which were needlessly forced into memory to be in
    registers)

git-svn-id: trunk@8108 -
2007-07-20 16:49:35 +00:00
Jonas Maebe
20dbda751a * fixed sparc compilation after addr_lo/hi changes
git-svn-id: trunk@8107 -
2007-07-20 12:30:16 +00:00
michael
61dae2cf4f * Patch from Ido Kanner to update translations
git-svn-id: trunk@8098 -
2007-07-18 21:12:15 +00:00
Jonas Maebe
1a522594ec * fixed tonnode.getcopy crash in case there is no exception variable
git-svn-id: trunk@8091 -
2007-07-18 19:03:49 +00:00
Jonas Maebe
71193c0f2c * fixed bootstrapping with 2.0.4
* fixed ppc64 compilation (by reintroducing a bogus ptrint warning, that
    code really is correct)

git-svn-id: trunk@8090 -
2007-07-18 12:15:55 +00:00
joost
787b968e70 * Replaced "uname m" from which the output was not very consistent with "fpc -PP"
git-svn-id: trunk@8084 -
2007-07-17 17:39:35 +00:00
Jonas Maebe
28bab3fb4f - removed some unused variables
* fixed some (harmless) ptrint warnings
  - removed some commented code in agppcmpw
  * added one missing field in a typed constant in cp1251

git-svn-id: trunk@8081 -
2007-07-17 13:57:15 +00:00
florian
2b2c6f7f53 * don't add empty symtables when specializing generics
git-svn-id: trunk@8066 -
2007-07-15 17:16:21 +00:00
daniel
a05d228679 - Remove IE from g_concatcopy again.
git-svn-id: trunk@8065 -
2007-07-15 16:15:13 +00:00
yury
3e60b4a8dd * Don't optimize (eliminate) arm fpu move instruction if it performs float type conversion. It fixes tb0519.pp on arm-linux.
git-svn-id: trunk@8059 -
2007-07-14 21:52:15 +00:00
daniel
f0633187f4 + Change constants in g_concatcopy to make the right decisions on x86_64.
* Fix move copy in g_concatcopy for x86_64.

git-svn-id: trunk@8058 -
2007-07-14 21:29:57 +00:00
daniel
4a3870eb12 * Fix bug #9261.
git-svn-id: trunk@8056 -
2007-07-14 20:57:56 +00:00
tom_at_work
49b84c3116 * remove obsolete code
git-svn-id: trunk@8053 -
2007-07-14 19:18:15 +00:00
daniel
4f6eb50391 + Internalerror if g_concatcopy is called with len=0.
git-svn-id: trunk@8052 -
2007-07-14 18:56:16 +00:00
yury
afdd053172 * fixed unary minus in softfloat mode (bug #8737).
git-svn-id: trunk@8047 -
2007-07-14 10:09:37 +00:00