Michaël Van Canneyt
e15f731a9b
* Allow to parse internal symbol names generated for generics.
2024-11-25 21:58:17 +01:00
Michaël Van Canneyt
e1e301dea8
* Add missing methods to thunk class for parent interfaces without RTTI
2024-11-25 11:32:36 +01:00
Michaël Van Canneyt
46e5903792
* Generate correct type name for procedural type arguments in thunk class
2024-10-15 15:59:09 +02:00
Michaël Van Canneyt
02704f85a9
* Wasm: generator for invoke helper now handles overloaded methods in interfaces
2024-05-06 15:49:28 +02:00
Michaël Van Canneyt
312cf246ad
* Fix creating thunk class when inherited interfaces are used
2024-05-04 16:44:32 +02:00
Michaël Van Canneyt
6f7481fd24
* Remove freeold from set_current_scanner
2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
4443e83b75
* replace/restore_scanner use var in state to make sure the correct scanner is freed
2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
125bd9d5e9
Create invoke helper if requested and reference it in RTTI
2023-07-13 07:32:21 +00:00
Michaël Van Canneyt
92f148e667
* Generate hidden class to be used for TVirtualInterface (wasm only)
2023-07-11 08:36:57 +00:00
Nikolay Nikolov
553cee72eb
* tsk_wasm_suspending renamed tsk_wasm_suspending_first
2023-06-17 12:28:12 +03:00
Nikolay Nikolov
2f1ccd6f2a
+ support 'promising last' exports
2023-06-16 11:00:19 +03:00
Nikolay Nikolov
9d893b5d0d
* tcpuprocdef.promising_export_name renamed promising_first_export_name
2023-06-16 10:50:35 +03:00
Nikolay Nikolov
9ea1f6de19
+ added 'last' or 'first' to the internal promising wrapper name
2023-06-13 12:15:46 +03:00
Nikolay Nikolov
ed748a65b4
+ added last:boolean parameter to implement_wasm_promising_wrapper
2023-06-13 12:14:09 +03:00
Nikolay Nikolov
2eb3f5f0b8
+ introduced implement_wasm_promising_wrapper
2023-06-13 12:10:54 +03:00
Nikolay Nikolov
0f89852908
+ support 'suspending last' externals as well
2023-06-13 09:34:54 +03:00
Nikolay Nikolov
c22b6c10b7
* fixed generating wrappers for suspending functions that return something, other than double
2023-06-11 16:50:49 +03:00
Nikolay Nikolov
15c95e0ac7
+ initial implementation of WebAssembly promising exports
2023-06-11 16:43:45 +03:00
Nikolay Nikolov
80c8575636
* fixed creating suspended wrappers for functions without parameters
2023-06-11 15:24:55 +03:00
Nikolay Nikolov
1a4b97a62a
* fixed compilation with -Sew
2023-06-11 15:09:49 +03:00
Nikolay Nikolov
b247302871
+ initial attempt (not fully working, yet) at implementing WebAssembly suspending externals
2023-06-11 14:07:35 +03:00
Jonas Maebe
32f8dc7ef5
symcreat: add hidden high parameters in create_procdef_alias
...
No longer happens automatically for pc_bareproc procdef copies
2022-12-31 11:59:05 +01:00
Jonas Maebe
b0e1867b4c
symcreat: support for scanner/parser escape sequences
...
Support escape sequences when parsing internally generated code. Used for now
to force interpreting certain identifiers as unit/namespace identifiers.
2022-09-16 11:21:05 +02:00
Jonas Maebe
76e3cfc38f
parentfpstruct: don't add vo_is_firstfield to first field of record
...
That flag is only for the first field of variant parts of records
2022-06-06 23:12:53 +02:00
Sven/Sarah Barth
7f3a5eb9ab
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
Sven/Sarah Barth
f6a444c6fc
* combine the Boolean parameters of read_proc and read_proc_dec into a set
2022-05-26 21:42:53 +02:00
Pierre Muller
5acd7a7b83
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
Jonas Maebe
5e3e4437c4
* use new TSym.EscapedRealName property when creating new symbols with the
...
same name as existing symbols
git-svn-id: trunk@47856 -
2020-12-27 13:18:53 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
Jonas Maebe
a2174753c1
- removed tabstractrecorddef.get_unit_symtable, which did not always return the unit
...
symtable (when you had a local recorddef in a procdef)
* modified tdef.get_top_level_symtable() so you can specify whether you want to
skip procdefs or not
* changed tobjectdef.vmt_def() to no longer require a typesym for the tobjectdef
(based on patch by Blaise)
git-svn-id: trunk@45361 -
2020-05-13 21:46:29 +00:00
svenbarth
a041f899d3
* when creating the static field of a generic, insert it into the generic instead of the global symtable as it isn't really used anyway
...
git-svn-id: trunk@43542 -
2019-11-21 21:44:43 +00:00
Jonas Maebe
a051b8d225
- remmoved doregister parameter from t*sym constructors, as the registration
...
is handled automatically nowadays
git-svn-id: trunk@42998 -
2019-09-14 17:30:45 +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
svenbarth
a64a8f8deb
- remove code to create an attribute using a synthetic function
...
git-svn-id: trunk@42396 -
2019-07-12 22:07:28 +00:00
svenbarth
ced3885dbb
* generate construction function for the attributes used in a unit using a more straight forward approach
...
ToDo: "collect" attributes of same type and same argument list and generate constructor only once for them
git-svn-id: trunk@42394 -
2019-07-12 22:07:20 +00:00
svenbarth
f9cda608fa
* take a copy of the constructor assignment node (and free it together with the attribute)
...
git-svn-id: trunk@42388 -
2019-07-12 22:06:57 +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
Jonas Maebe
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
...
be introduced by the next commit
git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
ed2ae508d0
* only add hidden parameters for objectdef methods after generating the vmt,
...
so that they take into account inherited calling conventions (mantis #35233 )
o don't needlessly calculate the paraloc info when generating a JVM mangled
name
git-svn-id: trunk@41716 -
2019-03-16 19:14:14 +00:00
Jonas Maebe
91d5457b38
* moved around/replaced the following procedures to stop nflw from depending
...
on pdecsub (node units should not depend on parser units):
o maybe_add_public_default_java_constructor()
o handle_calling_convention()
o create_finalizer_procdef() (replaced with create_outline_procdef())
o insert_record_hidden_paras()
o handle_calling_convention()
o proc_add_definition()
o build_parentfpstruct()
o maybe_guarantee_record_typesym()
o get_first_proc_str()
* factored out the creation of a procinfo for a nested procdef based on a
subnodetree of the current procdef into tprocinfo.create_for_outlining()
git-svn-id: trunk@40773 -
2019-01-05 16:26:33 +00:00
Jonas Maebe
4d03f3a65e
* fixed LLVM memory leaks
...
git-svn-id: trunk@40732 -
2019-01-01 16:22:31 +00:00
Jonas Maebe
d75ba7cb11
* suppress notes about unused $nestedvars local variable
...
git-svn-id: trunk@40648 -
2018-12-25 18:22:41 +00:00
Jonas Maebe
acf02ab64b
* when creating wrappers, add a prefix to parameter names to prevent them
...
hiding the method name of the wrapped routine
o also add a few more '&' prefixes to the generated wrapper code to
prevent issues when keywords are used as identifiers
git-svn-id: trunk@40634 -
2018-12-24 22:10:06 +00:00
nickysn
3318703ece
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
...
git-svn-id: trunk@38671 -
2018-04-03 16:41:01 +00:00
Jonas Maebe
d35377fdee
* workaround for debug info for interface method wrappers: give them the
...
line number information of the method declaration if it's in the current
unit, and otherwise the first line of the current unit (mantis #14399 )
git-svn-id: trunk@37961 -
2018-01-13 16:54:22 +00:00
florian
b1dff29cbf
* removed unused units
...
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
svenbarth
1a6a8b7c9f
+ introduce a new potype for the main stub of a package library (which on Windows is simply a DLLMain returning True)
...
git-svn-id: trunk@35371 -
2017-01-29 22:37:40 +00:00
Jonas Maebe
d36fe53d85
* factored out the code to create an complete alias for a procdef to
...
symcreat.create_procdef_alias()
git-svn-id: trunk@35087 -
2016-12-09 13:39:35 +00:00
Jonas Maebe
8af85a16b3
* document finish_copied_procdef()
...
git-svn-id: trunk@35086 -
2016-12-09 13:39:31 +00:00
Jonas Maebe
81b9928e31
* simply disable warnings rather than initialise the function result in
...
abstract method wrappers using default(resulttype), because "resulttype"
may not be visible in the current unit. Fixes win32 build after r34127
git-svn-id: trunk@34137 -
2016-07-15 14:35:52 +00:00