Commit Graph

12499 Commits

Author SHA1 Message Date
pierre
bafbbe9f0f * Fix bug report 7210
git-svn-id: trunk@18154 -
2011-08-09 15:52:03 +00:00
pierre
c43b91ef15 Fix infinite loop in PUSH/POP directives
git-svn-id: trunk@18141 -
2011-08-07 20:44:22 +00:00
florian
562961fd42 * catch EOSError, EIOError and IOutOfMemory exceptions inside the compiler
so a proper error message is written (resolves #19871), 
  EOutOfMemory is not handle perfectly because it could be that the exception
  handling requires again a memory allocation

git-svn-id: trunk@18132 -
2011-08-07 09:18:07 +00:00
florian
e6e6b98dd8 * stellaris => ct_stellaris
git-svn-id: trunk@18125 -
2011-08-06 19:56:01 +00:00
Jonas Maebe
20c3809c3a * when a constant Objective-C class reference is used for anything but
the methodpointer of a call, transform it into a call to the classclass
    method because otherwise it can be used before the first call to any
    method of the class (such as in the packages/cocoaint/src/IvarSize test)
    and this can result in crashes

git-svn-id: trunk@18124 -
2011-08-06 19:49:59 +00:00
sergei
fec5dde5b6 * Fix handling of Windows WideString typed constants, resolves #15842 and completes the related #14308:
* Do not initialize unused symbols, because finalization code is not generated for them either.
  * Always initialize/finalize such constants, even if they are declared in {$J-} state and cannot be modified by user code.

git-svn-id: trunk@18121 -
2011-08-06 18:11:39 +00:00
Jonas Maebe
0398ff6bf5 * also save/restore the size of the padding of record/objectsymtables
* when creating a child class, ignore the padding added to the parent
    in case of objcclasses (gcc/clang also do that; maybe the same
    has to be done for cppclass as well)
  -> objcclass layouts seem to finally completely match the gcc ones

git-svn-id: trunk@18119 -
2011-08-06 18:01:39 +00:00
Jonas Maebe
1c11f6c8b7 + tppufile.putasizeint()
* save/restore tabstractrecordsymtable.datasize as asizeint instead of
    aint (not ppu version change because they are the same on all
    production targets)
  * add shortint() typecasts when reading/writing fieldalignment/
    recordalignment fields

git-svn-id: trunk@18118 -
2011-08-06 17:18:21 +00:00
Jonas Maebe
13598f1b5f * update of ppudump for r18114
git-svn-id: trunk@18117 -
2011-08-06 17:14:22 +00:00
Jonas Maebe
86b088f398 * store the current field alignment of tobjectdefs that use C_alignment,
because it influences the offset at which the next field in child classes
    should be placed in case it also uses C_alignment
  * also pad objectdefs based on the packrecords setting (Delphi-compatible)
  -> field offset calculation in objcclasses is now correct if they are
     compiled with {$packrecords c}

git-svn-id: trunk@18114 -
2011-08-06 13:11:23 +00:00
sergei
0231863fce + Added missing PMULLD instruction, part of Mantis #19910
git-svn-id: trunk@18106 -
2011-08-06 06:59:33 +00:00
Jonas Maebe
0d4d1a2ac8 * fixed two places where after r1913 valid_for_assign() didn't immediately
exit anymore if an error was detected

git-svn-id: trunk@18098 -
2011-08-04 22:44:00 +00:00
marco
043e9b2ec2 * Trunk version to 2.7.1
git-svn-id: trunk@18075 -
2011-08-03 13:59:33 +00:00
marco
39d7bb511d * Regenned all makefiles before 2.6.x branching.
git-svn-id: trunk@18073 -
2011-08-03 13:41:52 +00:00
Jonas Maebe
ec8c7b4888 + when compiling for Darwin/ARM, pass the subarchitecture to the linker.
The old linker option to accept object files from all subarchitecture
    types no longer works.
  + support for subarchitectures in fcl-res/fpcres

git-svn-id: trunk@18070 -
2011-08-02 20:41:39 +00:00
Jonas Maebe
da056da20f + added armv7 identifier (no special code generation, but required to
link against Xcode 3.2.6/4-generated code for ARMv7 -- use -Cparmv7,
    but note that you also have to compile the RTL and all other units with
    this option for them to be linkable against other ARMv7 code when using
    those tools)

git-svn-id: trunk@18069 -
2011-08-02 20:36:43 +00:00
Jonas Maebe
d7c1967351 * fixed switched around lists for read-only/read-write typed consts
git-svn-id: trunk@18068 -
2011-08-02 20:32:48 +00:00
Jonas Maebe
da3fb5de0f * prevent double freeing temps containing int64-sized parameters
(mantis #19700)

git-svn-id: trunk@18053 -
2011-08-01 17:12:45 +00:00
sergei
c9f92c0323 * Excluded oso_executable from attributes of user sections. User sections may currently be specified only for variables and typed consts, which are not executable.
* Fixed TLS directory size written to PE header when cross-compiling. It must be the value for target, not for host.

git-svn-id: trunk@18024 -
2011-07-27 14:10:22 +00:00
Jonas Maebe
cb1da8de85 * fixed getcopy order for ttempcreatenode in case it has tempinitcode
(this tempinitcode contains a reference to the tempcreatenode itself
     -> hookoncopy must be set before copying the tempinitnode)

git-svn-id: trunk@18016 -
2011-07-18 00:38:47 +00:00
florian
95ad75c7bf * hack to set stack top for atmega128
* default output for avr-embedded is .hex

git-svn-id: trunk@18015 -
2011-07-17 20:46:05 +00:00
florian
57613d1bb9 + add avr-embedded to systems_embedded
git-svn-id: trunk@18014 -
2011-07-17 20:44:43 +00:00
florian
5c9e0a7a1b + V is avr help screen option
git-svn-id: trunk@18013 -
2011-07-17 20:44:10 +00:00
florian
57cdf34a6b * put -Wpxxxx switch on the help screen
git-svn-id: trunk@18012 -
2011-07-17 20:42:56 +00:00
florian
ecb04d1620 * use tcgint instead of aint in ttempcreatenode
git-svn-id: trunk@18011 -
2011-07-17 20:10:05 +00:00
florian
98d3007580 + support to parse hi8/lo8(...) in inline assembler
git-svn-id: trunk@18009 -
2011-07-17 16:26:57 +00:00
florian
04e2321724 * avr cpuflags renames
+ cpuflagsstr

git-svn-id: trunk@18007 -
2011-07-17 08:55:16 +00:00
sergei
ae4cdf25f8 + aggas.pas: Write section attributes when long section names are used for smart linking (enabled for win32 and win64). It is needed because GAS does not understand that '.text.something' is part of '.text' and assigns default attributes (writable data) to all such sections, which is not the desired behavior.
git-svn-id: trunk@17989 -
2011-07-13 23:45:28 +00:00
florian
b0cef1693a * compilation of system unit was broken
git-svn-id: trunk@17972 -
2011-07-10 21:03:55 +00:00
florian
4f08d148ea * unique internal errors
git-svn-id: trunk@17970 -
2011-07-10 20:54:48 +00:00
sergei
6a2e87121b * ogcoff.pas: sort all objsections having '$' in the name, not just .idata$*. This is a documented PECOFF feature and it is required for tls callback stuff to link correctly regardless of the order of declarations in source files.
git-svn-id: trunk@17968 -
2011-07-10 12:24:35 +00:00
pierre
5a2d6c0429 Fix constant pointer reading for 64 bit CPU
git-svn-id: trunk@17962 -
2011-07-08 16:28:24 +00:00
pierre
0ca127b97e * Fix length size for non-short string types
git-svn-id: trunk@17961 -
2011-07-08 16:21:28 +00:00
pierre
f23b265ce1 + Add global testppudump rule
git-svn-id: trunk@17960 -
2011-07-08 16:01:28 +00:00
pierre
efb0193cb2 Add ./utils/ppudump prerequisite to log-ppu files
git-svn-id: trunk@17959 -
2011-07-08 15:57:27 +00:00
pierre
d4372a7ac5 * Add ppudump testing rules
git-svn-id: trunk@17958 -
2011-07-08 15:47:27 +00:00
pierre
b94cdd4881 * Handled real constants of different size
git-svn-id: trunk@17957 -
2011-07-08 15:39:04 +00:00
pierre
322e3f8a16 * More fixes for ppudump use
git-svn-id: trunk@17956 -
2011-07-08 15:38:14 +00:00
pierre
3017132268 * Remove triple sources
git-svn-id: trunk@17955 -
2011-07-08 15:37:23 +00:00
pierre
2f7a57fcab * Use extended for bestreal type if GENERIC_CPU is defined
git-svn-id: trunk@17954 -
2011-07-08 15:36:29 +00:00
pierre
eb4798238d * Display hexadecimal values of wide strings
* Set has_errors on more locations
  + Add has_more_infos boolean
  * Add -M option to set ExitCode to 2 if more info is available.
  * Support constnil type.

git-svn-id: trunk@17953 -
2011-07-08 10:32:28 +00:00
pierre
dd96bfb3dd * fix ppu dumping with ppudump utility for cross CPU
git-svn-id: trunk@17952 -
2011-07-08 08:57:24 +00:00
sergei
5d5ddbbe3e * Revert rounding section data size, it should be done in a more sophisticated way
git-svn-id: trunk@17950 -
2011-07-07 11:34:57 +00:00
sergei
2d96c34b06 * Improvements to PE executable output:
* Clear bits in section flags, that are only valid for object files
  * Round section datasize up to filealignment (PECOFF v8 documentation requires this)
  * Zero datapos and datasize for all sections w/o data, not just for .bss
  * Produce IMPORT_ADDRESS_TABLE directory in exe header
  * Entirely smartlink away unused DLLs (these used to have two terminating thunks left)

git-svn-id: trunk@17949 -
2011-07-06 20:55:57 +00:00
pierre
cff85bdb3b * Rename ag386nsm.pas unit source to agx86nsm.pas
git-svn-id: trunk@17933 -
2011-07-04 09:13:55 +00:00
pierre
f6ab12d677 * Move ag386nsm.pas to x86 directory
git-svn-id: trunk@17932 -
2011-07-04 09:08:54 +00:00
pierre
54fc0bf694 Add missing x86_64 -A options
git-svn-id: trunk@17931 -
2011-07-04 08:59:06 +00:00
pierre
bded762fef Add missing x86_64 -A options
git-svn-id: trunk@17930 -
2011-07-04 08:58:46 +00:00
pierre
d1a6ef9cd9 * Restrict use of postw32 external utility to
win32/wdosx target systems.

git-svn-id: trunk@17929 -
2011-07-04 07:36:47 +00:00
pierre
1a468eebc7 * Fix insdatx86 rule for Windows Makefiles
Also include regeneration of register include files.

git-svn-id: trunk@17928 -
2011-07-04 07:35:24 +00:00