Commit Graph

51971 Commits

Author SHA1 Message Date
svenbarth
fcc1ce7a08 * fix for Mantis #30344: applied patch by Mario Ray Mahardhika to add new command line option -Sj[-|+] to control writeable typed constants (with a small adjustment to the help text)
+ added test

git-svn-id: trunk@37437 -
2017-10-09 19:19:23 +00:00
michael
656405d7dc + Added QR code generator, image drawer
* QR Code generator code translated from C code from Project Nayuki (http://nayuki.io)
    (reused with permission)
  * Translated demo app from project Nayuki
  * Added sample QR code generator demo app 

git-svn-id: trunk@37436 -
2017-10-09 19:17:26 +00:00
michael
f218a369d6 * Remove debug writeln
git-svn-id: trunk@37435 -
2017-10-09 19:13:20 +00:00
Mattias Gaertner
bc6b6fe7c9 fcl-passrc: resolver: fixed CheckClassIsClass if DestType is forward class
git-svn-id: trunk@37434 -
2017-10-09 11:08:31 +00:00
Mattias Gaertner
061c0b4da3 pastojs: test raise functioncall
git-svn-id: trunk@37433 -
2017-10-09 10:44:35 +00:00
Mattias Gaertner
40b359c1ba fcl-passrc: resolver: raise functioncall
git-svn-id: trunk@37432 -
2017-10-09 10:44:15 +00:00
michael
243002023c * Patch from Markus Beth to fix some comments
git-svn-id: trunk@37431 -
2017-10-09 08:31:12 +00:00
nickysn
d96558cd64 * fixed bug in assembling some 32-bit instructions on the i8086 target (e.g.
mov dword ptr [something], ebx)

git-svn-id: trunk@37430 -
2017-10-08 11:10:42 +00:00
svenbarth
f6a867ef04 * move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays
+ added test

git-svn-id: trunk@37429 -
2017-10-08 10:39:34 +00:00
svenbarth
c01b36a2fa * the checks for no parameters are not needed for Insert() and Delete() as they take care of that themselves with an overload listing
git-svn-id: trunk@37428 -
2017-10-08 10:37:30 +00:00
michael
9d32f87ebb * Added license statement
git-svn-id: trunk@37427 -
2017-10-08 09:39:03 +00:00
svenbarth
fe95d73fe5 * move RTTI header include above ObjPas header include
git-svn-id: trunk@37426 -
2017-10-08 08:44:51 +00:00
michael
43867344cd * Demo how to create pdf from text file
git-svn-id: trunk@37425 -
2017-10-08 08:29:05 +00:00
svenbarth
a0fb85b690 - remove no longer needed aligntoptr() and aligntoqword() functions (all this should be handled by the typinfo unit in the future)
git-svn-id: trunk@37424 -
2017-10-07 22:08:05 +00:00
svenbarth
89645633a9 * get rid of calls to aligntoptr by using methods provided by TClassData and TPropInfo
git-svn-id: trunk@37423 -
2017-10-07 22:02:40 +00:00
svenbarth
da30391a6a * FillChar for the properties is not needed as SetLength already initializes the array elements
git-svn-id: trunk@37422 -
2017-10-07 21:51:18 +00:00
svenbarth
57db4b47e1 - remove unneeded type declaration
git-svn-id: trunk@37421 -
2017-10-07 21:44:51 +00:00
svenbarth
1ae344394a + add data record for easier access to a class' data
git-svn-id: trunk@37420 -
2017-10-07 21:40:42 +00:00
florian
3d3298f64d * write absolute references correctly on avr, resolves #32040
git-svn-id: trunk@37419 -
2017-10-07 21:09:20 +00:00
svenbarth
d9bc656852 * use new pool functionality for property instances
* extended test

git-svn-id: trunk@37418 -
2017-10-07 17:32:28 +00:00
svenbarth
1cbb4266d7 * rework Rtti pool so that non-types (e.g. properties, etc.) can be stored as well based on their handle
git-svn-id: trunk@37417 -
2017-10-07 16:36:48 +00:00
svenbarth
f8d919970a * since the property data is different for records, classes and interfaces they need to be handled by the concrete Rtti type (currently only TRttiInstanceType) and not the general TRttiType type
git-svn-id: trunk@37416 -
2017-10-07 15:40:38 +00:00
svenbarth
29eb742ded * move aligntoptr() and aligntoqword() further up so they can be used by other code as well
git-svn-id: trunk@37415 -
2017-10-07 15:33:22 +00:00
svenbarth
49fc13ea73 * move Handle property to TRttiObject (Delphi compatible and is probably also used for the caching mechanism)
git-svn-id: trunk@37414 -
2017-10-07 15:10:23 +00:00
svenbarth
4489163620 * declare TRttiObject as abstract
git-svn-id: trunk@37413 -
2017-10-07 15:05:22 +00:00
svenbarth
c35f694fb8 - remove unused local type
git-svn-id: trunk@37412 -
2017-10-07 14:59:33 +00:00
florian
4cf2a2672a changes to fix #32043
* changed most of the variables in the assembler readers used to store constants from aint to tcgint 
  as aint has only the size of the accumular while some CPUs (AVR) allow larger constants in instructions
+ allow access to absolute symbols with address type in inline assembler
* allow absolute addresses in avr inline assembler
+ tests

git-svn-id: trunk@37411 -
2017-10-06 21:07:19 +00:00
nickysn
8ba4de3885 + test lea with non-native address sizes (16-bit on i386, 32-bit on x86_64)
git-svn-id: trunk@37410 -
2017-10-06 15:46:03 +00:00
nickysn
92a52a9f4d + implemented support for instructions with non-native address size on i8086
(16-bit and 32-bit), i386 (16-bit and 32-bit) and x86_64 (32-bit and 64-bit).
  Known bug: 32-bit addresses with an offset have their offset truncated to its
  low 16-bits on i8086

git-svn-id: trunk@37409 -
2017-10-06 15:27:14 +00:00
svenbarth
bfd37969ad * move TRttiStructuredType and TRttiInstanceType further down as they need access to TRttiMember and its children
git-svn-id: trunk@37408 -
2017-10-06 13:10:01 +00:00
nickysn
8589b946fc * different versions (behind cpu specific ifdefs) of process_ea_ref renamed
process_ea_ref_64_32, process_ea_ref_32 and process_ea_ref_16, indicating
  the address size they support; this is done, so that in the future, we can
  mix them all on the same x86 architecture and support multiple address sizes

git-svn-id: trunk@37407 -
2017-10-05 22:15:26 +00:00
Mattias Gaertner
5534acd097 fcl-passrc: resolver: fixed with-do-inherited
git-svn-id: trunk@37406 -
2017-10-05 22:14:41 +00:00
Mattias Gaertner
40717326bc fcl-passrc: resolver: error message on array of const
git-svn-id: trunk@37405 -
2017-10-05 21:57:31 +00:00
Mattias Gaertner
facd1f5002 fcl-passrc: resolver: class-of constant
git-svn-id: trunk@37404 -
2017-10-05 21:49:36 +00:00
Mattias Gaertner
a7265432eb fcl-passrc: resolver: allow different arg names in override methods
git-svn-id: trunk@37403 -
2017-10-05 21:35:09 +00:00
svenbarth
0c8f670ee0 + add TRttiPointerType
* extend Rtti test

git-svn-id: trunk@37402 -
2017-10-05 21:10:30 +00:00
svenbarth
5c85e94919 + add TRttiNamedObject.Handle property of which the getter needs to be overridden in each sub class
git-svn-id: trunk@37401 -
2017-10-05 21:06:47 +00:00
nickysn
31c9214884 * replaced R_SUBADDR with the appropriate size (R_SUBW, R_SUBD or R_SUBQ) in
the cpu specific process_ea_ref function

git-svn-id: trunk@37400 -
2017-10-05 20:39:32 +00:00
Mattias Gaertner
204ef5ac01 pastojs: fixed using type alias
git-svn-id: trunk@37399 -
2017-10-05 13:22:55 +00:00
Mattias Gaertner
a8fed34f99 pastojs: implemented resourcestrings
git-svn-id: trunk@37398 -
2017-10-04 19:43:13 +00:00
Mattias Gaertner
fe27ec2a26 fcl-passrc: resolver: check resourcestring expression
git-svn-id: trunk@37397 -
2017-10-04 19:42:56 +00:00
Mattias Gaertner
a70a1989e5 fcl-passrc: resolver: if varofaliasofclassof=typeofaliasofclassof
git-svn-id: trunk@37396 -
2017-10-04 16:42:43 +00:00
Mattias Gaertner
35f7b9fcf6 pastojs: fixed class-of-aliastype
git-svn-id: trunk@37395 -
2017-10-04 14:46:02 +00:00
Mattias Gaertner
aa1eed7b20 fcl-passrc: resolver: fixed class-of-aliastype
git-svn-id: trunk@37394 -
2017-10-04 14:37:53 +00:00
Mattias Gaertner
5fc3bbba12 pastojs: implemented logical xor
git-svn-id: trunk@37393 -
2017-10-04 12:26:22 +00:00
Mattias Gaertner
203c723bc3 fcl-passrc: resolver+useanalyzer: implemented resourcestring
git-svn-id: trunk@37392 -
2017-10-04 12:21:55 +00:00
Mattias Gaertner
48024645f0 pastojs: fixed property index value path
git-svn-id: trunk@37391 -
2017-10-04 00:53:00 +00:00
florian
cc44328109 * correctly calc case label distance after r36362, resolves #32115 and #32311
git-svn-id: trunk@37390 -
2017-10-03 20:36:09 +00:00
Mattias Gaertner
58454f555a pastojs: implemented funcname:=
git-svn-id: trunk@37389 -
2017-10-03 16:08:59 +00:00
Mattias Gaertner
abd8907939 fcl-passrc: resolver: implemented funcname:=
git-svn-id: trunk@37388 -
2017-10-03 16:07:17 +00:00