Commit Graph

45982 Commits

Author SHA1 Message Date
florian
652f623983 * mulsu opcode spelling fixed
* handling mulsu in taicpu.spilling_get_operation_type

git-svn-id: trunk@30729 -
2015-04-26 16:08:52 +00:00
michael
8196427ca6 * Patch from Bernd to fix SedDateTime (wrong tv_usec values, bug ID #27969)
git-svn-id: trunk@30728 -
2015-04-26 08:43:47 +00:00
florian
40dc34b9d8 * several issues with the avr instruction table fixes, resolves issue #27963
git-svn-id: trunk@30727 -
2015-04-25 21:33:19 +00:00
florian
01cbf00455 * unified code to remove unnecessary type casts to support also removals of type conversions between smaller ints
* get rid of unnecessary 8->16 Bit type conversions on 8 Bit CPUs, resolves issue #27839

git-svn-id: trunk@30726 -
2015-04-25 21:18:34 +00:00
Jonas Maebe
e3ddf1c0b7 * fixed typos in error.msg (patch by Stéphane Aulery, mantis #27931)
git-svn-id: trunk@30725 -
2015-04-25 18:15:18 +00:00
Jonas Maebe
49aef02ef2 * fixed register size of uxtb in case of a 64 bit scan operation
(mantis #27954)

git-svn-id: trunk@30724 -
2015-04-25 16:36:45 +00:00
Jonas Maebe
864f9b24cc * handle indexing implicit pointer types on llvm
git-svn-id: trunk@30723 -
2015-04-25 15:51:39 +00:00
Jonas Maebe
98c5f7d20f * simplify references before generating getelementptr instructions with them
git-svn-id: trunk@30722 -
2015-04-25 15:51:36 +00:00
Jonas Maebe
78e68b89df * gen_load_cgpara_loc() should only honour reusepara if it's a memory
parameter

git-svn-id: trunk@30721 -
2015-04-25 15:51:33 +00:00
Jonas Maebe
03a3136525 * since extended values are represented as "array[1..10] of byte" in records
for llvm in order to ensure that it doesn't allocate the ABI-specified
    size, we have to convert the resulting pointer to an array of 10 bytes
    into a pointer to extended when we subscript the record (like is already
    done for arrays)

git-svn-id: trunk@30720 -
2015-04-25 15:51:30 +00:00
Jonas Maebe
b9138a1c90 * changed the llvm type of comp/currency in parameter and return type
on platforms that use the x87 for these types to extended in order
    to gaurantee the expected parameter passing conventions

git-svn-id: trunk@30719 -
2015-04-25 15:51:27 +00:00
Jonas Maebe
491d9cfff1 * fixed reuse of the same register for different types in
a_loadaddr_ref_reg()

git-svn-id: trunk@30718 -
2015-04-25 15:51:25 +00:00
Jonas Maebe
c3233b21e8 * fixed reference/register types for thlcgobj.a_bit_test_*
git-svn-id: trunk@30717 -
2015-04-25 15:51:22 +00:00
Jonas Maebe
388cef8a34 * fixed types for shortstring handling in tcgassignmentnode.pass_generate_code
git-svn-id: trunk@30716 -
2015-04-25 15:51:19 +00:00
Jonas Maebe
2102db1a0c * fixed type when passing an address parameter to another address parameter
git-svn-id: trunk@30715 -
2015-04-25 15:51:16 +00:00
Jonas Maebe
b3e786eb77 - don't specify lef_inaggregate when getting the llvm type representation
for function results and parameters (they're not in an aggregate, and this
    caused 80 bits extended floating point types to be translated into arrays
    of 10 bytes, which have different ABI meanings)

git-svn-id: trunk@30714 -
2015-04-25 15:51:13 +00:00
Jonas Maebe
bb4f8e62bf * sign/zero-extend a Pascal boolean (translated to i1) when assigning to
an i8, even though both have byte size 1

git-svn-id: trunk@30713 -
2015-04-25 15:51:09 +00:00
Jonas Maebe
394091ab75 * don't generate parameter attributes for llvm function alias declarations
git-svn-id: trunk@30712 -
2015-04-25 15:51:06 +00:00
Jonas Maebe
70ffaba901 * ensure that the loading of the uninitialised function result for llvm
doesn't result in a temp allocation, since this can happen while
    generating the exit code

git-svn-id: trunk@30711 -
2015-04-25 15:51:04 +00:00
Jonas Maebe
5418978415 * fixed types in thlcgobj.location_get_data_ref
git-svn-id: trunk@30710 -
2015-04-25 15:51:01 +00:00
Jonas Maebe
f7b5ee64ae * always insert type conversion for pasbool to int on llvm, as pasbool is
represented by i1 while equally sized integers are i8

git-svn-id: trunk@30709 -
2015-04-25 15:50:58 +00:00
Jonas Maebe
61ddaab091 * never keep a value in a register for llvm if it's typecasted on the
left-hand side of an assignment (you can't typecast lvalues in llvm)

git-svn-id: trunk@30708 -
2015-04-25 15:50:55 +00:00
joost
d16da8a32b * TFPCustomHashTable.FHashTableSize made protected. Without this change it is
not possible to add new descendents for other types.

git-svn-id: trunk@30707 -
2015-04-25 09:25:39 +00:00
Jeppe Johansen
2dae6a2dd7 Added predecrement addressing support to the AVR assembler reader
git-svn-id: trunk@30706 -
2015-04-24 17:25:57 +00:00
svenbarth
19c6d72c7b Fix for Mantis #27750.
pgenutil.pas:
  * parse_generic_parameters: create explicit undefineddefs for type parameters that don't have a constraint
  * insert_generic_parameter_types: move the created undefineddefs from the parent symtable to the generic's symtable
defcmp.pas, compare_defs_ext:
  * in case the flag for strict undefineddef checks is set don't consider two different undefineddefs as compatible
+ added tests

git-svn-id: trunk@30705 -
2015-04-24 14:51:22 +00:00
michael
a11fa384b8 * Fix bug #27006
git-svn-id: trunk@30704 -
2015-04-22 17:01:14 +00:00
lacak
c3e542c7ef fcl-db: base: allow TField.Clear also for calculated (and lookup) fields. Bug #25174
git-svn-id: trunk@30703 -
2015-04-22 12:40:10 +00:00
lacak
1b9e1eb1d8 fcl-db: base: increase default Precision for TBCDField and TFmtBCDField from 15 to 18. 15 was probably copy-paste from TFloatField. TBCDField uses currency data type as native storage type, so use MaxBCDPrecision = 18 is appropriate.
(Note: Delphi sets default Precision,Size for TBCDField:0,4 and for TFMTBCDField:0,8)

git-svn-id: trunk@30702 -
2015-04-22 11:41:52 +00:00
nickysn
7923b6142e + finished the internal omf library writer (implementing writing of the library
dictionary at the and of the file) and enabled it for the i8086 internal asm

git-svn-id: trunk@30701 -
2015-04-21 23:31:02 +00:00
nickysn
dbe1081389 + partially implemented the internal omf library writer; everything is written
to the file, except the dictionary

git-svn-id: trunk@30700 -
2015-04-21 20:59:36 +00:00
nickysn
3fa81fa7cd + added overloaded methods TOmfRawRecords.ReadFrom and .WriteTo for reading from
and writing to TDynamicArray

git-svn-id: trunk@30699 -
2015-04-21 20:22:30 +00:00
nickysn
a365da0b44 + added class (empty for now) TOmfLibObjectWriter and hook it as an internal ar
in the omf internal assembler constructor. Note it is not used yet, because of
  the af_needar assembler flag.

git-svn-id: trunk@30698 -
2015-04-21 19:28:51 +00:00
michael
85fc1c349f * Fix from Johann to fix transparancy (Bug ID 27926)
git-svn-id: trunk@30697 -
2015-04-21 18:05:37 +00:00
michael
e86aa04433 * Fix to correctly write gray values from Johann (Bug ID 27924)
git-svn-id: trunk@30696 -
2015-04-21 17:55:52 +00:00
Károly Balogh
49f3473735 fixed the define around the FPU code
git-svn-id: trunk@30695 -
2015-04-21 17:05:43 +00:00
michael
70f4b81323 * Remove touch debug command
git-svn-id: trunk@30694 -
2015-04-21 16:53:24 +00:00
michael
4eff8c4f20 * Fix bug ID #27923
git-svn-id: trunk@30693 -
2015-04-21 16:53:06 +00:00
michael
28e31fdf66 * Patch from Zilvinas Ledas to set default RowsPerStrip (-1), Bug ID #27922
git-svn-id: trunk@30692 -
2015-04-21 15:57:56 +00:00
michael
78dda3e217 * Renamed sqoPreferRefresh to sqoRefreshUsingSelect
git-svn-id: trunk@30691 -
2015-04-21 11:11:55 +00:00
michael
2fd57665cf * Patch from Zilvinas Ledas to implement reading of 12-bit TIFFs
git-svn-id: trunk@30690 -
2015-04-21 11:08:19 +00:00
michael
ea9fc6581a * Fix query var setting (bug ID 27915)
git-svn-id: trunk@30689 -
2015-04-21 11:06:01 +00:00
michael
4ea2ed36db * Fix setting pathinfo (bug ID 27915)
git-svn-id: trunk@30688 -
2015-04-21 06:51:34 +00:00
nickysn
bde7d0aacb + added "code segment too large" and "data segment too large" error messages
git-svn-id: trunk@30687 -
2015-04-20 23:47:22 +00:00
nickysn
211dbb9752 * set procalign and loopalign to 1 for the i8086-msdos target
git-svn-id: trunk@30686 -
2015-04-20 15:12:48 +00:00
nickysn
778a678956 * use a 4 byte alignment for the dwarf debug sections on i8086 (not sure if
that's correct for 16-bit dwarf, but currently the compiler emits 4-byte
  tai_aligns, so setting the section alignment to 4 avoids problems in the
  internal object writer)

git-svn-id: trunk@30685 -
2015-04-20 13:15:26 +00:00
lacak
2eb2791ce9 fcl-db: base: TBCDField.GetDefaultWidth should return Precision+1 (Delphi compatible) insted of only Precision (+1 is for sign and/or decimal separator).
Note: TBCDField in constructor sets FPrecision=15, which is IMHO copied from TFloatField. In case of TBCDField it should be probably 18 - MaxBCDPrecision

git-svn-id: trunk@30684 -
2015-04-20 12:52:07 +00:00
nickysn
8cf469e9ef * base the default alignment on voidpointertype.alignment instead of
voidpointertype.size for all types, that are internally represented as a
  pointer (ansi/widestrings,dynarrays,classes)

git-svn-id: trunk@30683 -
2015-04-20 12:44:11 +00:00
nickysn
0675a9209d * use 16-bit alignment for class references and all pointer types on i8086
git-svn-id: trunk@30682 -
2015-04-20 12:41:55 +00:00
nickysn
030801a18b * switch the msdos target to the internal assembler/omf object writer
git-svn-id: trunk@30681 -
2015-04-20 01:53:01 +00:00
nickysn
5a1ce6162b * set the bss, rodata and rodata_norel section alignment to 2 bytes for the i8086-msdos target
git-svn-id: trunk@30680 -
2015-04-20 01:27:26 +00:00