Commit Graph

47874 Commits

Author SHA1 Message Date
michael
64c324caaf * Patch from Silvio Clecio to add a TryGetValue method to TFPGMap (bug ID 29397)
git-svn-id: trunk@32942 -
2016-01-15 07:48:49 +00:00
michael
b96d3cc517 * Some fixes and optimizations to last fix
git-svn-id: trunk@32941 -
2016-01-14 21:11:40 +00:00
nickysn
439ab331e9 * factored out some of the duplicated (between x86 targets) parts of process_ea() to a common function
git-svn-id: trunk@32940 -
2016-01-14 18:00:37 +00:00
michael
0ec3bf6516 * Added various string-replace algorithms by Jarto Tarpio and José Mejuto (bug ID 26864)
git-svn-id: trunk@32939 -
2016-01-14 07:55:00 +00:00
michael
087e123189 * Correctly determine transaction params (from adli82, bug ID #29088)
git-svn-id: trunk@32938 -
2016-01-13 21:00:22 +00:00
michael
d0ab9239f2 * Add isc_tpb_lock_timeout (bug ID 29088)
git-svn-id: trunk@32937 -
2016-01-13 20:59:32 +00:00
nickysn
db5e67c3fe + introduced a new type TRelocDataInt for use as the 'data' parameter for
TObjData.writeReloc; on i8086 it was changed to longint to allow using 32-bit
  relocations
+ added support for writing 32-bit OMF relocations

git-svn-id: trunk@32936 -
2016-01-13 17:57:36 +00:00
nickysn
4f8baf29c6 + handle RELOC_FARPTR48 relocations as well in TOmfObjData.writeReloc; this is
not used yet, but is added for completeness (and might be useful, if we add an
  i386 target, that uses the OMF object format)

git-svn-id: trunk@32935 -
2016-01-13 15:07:41 +00:00
pierre
85f9eb655c Allow i8086 cross IDE by adding missing compiler/x86 unit directory
git-svn-id: trunk@32934 -
2016-01-13 10:11:34 +00:00
marco
6d180029ab * copyright update mantis #29384
git-svn-id: trunk@32932 -
2016-01-13 09:12:26 +00:00
michael
c34aa86d99 * Fix bug #0029381
git-svn-id: trunk@32931 -
2016-01-13 08:03:18 +00:00
pierre
0791422c1e * Fix compilation of crt unit for msdos tiny memory model
git-svn-id: trunk@32930 -
2016-01-12 20:06:28 +00:00
nickysn
79c5b632f1 + added portl class for 32-bit port access in the i8086-msdos ports unit, if
the target cpu is 386 or later

git-svn-id: trunk@32929 -
2016-01-12 18:06:21 +00:00
nickysn
e628729e1d + support 48-bit (16:32) far pointer relocations in the OMF internal linker
git-svn-id: trunk@32928 -
2016-01-11 17:50:27 +00:00
nickysn
02a6b77e32 + added support for 32-bit offset OMF relocations (fltOffset32) in the OMF internal linker
git-svn-id: trunk@32927 -
2016-01-11 17:34:56 +00:00
nickysn
d4c21cf13a * also check for 386+ when emitting a reference with a fs: or gs: prefix
git-svn-id: trunk@32926 -
2016-01-11 16:30:06 +00:00
nickysn
80b3e3020a * the SEGFS and SEGGS prefixes are 386+
git-svn-id: trunk@32925 -
2016-01-11 15:51:40 +00:00
Jonas Maebe
ec4342cc65 * fixed parallel building after r32857
git-svn-id: trunk@32924 -
2016-01-11 15:27:48 +00:00
nickysn
c8e20dfe74 + added i8086-specific consts RELOC_ABSOLUTE16 and RELOC_RELATIVE16, which are
aliases for RELOC_ABSOLUTE and RELOC_RELATIVE
* use RELOC_ABSOLUTE16 and RELOC_RELATIVE16, instead of RELOC_ABSOLUTE and
  RELOC_RELATIVE in the linker-related parts of the OMF support (OMF object
  reader and MZ exe output). This will make the code more readable, when 32-bit
  relocation support is added to the linker. It will also make easier to reuse
  this code for i386, in case we add an i386 target, that uses the OMF object
  format.

git-svn-id: trunk@32923 -
2016-01-11 15:24:34 +00:00
pierre
40193ea1db Add pi_has_open_array_parameter to proc_info.flags as this requires special handling for i8086 huge memory model to restore DS register correctly
git-svn-id: trunk@32922 -
2016-01-11 15:02:10 +00:00
nickysn
741a3eedf9 * fixed the cpu level of several 186+ instructions, that were mistakenly marked as either 286+ or 8086+
git-svn-id: trunk@32921 -
2016-01-11 13:22:08 +00:00
michael
8544b8a500 * Patch from Anthony Walter to make IsValidIdent more strict in case of dotted identifiers (bug ID 29364)
git-svn-id: trunk@32920 -
2016-01-10 22:57:19 +00:00
michael
9225ff3293 * Fix for bug ID #28283 by Denis Kozlov
git-svn-id: trunk@32919 -
2016-01-10 20:14:28 +00:00
michael
5e9c34ff47 * Patch from Denis Kozlov to fix bug ID #28288
git-svn-id: trunk@32918 -
2016-01-10 20:02:08 +00:00
Jonas Maebe
b9231aa6f1 * converted objcgutl (Objective-C metadata generation) to the high level
typed const builder

git-svn-id: trunk@32917 -
2016-01-10 17:22:20 +00:00
Jonas Maebe
4aba875c34 * add llvm "weak" flag for tcalo_weak
git-svn-id: trunk@32916 -
2016-01-10 17:22:17 +00:00
Jonas Maebe
e3f8f8c974 * fixed position of "weak" linkage flag
git-svn-id: trunk@32915 -
2016-01-10 17:22:14 +00:00
Jonas Maebe
90071e04c4 * encode objc classrefdefs as objc_idtype as that is how they are typed
elsewhere in the compiler as well

git-svn-id: trunk@32914 -
2016-01-10 17:22:11 +00:00
Jonas Maebe
dacfb1a6ff * load an objc classrefdef as objc_idtype, as that is also how we type
the self parameter in Objective-C class methods

git-svn-id: trunk@32913 -
2016-01-10 17:22:09 +00:00
Jonas Maebe
5959f45694 * emit custom Objective-C names in the LLVM assembler writer
git-svn-id: trunk@32912 -
2016-01-10 17:22:06 +00:00
Jonas Maebe
9e4806f21a * made Objective-C non-fragile ABI field indexing type safe for LLVM
git-svn-id: trunk@32911 -
2016-01-10 17:22:03 +00:00
Jonas Maebe
d46fad1e7f * use provided name to a_call_name() instead of hardcoding pd.mangledname()
(so that Objective-C messaging and WPO procedure names are used)

git-svn-id: trunk@32910 -
2016-01-10 17:21:59 +00:00
Jonas Maebe
1c99adb411 * fix rol/ror for llvm
git-svn-id: trunk@32909 -
2016-01-10 14:02:06 +00:00
Jonas Maebe
4cfec3b6e9 * fixed copy/paste error in r31285
git-svn-id: trunk@32908 -
2016-01-10 14:02:02 +00:00
Jonas Maebe
bbe8e346e0 * handle tc_equal typeconversions from conststring to a stringdef in
simplify, so that shortstring -> shortstring constant string conversions
    are simplified for LLVM too (it leaves regular tc_equal type conversions
    because often the type is still somewhat different), which is required
    for the code in tasmlisttypedconstbuilder.tc_emit_stringdef() (it
    assumes the result of inserting a type conversion is again a
    stringconstant if it can be handled at compile time)

git-svn-id: trunk@32907 -
2016-01-10 14:01:58 +00:00
Jonas Maebe
0350369c6a * don't check for a simple result location when loading an uninitialised
function result: we always only use the first location's register

git-svn-id: trunk@32906 -
2016-01-10 14:01:54 +00:00
Jonas Maebe
ae7b17890a * support non-power-of-two records that have to be passed in MM registers
in a_load_ref_cgpara()

git-svn-id: trunk@32905 -
2016-01-10 14:01:50 +00:00
Jonas Maebe
49a83b2872 * allow targets to keep certain type conversions for equal types in
inserttypeconv()
   o keep typeconversions between structurally equivalent but semantically
     different procvardefs for LLVM and JVM, because they're different
     types there

git-svn-id: trunk@32904 -
2016-01-10 14:01:46 +00:00
Jonas Maebe
5aadb149ed * ensure the types of all elements emitted in all paths through
writeaccessproc() are the same, so the reuse of existing defs doesn't
    result in the generation of typecasts for llvm

git-svn-id: trunk@32903 -
2016-01-10 14:01:43 +00:00
Jonas Maebe
4ae8dcc91e * make the resultdef of left and right equal when comparing a dynarray
with nil (for llvm)

git-svn-id: trunk@32902 -
2016-01-10 14:01:39 +00:00
Jonas Maebe
f5a3bab7d4 * add llvminfo to override optimizer switches in case of {$ifdef llvm}
git-svn-id: trunk@32901 -
2016-01-10 14:01:35 +00:00
Jonas Maebe
cc197a5593 * extended test
git-svn-id: trunk@32900 -
2016-01-10 14:01:32 +00:00
Jonas Maebe
508038a691 + emit_pchar_const() helper for high level typed const builder
git-svn-id: trunk@32899 -
2016-01-10 14:01:24 +00:00
pierre
c863cd5bc8 Add u128bit and s128bit support in ppudump
git-svn-id: trunk@32898 -
2016-01-09 21:34:07 +00:00
michael
288aa63a67 * Help for latex backend
git-svn-id: trunk@32897 -
2016-01-09 17:55:44 +00:00
michael
65976e4db3 * Added option to split lines
git-svn-id: trunk@32896 -
2016-01-09 17:47:04 +00:00
michael
a87e83e9b7 * Fix selection of package
git-svn-id: trunk@32895 -
2016-01-09 17:46:24 +00:00
florian
4ccc75e2e8 + be able to specify endianess in the assembler command line
+ pass endianess to the powerpc assembler (GNU only), so an unified be/le GNU assembler can used to build powerpc64le

git-svn-id: trunk@32894 -
2016-01-09 14:28:25 +00:00
michael
33e1bc72b4 * Add options to RunCommand* call
git-svn-id: trunk@32893 -
2016-01-08 21:19:21 +00:00
michael
f1ef3f330a * Add demo for RunCommand
git-svn-id: trunk@32892 -
2016-01-08 21:18:43 +00:00