Károly Balogh
5535df29d4
support SP and FP alias in the assembler reader too
...
git-svn-id: trunk@27573 -
2014-04-13 21:03:06 +00:00
Károly Balogh
7ee09b9620
instead of supporting SP only, have register A7 defined, and have SP as an alias
...
git-svn-id: trunk@27572 -
2014-04-13 21:02:16 +00:00
michael
3ac3e69c8a
* Removed https TODO
...
git-svn-id: trunk@27571 -
2014-04-13 20:25:53 +00:00
michael
cd05deafc2
* Made creating socket handler configurable
...
git-svn-id: trunk@27570 -
2014-04-13 20:23:01 +00:00
michael
67e8a3bf54
* Patch from Reinier to fix upload (bug 25940)
...
git-svn-id: trunk@27569 -
2014-04-13 20:09:02 +00:00
pierre
365666c833
Fix remaining failure for make testppudump at compiler level
...
git-svn-id: trunk@27568 -
2014-04-13 19:31:55 +00:00
nickysn
ce0bd81273
+ show an error message 'procedure must be far' if an attempt is made to convert
...
a near proc to a procvar in a i8086 far code memory model
git-svn-id: trunk@27567 -
2014-04-13 19:29:28 +00:00
florian
18233f2c0c
* fix compilation of i8086 compiler
...
git-svn-id: trunk@27566 -
2014-04-13 19:28:59 +00:00
florian
6fd98d604a
* compilation fixed
...
git-svn-id: trunk@27565 -
2014-04-13 19:21:57 +00:00
florian
d88d644925
+ support for FMA intrinsic: if there is no hardware support, the compiler throws an error.
...
Currently it is implemented only for x86-CPUs supporting the FMA extension. While it would
be possible to implement it in software or simulate fma(<single>,<single>,<single>) using
double operations, it makes no sense in my opinion to do so.
git-svn-id: trunk@27564 -
2014-04-13 19:21:54 +00:00
nickysn
d404d15c1e
* forgot to commit the changes to i386/symcpu.pas in r27549
...
git-svn-id: trunk@27563 -
2014-04-13 18:44:35 +00:00
nickysn
d8d3706462
+ override hlcg.a_call_name for i8086 and dispatch to the appropriate type of
...
call (near or far), according to whether the procdef is near or far, instead
of relying on the default for the memory model
git-svn-id: trunk@27562 -
2014-04-13 15:17:43 +00:00
nickysn
86b9a0eed1
+ added the $F switch to the turbo and macSwitchTable, as that takes precedence
...
over dir_forcefarcalls
git-svn-id: trunk@27561 -
2014-04-13 15:14:43 +00:00
nickysn
fc6eac6a98
+ added $F directive handling, sets cs_force_far_calls (not implemented yet)
...
git-svn-id: trunk@27560 -
2014-04-13 13:07:18 +00:00
nickysn
6fe362a1b0
+ added method is_far to i8086's tcpuprocdef and tcpuprocvardef
...
+ added helper function to i8086's symcpu is_proc_far that dispatches the call
to the proper is_far method (because we can't make a cpu specific descendant
of tabstractprocdef and add it there)
* all checks for (po_far in procoptions) in the i8086 code generator replaced
with calls to is_proc_far
git-svn-id: trunk@27559 -
2014-04-13 12:41:46 +00:00
sergei
3e20a136f3
* tx86addnode.second_addfloat: use single and double-precision memory locations without loading them on FPU stack if possible.
...
git-svn-id: trunk@27558 -
2014-04-13 12:37:30 +00:00
nickysn
0ef858a6ca
* fixed the reading of x86 pointer defs in ppudump after the ppuwrite_platform
...
changes
git-svn-id: trunk@27557 -
2014-04-13 11:40:20 +00:00
nickysn
9ab2aa7463
* fixed ppudump after r27434
...
git-svn-id: trunk@27556 -
2014-04-13 09:56:17 +00:00
nickysn
40a6a9c820
+ added i8086 specific implementation of thlcgcpu.a_load_loc_ref, which handles
...
6-byte method pointers and other i8086 types that use loc.registerhi
* changed the i8086 specific code in tcgassignmentnode.pass_generate_code to
use hlcg.a_load_loc_ref
git-svn-id: trunk@27555 -
2014-04-13 01:38:43 +00:00
nickysn
2e7aab0155
* refactored i8086's thlcgcpu.location_force_mem:
...
o The checks for types that need special handling moved to separate methods,
because they'll probably be used by the other hlcg.a_load*loc* methods as
well.
o Use voidcodepointertype and voidpointertype to avoid the ifs for checking
the memory model.
git-svn-id: trunk@27554 -
2014-04-12 21:59:32 +00:00
sergei
6810d643c4
* Fixed exp() result for +-Inf input, must be +Inf or 0, not NaN. This is mathematically correct and consistent with generic implementation of this function.
...
git-svn-id: trunk@27553 -
2014-04-12 21:18:57 +00:00
sergei
57c762c8d2
+ Inserted license header for AMath routines.
...
git-svn-id: trunk@27552 -
2014-04-12 20:45:44 +00:00
nickysn
02988023b7
* tcgloadnode.pass_generate_code: fixes for i8086 far data model fixes in the
...
handling of method procsyms + even more ifdef i8086s removed
git-svn-id: trunk@27551 -
2014-04-12 19:59:04 +00:00
nickysn
68ff3fb1e2
* tcgloadnode.pass_generate_code: rm the ifdef'd i8086 code from the handling of
...
non-method procsyms by using def_cgsize(pd.address_type) to determine the
address size
git-svn-id: trunk@27550 -
2014-04-12 16:26:51 +00:00
nickysn
fc71081b74
* i8086 and i386-specific code from tabstractprocdef.is_pushleftright moved to
...
symi86
git-svn-id: trunk@27549 -
2014-04-12 15:34:08 +00:00
nickysn
0a515311e6
* tabstractprocdef.address_type i8086-specific code moved to symcpu, ifdef i8086 removed
...
git-svn-id: trunk@27548 -
2014-04-12 15:09:17 +00:00
nickysn
9f4dd78701
* the ifdef i8086 in taddrnode.pass_typecheck removed via using tabstractprocdef.address_type
...
git-svn-id: trunk@27547 -
2014-04-12 14:49:54 +00:00
nickysn
37168c8625
* use voidcodepointertype to determine tprocvardef.size; ifdef i8086 removed
...
git-svn-id: trunk@27546 -
2014-04-12 14:19:30 +00:00
nickysn
89584164b1
+ added virtual methods tabstractprocdef.declared_far and .declared_near, which
...
are called, when the 'near' or 'far' directive is parsed in a procedure
definition. This allows overriding and implementing them on architectures,
which support near and far calls.
git-svn-id: trunk@27545 -
2014-04-12 12:55:05 +00:00
nickysn
b41892f048
* set po_far in the i8086-specific descendants of tprocdef and tprocvardef,
...
instead of in tabstractprocdef.create; ifdef i8086 removed
git-svn-id: trunk@27544 -
2014-04-12 12:17:10 +00:00
nickysn
015c3269a7
* don't print a 'smart link requires external linker' warning in _any_ of the
...
following cases:
1) external linking is already enabled
2) target does not support an internal linker
3) the 'omit linking stage' option is used
git-svn-id: trunk@27543 -
2014-04-12 08:19:23 +00:00
michael
352f7cf47b
* Remove debug statement
...
git-svn-id: trunk@27542 -
2014-04-12 06:47:54 +00:00
nickysn
b9af57b97a
* use voidcodepointertype when creating the methodpointertype in
...
psystem.create_intern_types; ifdef i8086 removed.
git-svn-id: trunk@27541 -
2014-04-11 23:41:53 +00:00
nickysn
e1716c097d
* set the vmtParent constant according to sizeof(SizeInt) instead of
...
SizeOf(ptruint), because the +size and -size fields are of type SizeInt and
not ptruint or pointer.
git-svn-id: trunk@27540 -
2014-04-11 23:10:04 +00:00
nickysn
902d118ec8
* i8086 far data memory model fixes in tobjectdef.vmtmethodoffset
...
git-svn-id: trunk@27539 -
2014-04-11 23:05:42 +00:00
nickysn
8d9fda9264
* use voidcodepointertype.size in tobjectdef.vmtmethodoffset, avoid ifdef i8086
...
git-svn-id: trunk@27538 -
2014-04-11 22:09:30 +00:00
nickysn
be08957a96
* use voidcodepointertype in traisenode.pass_typecheck to avoid ifdef i8086
...
git-svn-id: trunk@27537 -
2014-04-11 21:59:07 +00:00
nickysn
542719c8f5
+ added symdef.voidcodepointertype
...
git-svn-id: trunk@27536 -
2014-04-11 20:47:45 +00:00
svenbarth
e85075de7f
Fix for Mantis #25604 .
...
nmat.pas:
* correctly disable type checks if one of the arguments for MOD, DIV, SHR, SHL, NOT, -X and +X is a generic type parameter
+ added tests
git-svn-id: trunk@27535 -
2014-04-11 16:43:53 +00:00
svenbarth
c623824374
Fix for Mantis #25605 .
...
symtable.pas, search_objectpascal_helper:
* handle more symbol types than just properties and methods; afterall helpers can have types, static variables and constants as well
+ added test
git-svn-id: trunk@27534 -
2014-04-11 16:13:44 +00:00
svenbarth
256c852631
Fix for Mantis #23776 .
...
ninl.pas, tinlinenode.pass_typecheck:
* don't generate a type error if Length() is used inside generics with a generic argument
+ added test
git-svn-id: trunk@27533 -
2014-04-11 15:57:21 +00:00
svenbarth
b0670ee34c
Fix for Mantis #25600 .
...
ptype.pas, read_named_type.array_dec:
* generate a valid range definition if we are inside a generic and the array bounds are not ordinals (Note: the check for "parse_generic" should be improved to really detect erratic indexes that are not related to generics in any way)
+ added test
git-svn-id: trunk@27532 -
2014-04-11 14:57:23 +00:00
svenbarth
02495c17bd
Fix a typo. The CPU specific version of "ttypesym" should be called "tcputypesym" and not "tcpuypesym".
...
git-svn-id: trunk@27531 -
2014-04-11 14:30:59 +00:00
pierre
9c78abafce
Add SmartFilesCount number to AddAsmCommand call for SmartAsm
...
git-svn-id: trunk@27530 -
2014-04-11 13:37:00 +00:00
michael
aaab5f9edc
* Copyright notice
...
git-svn-id: trunk@27529 -
2014-04-11 13:02:04 +00:00
michael
aa2b80b578
* Copyright notice
...
git-svn-id: trunk@27528 -
2014-04-11 13:01:04 +00:00
michael
19f8e051e8
* Added support for https
...
git-svn-id: trunk@27527 -
2014-04-11 12:16:55 +00:00
michael
26a9a8ac2e
* Added initial secure sockets support
...
git-svn-id: trunk@27526 -
2014-04-11 12:15:05 +00:00
michael
3f53917606
* Introduced TSocketHandler
...
git-svn-id: trunk@27525 -
2014-04-11 12:12:33 +00:00
michael
7e99d5ad08
* Small OO layer on top of SSL/SSLContext
...
git-svn-id: trunk@27524 -
2014-04-11 11:52:39 +00:00