Commit Graph

38164 Commits

Author SHA1 Message Date
florian
5b13ef1025 + added sse/avx instructions sets introduced during the last years
git-svn-id: trunk@22287 -
2012-09-02 20:55:12 +00:00
florian
86a6cee8fa - removed due to BSD license header
git-svn-id: trunk@22286 -
2012-09-02 20:46:58 +00:00
nickysn
cb4dadb079 + TZipper: added support for zip file comments
git-svn-id: trunk@22285 -
2012-09-02 17:46:16 +00:00
nickysn
cf29cdf1f3 + TUnZipper: added support for zip file comments
git-svn-id: trunk@22284 -
2012-09-02 16:53:59 +00:00
nickysn
cd4ea7f340 + set the minimum required zip version for each file according to the compression algorithm used
git-svn-id: trunk@22282 -
2012-09-02 15:36:03 +00:00
Jonas Maebe
62c8e47547 + override unnecessary abstract thlcgobj methods with internal errors
git-svn-id: trunk@22281 -
2012-09-02 14:32:31 +00:00
Jonas Maebe
56378f907f * keep track of required stack frame alignment (this information is however
not yet actually used for anything)

git-svn-id: trunk@22280 -
2012-09-02 14:32:26 +00:00
Jonas Maebe
b1dc518ac4 * removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead
git-svn-id: trunk@22279 -
2012-09-02 14:32:21 +00:00
Jonas Maebe
bd31004fdb + describe for each supported target the default guaranteed stack alignment
git-svn-id: trunk@22278 -
2012-09-02 14:32:12 +00:00
Jonas Maebe
a5cb157091 * enable specifying the alignment mismatch of the frame/stack pointer
relative to the normal stack alignment of the target (e.g., when using
    ebp as framepointer, all addresses are offset 8 to the stack pointer) in
    the temp generator. This enables allocating temps/locals with the correct
    alignment as long as the required alignment is not bigger than the
    guaranteed stack pointer alignment (fixes mantis #15582 on systems where
    the stack pointer is at least aligned to 16 bytes; e.g., not yet on
    i386-platforms other than darwin)

git-svn-id: trunk@22277 -
2012-09-02 14:32:05 +00:00
Jonas Maebe
4cae00f97a * never use a linear table for enum<->string translation when two enums have
the same value (mantis #22570)

git-svn-id: trunk@22276 -
2012-08-31 18:51:59 +00:00
joost
a6e18e0f68 * Added PackageVariants. Those can be used to define multiple selectable
variants with different compiler-settings. 

git-svn-id: trunk@22275 -
2012-08-31 11:05:24 +00:00
michael
d02619b8af * Removed pqlib and default value. It should always load the lib loaded by postgres3dyn
git-svn-id: trunk@22274 -
2012-08-31 10:04:58 +00:00
michael
13f20b72c7 * Set library name to pqlib for all windowses
git-svn-id: trunk@22273 -
2012-08-31 10:00:38 +00:00
Jonas Maebe
9feee08eba * mark Java inner interfaces as "static abstract" like javac, solves the
"Illegal class modifiers in class SomeClass 0x209" when implementing
    such interfaces in code compiled by Eclipse's internal compiler

git-svn-id: trunk@22272 -
2012-08-30 22:30:32 +00:00
Jonas Maebe
952ac1ffa6 * only use indirect symbol loads for (weak)external and private_external
symbols on darwin/ppc and darwin/i386, and also for common symbols on
    darwin/ppc, as they're not required for other kinds of symbols on those
    platforms (gcc doesn't use them either with -O1 and higher; it does use
    them always for darwin/ppc64 except for local symbols, and hence so do we)

git-svn-id: trunk@22271 -
2012-08-30 21:30:38 +00:00
Jonas Maebe
c71cb9dc69 * fixed null termination of cmdline (based on patch by C Western,
mantis #22742) -- that function seems like a good candidate to
    put in a shared include file though

git-svn-id: trunk@22270 -
2012-08-30 21:30:31 +00:00
Jonas Maebe
8a4c12ab36 * include -Oofastmath in -O4
git-svn-id: trunk@22268 -
2012-08-30 08:00:33 +00:00
Jonas Maebe
01b5e2b6f6 * use the parsed node type for checking the validity of default parameter
values instead of a default based on the resulting constsym (more robust)

git-svn-id: trunk@22267 -
2012-08-29 16:09:13 +00:00
Jonas Maebe
ad054831bb * save/restore itype and implementsgetter fields of timplementedinterface
to/from ppu, because it can be required while resolving type casts
    (mantis #22741)

git-svn-id: trunk@22266 -
2012-08-29 16:07:55 +00:00
pierre
c501e6db5f Partial fix for bug report 22744
git-svn-id: trunk@22265 -
2012-08-29 14:35:06 +00:00
pierre
3c96d89a6b Add test for bug regarding {$pop} next to a statement
git-svn-id: trunk@22264 -
2012-08-29 14:30:14 +00:00
pierre
f1687fe8a6 Do not include CPUMIPS32 in extradefines for mips/mipsel systems as it is added in options unit
Do not include MIPSEL in extradefines for system_mipsel_linux as this forbids cross-compilation

git-svn-id: trunk@22263 -
2012-08-28 13:51:29 +00:00
michael
441e059f32 * Changed ooChanged to ooChange, to be more consistent with tense in other values
git-svn-id: trunk@22262 -
2012-08-28 12:32:15 +00:00
michael
8d9f8e19c3 * remove use of ooCustom to avoid polluting custom use
git-svn-id: trunk@22261 -
2012-08-28 12:30:06 +00:00
michael
8a64893df6 * Forgot to commit
git-svn-id: trunk@22260 -
2012-08-28 07:20:42 +00:00
Mattias Gaertner
32d1c5444d fpreadtiff: undo wrong fix
git-svn-id: trunk@22259 -
2012-08-27 20:16:38 +00:00
michael
445ec2672a * TCollection.Exchange also needs to notify
git-svn-id: trunk@22258 -
2012-08-27 19:35:54 +00:00
michael
43be53351e * Added observer support
git-svn-id: trunk@22257 -
2012-08-27 19:28:14 +00:00
Mattias Gaertner
e40505a998 fpreadtiff: fixed reading last byte of chunk
git-svn-id: trunk@22256 -
2012-08-27 16:54:43 +00:00
Jonas Maebe
33f5de990d * fixed indentation
git-svn-id: trunk@22255 -
2012-08-26 21:04:51 +00:00
Jonas Maebe
f5de7e34d3 * only remove the calculation of unused parameters of inline routines if
they don't have explicit side-effects, and if -Oodeadvalues (part of -O4)
    is active (because it can result in the removal of range check errors,
    segmentation faults, etc)

git-svn-id: trunk@22254 -
2012-08-26 21:04:46 +00:00
Jonas Maebe
eeda54b7eb * fixed copy-paste error in -O4 description
git-svn-id: trunk@22253 -
2012-08-26 21:04:40 +00:00
Jonas Maebe
2dbe48a76c * extra "addr" parameters for get_caller_addr/frame (patch by
Jeppe Johansen, mantis #22727)

git-svn-id: trunk@22252 -
2012-08-26 19:07:36 +00:00
Jonas Maebe
a080669771 * disabled arrayconstructorn,arrayconstructorrangen as cseinvariants
(fixes lazarus compilation)

git-svn-id: trunk@22251 -
2012-08-26 17:59:21 +00:00
Jonas Maebe
68d9e95120 * if the size of an operand is not explicitly forced in intel assembler
(e.g. via "dword ptr"), let the size of accessed fields in memory
    expressions override the default size (mantis #18019)

git-svn-id: trunk@22250 -
2012-08-26 17:05:31 +00:00
Jonas Maebe
198625af47 * fixed memory statistics after try_concat_free_chunk_forward() concatenated
some blocks, but the result was still not large enough to satisfy a
    reallocmem call (mantis #14315)

git-svn-id: trunk@22249 -
2012-08-26 15:29:44 +00:00
Jonas Maebe
193c7af57f * print literal e/E in formatfloat if not followed by +/- (remaining part of
mantis #22290)

git-svn-id: trunk@22248 -
2012-08-26 14:51:32 +00:00
Jonas Maebe
e073bf3008 * set destination codepage in DefaultUnicode2AnsiMove
git-svn-id: trunk@22247 -
2012-08-26 14:51:26 +00:00
Jonas Maebe
2be5c8b9af * same change as in r22240 for darwin/ppc(64)
git-svn-id: trunk@22246 -
2012-08-26 08:58:48 +00:00
Jonas Maebe
d4eb2d7336 * fixed the conversion of 'UTF-8' to the corresponding code page number
(there's a dummy entry with code page 0 for UTF-8 in the table for
     when 0 is searched, but when going from string to number that
     entry has to be skipped so the real UTF-8 entry is used)

git-svn-id: trunk@22245 -
2012-08-26 08:58:42 +00:00
Jonas Maebe
17c495595c * made variable public so got warning gets triggered
git-svn-id: trunk@22244 -
2012-08-25 21:32:38 +00:00
Jonas Maebe
4d0e4e1b56 * treat "[var + rip]" in intel assembler mode as addr_pic_no_got on x86-64
(mantis #22665)
  + support "[var wrt ..gotpcrel]" nasm/yasm syntax in intel assembler mode
    for GOT-relative accesses on x86-64, + give an error when trying to do
    this on win64 (it doesn't have a GOT)
  * moved code that give a warning when using GOT-relative accesses to
    static data on x86-64 from the AT&T reader to rax86 so it's also
    active for the Intel assembler reader
  + added warning when not using GOT-relative accesses (but plain
    RIP-relative instead) to global data on non-Win64 x86-64

git-svn-id: trunk@22243 -
2012-08-25 15:12:49 +00:00
Jonas Maebe
2c43e084f0 * disabled "[reg].offset globalvar" pic syntax in intel assembler mode for
x86-64, because it does not specify whether the code should be got-based
    or not

git-svn-id: trunk@22242 -
2012-08-25 15:12:44 +00:00
Jonas Maebe
289486346b * factored out code to decide when an asmsym for a staticvarsym has to be
global, and no longer make it global for all symbols when smartlinking
    is enabled on systems that use section-based smartlinking

git-svn-id: trunk@22241 -
2012-08-25 15:12:39 +00:00
Jonas Maebe
35c70a6c96 * copy the darwin got register to a new register when using it, so it
cannot get modified

git-svn-id: trunk@22240 -
2012-08-25 15:12:34 +00:00
Jonas Maebe
ab9d68ae3e * always use RIP-relative addressing in x86-64 assembler code
* abort if there's a warning (warnings for wrong/dangerous pic
    will be added in a later commit)

git-svn-id: trunk@22239 -
2012-08-25 15:12:24 +00:00
Mattias Gaertner
be41f296a0 fpreadtiff: fixed checking for code 4096 before add instead of after last add, bug #22558
git-svn-id: trunk@22238 -
2012-08-25 09:18:10 +00:00
florian
d327960994 * Don't build utils by default when cross building. FPC's build system is not made
for building installation packages for another host system as the current one
  so it makes no sense to build utils for the target system. When cross compiling, the
  goal is to build files to be able to develop on the current system for the target.
  Building of utils can be forced by passing BUILDFULLNATIVE=1 to make

git-svn-id: trunk@22237 -
2012-08-24 21:18:06 +00:00
florian
a365ae3631 + define BUILDFULLNATIVE and BUILDNATIVE for native builds
git-svn-id: trunk@22236 -
2012-08-24 21:15:28 +00:00