Commit Graph

11411 Commits

Author SHA1 Message Date
pierre
b19f79bc58 * Set solaris default for x86_64 compiler if on solaris system
git-svn-id: trunk@14241 -
2009-11-21 16:30:25 +00:00
pierre
30161fdc04 * Use as_ggas for x86_64 solaris
git-svn-id: trunk@14240 -
2009-11-21 16:26:25 +00:00
pierre
ff25f1797c + Add gas for x86_64 solaris
git-svn-id: trunk@14239 -
2009-11-21 16:21:10 +00:00
Jonas Maebe
af85e45b67 + support for id.anyobjcmethodinscope() calls for Objective-Pascal code,
using standard FPC overload selection logic
  * fixed detection of references to static symbol tables for class
    helpers

git-svn-id: trunk@14234 -
2009-11-21 00:14:21 +00:00
Jonas Maebe
9d5b597105 * don't push/pop the unit/program's static symtable on/off the symtable stack
before parsing the main begin/end, because that symtable is already on the
    symtable stack at that point   

git-svn-id: trunk@14233 -
2009-11-21 00:11:39 +00:00
florian
f54365db94 * adapted more fpc-mips stuff to trunk
git-svn-id: trunk@14230 -
2009-11-20 21:13:53 +00:00
florian
0c8546f94c * more MIPS code of David Zhang integrated
git-svn-id: trunk@14228 -
2009-11-20 14:46:45 +00:00
Jonas Maebe
2ef18ba527 * use pipes instead of temporary files by default for assembling under
Darwin

git-svn-id: trunk@14227 -
2009-11-20 13:20:01 +00:00
Jonas Maebe
e244acad77 * set default cpu type to pentiumm for darwin/i386 (since the first Macs
with an Intel cpu had a Core Solo)

git-svn-id: trunk@14226 -
2009-11-20 13:07:45 +00:00
pierre
a93c468518 * Revert wrong commit for fpcfg.inc
git-svn-id: trunk@14225 -
2009-11-20 11:09:19 +00:00
pierre
0687f16a04 * Accept weak for Solaris targets
git-svn-id: trunk@14224 -
2009-11-20 11:06:50 +00:00
pierre
db8f8e2637 + Register x86_64 Solaris
git-svn-id: trunk@14223 -
2009-11-20 11:05:55 +00:00
pierre
7686c36a62 + Register Solaris
git-svn-id: trunk@14222 -
2009-11-20 11:05:09 +00:00
pierre
57b0a1b0da + Add target_x86_64_solaris constant
git-svn-id: trunk@14221 -
2009-11-20 10:51:02 +00:00
florian
e5ebb2a26e * started to integrate the code of David Zhang's MIPS code from fpc-mips on sf into fpc trunk
git-svn-id: trunk@14219 -
2009-11-19 22:07:10 +00:00
Jonas Maebe
671f8a1d30 * always immediately reset isdbgwritten for syms in the parasymtable,
because they have to be written multiple times in case the procdef
    is also written multiple times (such as with DWARF on
    tf_dwarf_only_local_labels systems)

git-svn-id: trunk@14214 -
2009-11-18 22:31:08 +00:00
Jonas Maebe
b495fbb991 * let search_class_helper() only return class helper methods; it could
also return regular objcclass methods before, because these are also
    registered under class helper procsyms for future id.anymethod support
  * give an error when calling an inherited method from an objccategory
    method, if that is not declared in the parent of the extended class
    (since calling inherited in an objccategory method is the same as
     calling inherited in a method of the extended class; if a method is
     replaced, calling inherited will *not* call the original method
     from the original class)

git-svn-id: trunk@14213 -
2009-11-18 21:49:57 +00:00
pierre
791c165af9 * Use ELF assembler for i386/Solaris target
git-svn-id: trunk@14208 -
2009-11-18 10:50:11 +00:00
Jonas Maebe
749e791768 * fixed in-code for big endian systems and smallsets < 4 bytes
(fixes tbs/tb0219 on big endian systems after r14177)

git-svn-id: trunk@14206 -
2009-11-17 22:05:12 +00:00
Jonas Maebe
f8754d8fab + Objective-C category support (old and new ABI, both external and
implemented in Pascal). See
    http://wiki.freepascal.org/FPC_PasCocoa#Category_declaration for syntax
    details

git-svn-id: trunk@14196 -
2009-11-16 00:12:08 +00:00
Jonas Maebe
9e87f42b16 * made internalerror unique
git-svn-id: trunk@14195 -
2009-11-16 00:06:17 +00:00
florian
f54ea1e9f9 * fix compilation with -dEXTDEBUG
git-svn-id: trunk@14190 -
2009-11-15 18:26:50 +00:00
Jonas Maebe
60a9ef963d * finished basic support for calling methods from external C++ classes
(slightly modified patch by Sven Barth, mantis #15082)

git-svn-id: trunk@14185 -
2009-11-15 14:55:40 +00:00
Jonas Maebe
122e5714d8 * create/destroy codegen before/after generating exports, because it's
required when generating non-PIC code, and also for all Darwin platforms
    (required after r13801)

git-svn-id: trunk@14181 -
2009-11-15 11:19:09 +00:00
Jonas Maebe
af80b89f55 * set default set packing to 1 for TP/Delphi mode (mantis #15088)
git-svn-id: trunk@14177 -
2009-11-14 23:54:10 +00:00
florian
5d01732128 * several fixes which improve the behaviour of nested generics, resolves #15077
git-svn-id: trunk@14176 -
2009-11-14 22:24:55 +00:00
pierre
fb8d60a03e * use same alignment for i386 solaris as for i386 linux
git-svn-id: trunk@14174 -
2009-11-14 16:27:20 +00:00
paul
bcca902839 compiler: add fpc_has_operator_enumerator define
git-svn-id: trunk@14171 -
2009-11-14 11:19:07 +00:00
Jonas Maebe
59d72f12d7 * skip hidden parameters while generating a cppdecl mangled name (patch by
Sven Barth, mantis #15063)

git-svn-id: trunk@14159 -
2009-11-12 20:08:08 +00:00
Jonas Maebe
f7360d47c5 - removed aitconst_indirect_symbol, replaced with tai_directive
(patch by Dmitry Boyarintsev, mantis #15050)

git-svn-id: trunk@14157 -
2009-11-12 19:39:41 +00:00
florian
851b00f8e9 * more properties fixed
git-svn-id: trunk@14156 -
2009-11-12 18:11:10 +00:00
Jonas Maebe
e04198d96f * prefetch next list elements while writing out assembler list, makes
that routine 15-20% faster on my Core 2

git-svn-id: trunk@14137 -
2009-11-10 19:32:49 +00:00
Jonas Maebe
3a774ce66a * fixed alignment for (non-)lazy symbol sections
* converted lazy symbol directive in arm/cgcpu.pas to section, forgotten
    in r14128 (fixes mantis #15047)

git-svn-id: trunk@14135 -
2009-11-10 10:43:15 +00:00
Jonas Maebe
8bc3dbafb7 * emit alignment of tai_section's instead of ignoring it
git-svn-id: trunk@14134 -
2009-11-10 10:34:15 +00:00
Jonas Maebe
edacea82be * changed assembler directives for darwin lazy/non-lazy symbol pointers
and init/fini routines into their section equivalents (based on patch
    by Dmitry Boyarintsev, mantis #15037)

git-svn-id: trunk@14128 -
2009-11-09 22:20:01 +00:00
Jonas Maebe
62c1781bea + mw_pascal calling convention support for ARM, ppc64 and x86_64: identical
to cdecl, except that all const record parameters are passed by reference
    (required for Mac OS X interfaces)

git-svn-id: trunk@14114 -
2009-11-08 13:42:11 +00:00
giulio2
58eb923ff5 Allow negative offset in segment:offset declarations, if the resulting
address is valid (fixes webtbs/tw1622.pp on go32v2).

git-svn-id: trunk@14100 -
2009-11-07 14:38:13 +00:00
paul
e520a2b941 compiler: for-in loop: fix temporary array range type
git-svn-id: trunk@14095 -
2009-11-07 10:56:54 +00:00
paul
cc8f91f2d0 compiler: allow enumeration of multidimensional arrays with implicit array conversion + test
git-svn-id: trunk@14093 -
2009-11-07 06:21:07 +00:00
pierre
d12c36ee32 * add to missing CPUs
git-svn-id: trunk@14090 -
2009-11-07 00:23:04 +00:00
paul
aa357a5f3b compiler: fix error message positions for the for-in loop errors
git-svn-id: trunk@14088 -
2009-11-06 17:52:42 +00:00
paul
e511555d64 compiler: fix position information of the for-in loop (needs for correct debug info)
git-svn-id: trunk@14087 -
2009-11-06 17:42:55 +00:00
pierre
b9a8592a11 * fix problem when svn is not found and add phony revision rule
git-svn-id: trunk@14085 -
2009-11-06 16:46:48 +00:00
pierre
fec158cfdf * Remove FORCE for revision.inc target, correct rule
git-svn-id: trunk@14084 -
2009-11-06 15:10:56 +00:00
pierre
a977607e49 + revision.inc rule added
git-svn-id: trunk@14083 -
2009-11-06 14:47:32 +00:00
pierre
3f28cfafe2 * Only update revision.inc if it is already present
git-svn-id: trunk@14079 -
2009-11-06 11:13:42 +00:00
pierre
2295a9f23b * add -dREVINC even when REVSTR is already set, needed for cycle
git-svn-id: trunk@14077 -
2009-11-06 10:34:24 +00:00
pierre
b6d0a93599 * Fix REVSTR for windows OS
git-svn-id: trunk@14076 -
2009-11-06 10:18:07 +00:00
pierre
9bd672b3e4 * Use SRCEXEEXT for svnversion as EXEEXT is for target and not defined in prerules
git-svn-id: trunk@14075 -
2009-11-06 09:35:16 +00:00
pierre
a0159a9740 * Adapt script to DJGPP 2.04
git-svn-id: trunk@14073 -
2009-11-06 00:13:42 +00:00