Commit Graph

4850 Commits

Author SHA1 Message Date
nickysn
933b3afcd7 [PATCH 27/83] adding support for math operation (based on jvm). the default div/mod implementation is causing InternalError for division operation
From 65a540f3b7deda48285df5cba7ee75d906d4997f Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Thu, 12 Sep 2019 13:33:41 -0400

git-svn-id: branches/wasm@45904 -
2020-07-29 17:10:42 +00:00
nickysn
92526c41a9 [PATCH 25/83] adding nwasmcal (copied over from njvmcal) in order to properly handle function results
From 7652ef7e443b90453d6e4559e5c1641add53daf2 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 11 Sep 2019 22:57:08 -0400

git-svn-id: branches/wasm@45902 -
2020-07-29 17:07:58 +00:00
nickysn
f0f55f1b60 [PATCH 17/83] adding support for wasm if-else-block
From 3de374be5fcd29b9a57a43073ccc4f7fe8425805 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Mon, 9 Sep 2019 11:22:56 -0400

git-svn-id: branches/wasm@45894 -
2020-07-29 16:48:23 +00:00
nickysn
6e7bb5927e [PATCH 04/83] update for Wasm target. adapting Karoly's changes from webassembly branch
From 8acd7baf8d14236dc12781dd15bac188581ccecf Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Thu, 29 Aug 2019 15:09:58 -0400

git-svn-id: branches/wasm@45881 -
2020-07-29 16:28:18 +00:00
nickysn
184c559496 [PATCH 03/83] adding WASM specific files
From 3e72f04bc65f3da24efdf55a3102ef21479ff567 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 28 Aug 2019 17:01:46 -0400

git-svn-id: branches/wasm@45880 -
2020-07-29 16:06:57 +00:00
nickysn
5daf992919 [PATCH 01/83] starting ppcwasm lazarus project
From f83c96be40af38a4b2b7175087b3811da2a35793 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 28 Aug 2019 14:25:32 -0400

git-svn-id: branches/wasm@45878 -
2020-07-29 15:59:50 +00:00
florian
fd20dc1086 * support unique copies of currencies which are handles by torddef, resolves #36013
git-svn-id: trunk@42837 -
2019-08-26 19:31:48 +00:00
michael
a3a5c01010 * Moved fpmimetypes unit to fcl-web
git-svn-id: trunk@42825 -
2019-08-26 08:30:06 +00:00
michael
071aaccb49 * Add mime.types for benefit of windows users, call new LoadKnownTypes
git-svn-id: trunk@42821 -
2019-08-26 06:44:10 +00:00
Jonas Maebe
956aab3be0 * implement support for the Objective-C "related result type" convention
as described on
    http://releases.llvm.org/8.0.0/tools/clang/docs/LanguageExtensions.html#objective-c-features
    (rest of mantis #35994)

git-svn-id: trunk@42816 -
2019-08-25 15:23:53 +00:00
marco
5416e3657f * inprocess comserver example. Polished up test From Anton K. from mantis #35013
git-svn-id: trunk@42812 -
2019-08-25 09:33:02 +00:00
svenbarth
b0b2218cca * fix for Mantis #35981: ensure that the "specialize" token is only really used in non-Delphi modes
git-svn-id: trunk@42776 -
2019-08-23 14:59:20 +00:00
svenbarth
33f6adfab6 * fix for Mantis #35982: free created attributes once the type is freed
+ added test

git-svn-id: trunk@42773 -
2019-08-23 14:59:13 +00:00
pierre
e45ad64d41 * Revert changes to tarray15.pp
* Modify treadonlydata.pp to not use dynamic array.
   + Add test treadonlydata2.pp that should fail at compile time.

git-svn-id: trunk@42752 -
2019-08-21 07:23:51 +00:00
pierre
9b0893e6ae Add generated Makefile which was not on svn yet
git-svn-id: trunk@42751 -
2019-08-20 16:07:59 +00:00
pierre
c406d0121e Move test for read-only data to new separate test source treadonlydata.pp
git-svn-id: trunk@42747 -
2019-08-20 14:15:06 +00:00
Jonas Maebe
693e72ade3 * Darwin now uses Mach VM calls for memory allocation instead of mmap/munmap
+ added sysrealloc support for Darwin (Darwin does not have mremap)

git-svn-id: trunk@42729 -
2019-08-18 15:55:07 +00:00
florian
f0213a2c46 + make use of the mremap syscall of linux to re-allocate large memory blocks faster
git-svn-id: trunk@42713 -
2019-08-16 20:47:37 +00:00
svenbarth
0e79bd2c70 + add a test that ensures that the introduction of fullscale array constructors didn't mess with array constructors passed to an open array of Variant
git-svn-id: trunk@42701 -
2019-08-15 14:33:03 +00:00
svenbarth
44bfa98a30 * fix for Mantis #35955: when the element of an array constructer requires an operator for conversion we don't let the caller of compare_defs_ext know that, instead we simply say that some conversion is required and let the typecheck handler deal with the element wise conversion
+ added test

git-svn-id: trunk@42700 -
2019-08-15 14:33:00 +00:00
svenbarth
10af6fe2fb * fix for Mantis #35965: correct alignment also for the class info used to retrieve the unit name
+ added test

git-svn-id: trunk@42697 -
2019-08-15 13:29:19 +00:00
sergei
416c974d3f * x86_64: Fixed code generation for try..finally blocks, so that exit label from inner try..finally stays within scope of procedure's implicit try..finally block if one is present. Mantis #34772.
git-svn-id: trunk@42673 -
2019-08-13 08:29:28 +00:00
florian
5947143d8f * intel asm reader: try to read avx512 extensions only if the instruction supports them
* cleanup

git-svn-id: trunk@42656 -
2019-08-12 10:46:19 +00:00
pierre
008c1436d8 Fix bug report 35937 by simple assembly code change and add test
git-svn-id: trunk@42603 -
2019-08-08 14:10:21 +00:00
Jonas Maebe
6b9f2114f1 * test from mantis #35897, already fixed
git-svn-id: trunk@42575 -
2019-08-03 13:52:46 +00:00
Jonas Maebe
46afcbb362 * an incomplete case statement is not an error in ISO Pascal (mantis #35910)
* give a compile-time error in ISO/Extended Pascal if the compiler can prove
    the case selector value is not handled, and a warning in other modes
    (mantis #35915)
   o trigger the case node simplification at the end of the case node typecheck
     pass, like for other nodes

git-svn-id: trunk@42574 -
2019-08-03 13:47:27 +00:00
Jonas Maebe
ce598c15ec * factored out the conditions under which add nodes need to perform
overflow checks
   o in particular ensure that cpu-specific overrides don't perform overflow
     checks when nf_internal is set

git-svn-id: trunk@42573 -
2019-08-03 12:19:50 +00:00
svenbarth
6952ab5baf * fix for Mantis #35918: don't set the mangledname for the attribute's constructor function; let the compiler do its job instead
git-svn-id: trunk@42560 -
2019-08-02 14:07:17 +00:00
Mattias Gaertner
847ac91d1d pastojs: skip generic type
git-svn-id: trunk@42524 -
2019-07-28 20:17:12 +00:00
Jonas Maebe
3fb7c19482 - removed tests as modern Delphi versions behave differently (mantis #35886)
git-svn-id: trunk@42512 -
2019-07-28 12:03:40 +00:00
Jonas Maebe
789f288771 * fixed distribution of random(int64) based on patch by Pangea
(mantis #35878)

git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
Jonas Maebe
1da43f67d4 * (non-ancient) Delphi versions that accept explicit ordinal -> floating
point typecasts behave the same as FPC (convert the value) rather than
    as Turbo Pascal (reinterpret the bit pattern) (mantis #35886)

git-svn-id: trunk@42507 -
2019-07-28 11:14:54 +00:00
Jonas Maebe
b9948899e3 * new CocoaInt units based on https://github.com/genericptr/MacOS_10_10
o note that CoreData and QuartzCore are now part of CocoaAll due to
     dependencies

git-svn-id: trunk@42500 -
2019-07-26 17:43:41 +00:00
Jonas Maebe
701f81f2d8 * updated to r441 of the common Mac OS X interfaces:
o fixed declaration of ABSearchComparison for 64 bit targets
   o Update AddressBook Framework related interface files to MacOSX10.13.sdk
     currency
   o minor comment tweaks to ABActions.pas and ABAddressBook.pas
   o added new 10.7.sdk declarations & DEPRECATED/AVAILABLE info to
     ABGlobals.pas and ABTypedefs.pas
   o CarbonCore framework update to MacOSX10.13.sdk
   o AE framework update to MacOSX10.13.sdk
   o updated AudioToolbox framework translation to 10.14 and translated some
     extra units

git-svn-id: trunk@42499 -
2019-07-26 17:36:17 +00:00
Jeppe Johansen
4b93eb64b3 - Split division routines out into an include file.
- Reuse division routines for calculating both division and modulus.
- Add implementations of BsfByte and BsrByte that don't use a lookup table.

git-svn-id: trunk@42494 -
2019-07-25 14:56:18 +00:00
svenbarth
e97a2cb03e * tests with Delphi showed that an attribute class must explicitely declare a parameterless constructor if it should be used, cause TCustomAttribute.Create is private
Note: this also means that TCustomAttribute itself can not be used as an attribute
* adjusted existing tests
+ added test

git-svn-id: trunk@42471 -
2019-07-20 20:03:38 +00:00
svenbarth
c282f21b1b * don't bother finding the correct constructor if the attribute isn't a TCustomAttribute descendant anyway; simply skip the parameters in that case
+ added tests

git-svn-id: trunk@42470 -
2019-07-20 19:46:03 +00:00
svenbarth
6cde8ab4cb * fix for Mantis #35866: parse_paras does not check whether the expressions are really constant, so check that manually
+ added test

git-svn-id: trunk@42469 -
2019-07-20 19:45:59 +00:00
michael
17b6fc07f9 * Write resource strings to file for easy translation
git-svn-id: trunk@42462 -
2019-07-20 11:52:59 +00:00
svenbarth
43b5dbf613 * fix for Mantis #23071: also store local symtable in the PPU if the procdef is generic as we need it to resolve genericdefs to nested types
git-svn-id: trunk@42459 -
2019-07-19 15:55:28 +00:00
svenbarth
176a63b67b * fix for Mantis #35862: free the list of functions added with AddTerminateProc to avoid memory leaks
+ added test

git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
svenbarth
87458a065c * allow use of multiple, comma separated attributes as Delphi allows that as well
+ added test

git-svn-id: trunk@42409 -
2019-07-12 22:08:14 +00:00
svenbarth
404b465c33 * allow custom attributes for all type declarations that are not a simple alias
+ added tests

git-svn-id: trunk@42405 -
2019-07-12 22:08:00 +00:00
svenbarth
a72553eea2 * disable [...] syntax for procedure directives if modeswitch "prefixed attributes" is enabled; they conflict otherwise and it's not easily resolveable
+ added test

git-svn-id: trunk@42402 -
2019-07-12 22:07:50 +00:00
svenbarth
b945e66e28 * store attribute information in PPU; this is less important for the compiler, but more for e.g. Lazarus when dealing with binary only units
* increase ppu version
+ added test
* adjust ppudump to handle attributes as well
ToDo: output parameter nodes as well

git-svn-id: trunk@42401 -
2019-07-12 22:07:46 +00:00
svenbarth
71fa4d1fe2 * the RTTI of an attribute not only consists of the creation function, but also of the attribute's type, a pointer to the constructor and a data blob containing the constant parameters
+ added test

git-svn-id: trunk@42390 -
2019-07-12 22:07:05 +00:00
svenbarth
c214648224 + add a test for overloaded attribute constructors
git-svn-id: trunk@42380 -
2019-07-12 22:06:28 +00:00
svenbarth
24c4b90343 * instead of declaring another type with a 'attribute' suffix, *search* for another type with a 'ATTRIBUTE' suffix (Delphi allows declaring both a TFoo and TFooAttribute in the same unit)
+ added test

git-svn-id: trunk@42362 -
2019-07-12 22:05:18 +00:00
svenbarth
869664c6da * rename custom attributes related tests to something more sensible
git-svn-id: trunk@42361 -
2019-07-12 22:05:12 +00:00
svenbarth
b2932393df Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.

git-svn-id: trunk@42356 -
2019-07-12 22:04:48 +00:00