Commit Graph

55565 Commits

Author SHA1 Message Date
svenbarth
c2da9abd17 * correctly compare floating point values in TValue
git-svn-id: trunk@41535 -
2019-03-01 15:20:56 +00:00
Mattias Gaertner
2b9c7c7c78 pastojs: (f*f).helpercall
git-svn-id: trunk@41530 -
2019-02-28 23:20:00 +00:00
Mattias Gaertner
f71fac34fd pastojs: fixed type helper call as arg
git-svn-id: trunk@41529 -
2019-02-28 22:48:01 +00:00
Mattias Gaertner
f6cbe79a0a pastojs: and/or/xor with nativeint, warn nativeint shl/shr
git-svn-id: trunk@41528 -
2019-02-28 21:57:28 +00:00
Mattias Gaertner
119aab42db fcl-passrc: fixed $warn identifier error
git-svn-id: trunk@41527 -
2019-02-28 21:13:29 +00:00
Jonas Maebe
f78e2072a1 * fix for r41416: 64 bit values on 32 bit platforms can of course also be
passed in memory

git-svn-id: trunk@41526 -
2019-02-28 20:45:34 +00:00
florian
075e3da334 * better alignment values
git-svn-id: trunk@41521 -
2019-02-27 22:13:54 +00:00
Mattias Gaertner
e41d075fda pastojs: fixed compile under nodejs
git-svn-id: trunk@41505 -
2019-02-27 08:41:14 +00:00
Mattias Gaertner
a626ba845e pastojs: updated comment
git-svn-id: trunk@41504 -
2019-02-27 08:40:35 +00:00
Mattias Gaertner
20c854ad90 fcl-passrc: fixed WPO for attributes with parameters
git-svn-id: trunk@41503 -
2019-02-27 08:40:14 +00:00
michael
06074197ab * Remove debug statement
git-svn-id: trunk@41502 -
2019-02-27 08:04:05 +00:00
michael
e66e68158a * Remove debug statement
git-svn-id: trunk@41501 -
2019-02-27 08:00:21 +00:00
Mattias Gaertner
f63295ce4f pastojs: fixed class constructor without initialization and precompile
git-svn-id: trunk@41500 -
2019-02-26 22:34:01 +00:00
Mattias Gaertner
463e98ccef fcl-passrc: fixed parent of const external modifier
git-svn-id: trunk@41496 -
2019-02-26 19:05:35 +00:00
Mattias Gaertner
4f9ce09c1c fcl-passrc: fixed parsing variable list with modifiers
git-svn-id: trunk@41495 -
2019-02-26 18:58:59 +00:00
Mattias Gaertner
af1878c7c1 pastojs: register pcu format only if needed
git-svn-id: trunk@41494 -
2019-02-26 18:44:26 +00:00
Mattias Gaertner
846ab7e2e4 pastojs: emit hints even for modules not used
git-svn-id: trunk@41483 -
2019-02-26 17:40:05 +00:00
Mattias Gaertner
cd247236ba fcl-passrc: useanalyzer: clean up
git-svn-id: trunk@41482 -
2019-02-26 17:39:42 +00:00
Mattias Gaertner
7354b2c2e5 fcl-json: less hints
git-svn-id: trunk@41480 -
2019-02-26 12:42:27 +00:00
Mattias Gaertner
45a5a1d9bf fcl-passrc: fixed TAliasEnumType.Value
git-svn-id: trunk@41479 -
2019-02-26 11:35:22 +00:00
Mattias Gaertner
edd9b17b96 fcl-js: clean up
git-svn-id: trunk@41478 -
2019-02-26 11:32:29 +00:00
Jonas Maebe
aba3f8f162 * fixed over-eager rejection of tobjecttype.fieldname expression after r40785
(mantis #35149)

git-svn-id: trunk@41474 -
2019-02-25 21:17:24 +00:00
michael
970188907e * Fix bug ID #35113
git-svn-id: trunk@41473 -
2019-02-25 21:04:39 +00:00
Jonas Maebe
c7834af354 * track va_uses_float_reg also for varargs functions without varargs
parameters (see e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23070 )

git-svn-id: trunk@41472 -
2019-02-25 21:02:14 +00:00
Jonas Maebe
eb71a30933 * fix false possitive tconstexprint range errors after r41441 (mantis #35144)
git-svn-id: trunk@41469 -
2019-02-25 20:48:49 +00:00
michael
3857f343d8 * Add stored modifier for config strings
git-svn-id: trunk@41468 -
2019-02-25 20:28:47 +00:00
michael
98a30de010 * Rest module for in IDE
git-svn-id: trunk@41467 -
2019-02-25 19:39:15 +00:00
Mattias Gaertner
5ed190061b pastojs: resolver: fixed class abstract
git-svn-id: trunk@41466 -
2019-02-25 17:58:39 +00:00
Mattias Gaertner
16ba0b4a05 fcl-passrc, pastojs: renamed modeswitch multiplescopehelpers to multihelpers
git-svn-id: trunk@41465 -
2019-02-25 17:50:32 +00:00
yury
a04e4971fc * i386: Do not request GOT for every function call. GOT is requested only for external calls in thlcgcpu.a_call_name(). Local calls are always PC relative.
git-svn-id: trunk@41464 -
2019-02-25 15:48:41 +00:00
yury
039aee9568 * i386 PIC: Do not force EBX as a GOT register if tf_section_threadvars is not set. Actually forcing EBX here is a bad idea anyway.
git-svn-id: trunk@41463 -
2019-02-25 15:05:26 +00:00
yury
4da16992df * i386: Minor PIC initialization improvement if the GOT register is forced to EBX.
git-svn-id: trunk@41462 -
2019-02-25 14:43:46 +00:00
Mattias Gaertner
0fb27844d6 fcl-passrc: useanalyzer: fixed system.typeinfo
git-svn-id: trunk@41461 -
2019-02-25 14:03:16 +00:00
yury
e5c2d13671 * Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present.
git-svn-id: trunk@41460 -
2019-02-25 13:35:40 +00:00
yury
ab92dcd162 * android: Mask SSE exceptions for i386 too.
git-svn-id: trunk@41459 -
2019-02-25 13:15:17 +00:00
yury
9f88cae771 * Removed inline, since inherited is not supported.
git-svn-id: trunk@41458 -
2019-02-25 11:27:54 +00:00
yury
a277a5f8db * Removed unused local vars.
git-svn-id: trunk@41457 -
2019-02-25 11:22:49 +00:00
Mattias Gaertner
c987aa77f9 fcl-passrc: fixed inherited create on abstract class
git-svn-id: trunk@41456 -
2019-02-25 11:16:49 +00:00
pierre
57ee0dd00a Fix fullcycle/fullinstall by adding missing armgen directory -Fu option if PPC_TARGET is armeb
git-svn-id: trunk@41455 -
2019-02-24 22:20:35 +00:00
Jonas Maebe
7c4e7d6bd3 * support OS_32/OS_64 in cgsize2subreg for ARM MM registers to handle
records passed in MM registers

git-svn-id: trunk@41449 -
2019-02-24 19:59:03 +00:00
Jonas Maebe
08791712d7 * also specify the byval alignment at the callee side
git-svn-id: trunk@41448 -
2019-02-24 19:59:00 +00:00
Jonas Maebe
bead1f8180 * properly set 8 byte parameter alignment for first parameter on ARM if
applicable

git-svn-id: trunk@41447 -
2019-02-24 19:58:57 +00:00
Jonas Maebe
6071263469 * use ` instead of ^ as replacement character in LLVM asmnodes, as ^ can
appear in ARM inline assembly

git-svn-id: trunk@41446 -
2019-02-24 19:58:54 +00:00
Jonas Maebe
a87a7270d5 * remove double "nocapture" attributes
* also add "noalias nocapture" to sret parameters

git-svn-id: trunk@41445 -
2019-02-24 19:58:51 +00:00
Jonas Maebe
e829596750 * type left-over parts of parameters as arrays of "stack slot alignment" if
they're an exact multiple of the ialignment size on LLVM. This prevents
    both overalignment (e.g. remainder of 8 individual bytes on ARM
    would be aligned to 8 bytes instead of 4 if typed as int64) and
    underalignment (e.g. 32 bytes remainder of a record that needs to be
    aligned to 8 bytes would be aligned to 1 or 4 bytes if types as
    array of resp. bytes or longints)

git-svn-id: trunk@41444 -
2019-02-24 19:58:47 +00:00
Jonas Maebe
bc77aad3d9 * give an error when trying to call through to a C varargs routine with a
high level code generator
   o we cannot create a high-level stub in that case

git-svn-id: trunk@41443 -
2019-02-24 19:58:44 +00:00
Jonas Maebe
a51c06f907 * place the "external" directives in the interface instead of in the
implementation, because we don't support "external" in the implementation
    for C varargs functions for LLVM (can't generate a stub for them)
   o having "external" in the implementation also causes useless overhead
     with code generators that do support this

git-svn-id: trunk@41442 -
2019-02-24 19:58:40 +00:00
Jonas Maebe
07bd4ba517 * let all the case code generation work with tconstexprint instead of aint,
so it also works for 32 bit targets and a high level code generator
    (where aint is still 32 bit, but 64 bit operations are not decomposed)

git-svn-id: trunk@41441 -
2019-02-24 19:58:37 +00:00
michael
1d5877ecf0 * Save config strings to/from ini file
git-svn-id: trunk@41440 -
2019-02-24 18:59:19 +00:00
michael
f097158802 * Add database creation and README, and copyright header
git-svn-id: trunk@41439 -
2019-02-24 17:20:33 +00:00