pierre
40193ea1db
Add pi_has_open_array_parameter to proc_info.flags as this requires special handling for i8086 huge memory model to restore DS register correctly
...
git-svn-id: trunk@32922 -
2016-01-11 15:02:10 +00:00
pierre
c863cd5bc8
Add u128bit and s128bit support in ppudump
...
git-svn-id: trunk@32898 -
2016-01-09 21:34:07 +00:00
Jonas Maebe
9258b5d76b
+ non-functional 128 bit integer types (inaccessible from Pascal), for use
...
in the LLVM high level code generator to implement overflow checking
git-svn-id: trunk@32735 -
2015-12-26 20:00:33 +00:00
Károly Balogh
9133964676
m68k: new 68k register data file format, which eases future subregister support
...
git-svn-id: trunk@32653 -
2015-12-13 17:29:47 +00:00
Jonas Maebe
01d93b61c3
* save/restore the type (and hence code page) of ansistring constsyms in/from
...
the ppu (mantis #28964 )
* also save/restore the type of constnil, constresourcestring and constguid
in/from the ppu
git-svn-id: trunk@32617 -
2015-12-08 14:27:23 +00:00
pierre
8ca036c3b6
Derefedata length can be zero if there are no references in PPU
...
git-svn-id: trunk@32584 -
2015-12-04 17:26:30 +00:00
Jonas Maebe
fa3b0ca312
* support marking defs created via the getreusable*() class methods as
...
"don't free even if not registered"; use for defs that may not be written
to a ppu file, but that must nevertheless survive the compilation of the
current module
* mark all defs created for para locations as "don't free even if not
registered", because we don't discard and recalculate all para locations
after a module has been compiled (since that's not needed)
o solves issues if the paralocations for a routine in the interface of
unit A are calculated while the implementation of unit B gets
compiled, and a new reusable type is allocated at that point which
is not used anywhere else (after r32160)
git-svn-id: trunk@32235 -
2015-11-04 20:46:18 +00:00
Jonas Maebe
d5aa498cf5
* fixed several issues related to dumping jvm ppu files
...
o don't use ifdefs related to symansistr or jvm, since these conditional
defines are not set while compiling ppudump
git-svn-id: trunk@32234 -
2015-11-04 20:46:13 +00:00
Jonas Maebe
d80e318945
* adapted ppudump to the changes in r32031
...
git-svn-id: trunk@32056 -
2015-10-14 16:44:05 +00:00
joost
8e2a44db88
* Fixed problem with samplecfg that did not write the fppkg-configuration files when fp was not installed
...
git-svn-id: trunk@31943 -
2015-10-04 09:36:07 +00:00
pierre
3123d823a1
Fix -VD or -VS by partially reading Interface information
...
git-svn-id: trunk@31797 -
2015-09-23 16:34:02 +00:00
svenbarth
e44a51f10d
symdef.pas, tprocdef:
...
+ new token buffer that holds the declaration of the generic function/method while the one from tdef contains the body
ppu.pas:
* increase PPU version
utils/ppuutils/ppudump.pp:
* also read the declaration token buffer, it's however not printed yet (ToDo!)
git-svn-id: trunk@31759 -
2015-09-18 13:46:50 +00:00
Jonas Maebe
faf4a9cb38
* moved the generation of the "main" stub for libc-based platforms from
...
hlcgobj to pmodules/symcreat/ngenutil, so that it also works for llvm
git-svn-id: trunk@31658 -
2015-09-12 23:34:01 +00:00
Jonas Maebe
c7a418829b
* support for implementing interface method wrappers at the node tree
...
level, used by LLVM
git-svn-id: trunk@31636 -
2015-09-12 23:32:42 +00:00
nickysn
2e3cb70489
* regenerated makefiles after adding the win16 target
...
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
nickysn
3145d68fdb
* fixed compilation of ppudump
...
git-svn-id: trunk@31522 -
2015-09-05 03:38:51 +00:00
pierre
960a72f821
Use AnsiString and sysutils GetEnvironmentVariable function to avoid truncation of PATH to 255 chars
...
git-svn-id: trunk@31202 -
2015-07-11 13:59:06 +00:00
Károly Balogh
77bdd83bfc
AROS/x86_64: regenerated Makefiles
...
git-svn-id: trunk@31177 -
2015-06-29 00:09:06 +00:00
Károly Balogh
0dafa78d27
ppudump: made it compile with -Sew by turning off unreachable code warning for Real80BitToStr() function
...
git-svn-id: trunk@31010 -
2015-06-07 23:59:24 +00:00
Jonas Maebe
3c8068ad0b
+ Aarch64 support in the fpc binary (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30894 -
2015-05-22 09:25:08 +00:00
Jonas Maebe
8628d50aba
+ Linux/AArch64 compiler support (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30893 -
2015-05-22 09:25:05 +00:00
Jonas Maebe
89418d23e5
* regenerated Makefiles with Linux/AArch64 support
...
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
Jonas Maebe
1e7fcec236
* build mka64ins by default in the compiler/utils directory (patch by
...
Edmund Grimley Evans)
git-svn-id: trunk@30848 -
2015-05-14 14:42:15 +00:00
Jonas Maebe
585e4a9a14
* corrected cosmetic ARM/AArch64 copy/paste leftovers (patch by
...
Edmund Grimley Evans)
git-svn-id: trunk@30847 -
2015-05-14 14:42:12 +00:00
florian
e0b27e1688
* unified typing and ppu reading/writing of setdef fields regarding aint/asizeint
...
git-svn-id: trunk@30542 -
2015-04-11 11:36:01 +00:00
Jonas Maebe
b403a8c3fd
* fixed ppu dump for objc categories
...
git-svn-id: trunk@30465 -
2015-04-06 14:05:39 +00:00
Jonas Maebe
f6b03b2912
* updated ppudump for changes in ppu version 174
...
git-svn-id: trunk@30464 -
2015-04-06 14:05:36 +00:00
Jeppe Johansen
914e9e7b49
Merged from trunk
...
git-svn-id: branches/laksen/armiw@30146 -
2015-03-08 12:33:46 +00:00
Jonas Maebe
fa328436ab
* regenerated for iphonesim/x86-64
...
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
749f393095
* fixed platform names for Darwin in ppudump
...
git-svn-id: trunk@29973 -
2015-02-23 22:56:24 +00:00
Jonas Maebe
79a06b1514
+ iphonesim/x86_64 target (64 bit iOS simulator)
...
git-svn-id: trunk@29970 -
2015-02-23 22:56:09 +00:00
Jonas Maebe
3d01d4ceb1
* regenerated with Darwin/AArch64 support
...
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
Jonas Maebe
b5643f2a27
+ aarch64 cpu identifier
...
git-svn-id: trunk@29876 -
2015-02-23 22:50:38 +00:00
Jonas Maebe
bedcc5cbb1
+ Darwin/AArch64 system identifier
...
git-svn-id: trunk@29869 -
2015-02-23 22:50:16 +00:00
Jeppe Johansen
47dbec3111
Rebase to trunk revision
...
git-svn-id: branches/laksen/armiw@29708 -
2015-02-15 16:08:18 +00:00
Jonas Maebe
eb419b58c5
- disable inlining of routines that contain a call to a C-style varargs
...
function, as we don't save/restore the synthetic paravarsyms that
are created for this
git-svn-id: trunk@29584 -
2015-01-30 19:31:22 +00:00
pierre
d939a163f7
Fix errors and improve ouput of ppudump
...
git-svn-id: trunk@29577 -
2015-01-29 16:37:21 +00:00
Jonas Maebe
146e3bcb9e
* synchronised with trunk till r29513
...
git-svn-id: branches/blocks@29516 -
2015-01-21 23:28:34 +00:00
Jonas Maebe
e97f31541e
- reverted partial commit of merge
...
git-svn-id: branches/blocks@29515 -
2015-01-21 23:24:37 +00:00
Jonas Maebe
a76bbf363d
* synchronised with trunk r29513
...
git-svn-id: branches/blocks@29514 -
2015-01-21 23:18:29 +00:00
marco
d407b668d1
* version updated to 3.1.1
...
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
Jeppe Johansen
7390acc426
Merged from recent trunk.
...
git-svn-id: branches/laksen/armiw@29369 -
2015-01-01 23:54:40 +00:00
joost
5b7f168d2c
* Set the full path to the fpc-binary in the fppkg-configuration file
...
git-svn-id: trunk@29279 -
2014-12-13 11:24:21 +00:00
Jeppe Johansen
d023c63ad0
Add a lot of instruction table entries and missing instructions for support of most ARM32 mode instructions from ARMv4 up ARMv7A.
...
Add some VFP registers.
Rebuilt tables.
Added a lot of VFPv3 and Advanced SIMD(not supported yet) oppostfixes.
Implemented code in aasmcpu to generate binary code from the instructions. Only ARM32 supported so far.
git-svn-id: branches/laksen/armiw@29246 -
2014-12-10 20:38:23 +00:00
marco
2578514853
* first dragonfly patch (existing most). Mantis #27091
...
git-svn-id: trunk@29213 -
2014-12-07 20:27:02 +00:00
Tomas Hajny
3ee3542744
* boolean constant instead of IFDEFs for detection of microcontroller support
...
git-svn-id: trunk@29052 -
2014-11-10 12:34:59 +00:00
pierre
aa6b62cf4c
Add new procedure option: po_syscall_has_libsym,
...
include this option only of libsym field
is non NIL.
Use this option to only write redef of libsym if needed.
Adapt ppudump source to this new procedure option.
git-svn-id: trunk@28732 -
2014-10-03 19:26:16 +00:00
pierre
fa8d44c523
Add missing generic/specialization parameter listing
...
git-svn-id: trunk@28728 -
2014-10-01 12:56:51 +00:00
Károly Balogh
da7efb8607
AROS: regenerated Makefiles to support i386-aros
...
git-svn-id: trunk@28438 -
2014-08-17 23:16:47 +00:00
Károly Balogh
4431ba2c08
merged/updated AROS/i386 target to trunk from AROS branch, to support Marcus Sackrow's work on AROS support which will hopefully benefit all Amiga-like targets (classic, MorphOS) on the long run. Compiler only, RTL comes in the next run.
...
git-svn-id: trunk@28432 -
2014-08-17 18:18:07 +00:00
nickysn
36d63b953e
+ added an i8086 specific boolean property is_huge to the tarraydef. For now it
...
will only be used for indexing huge pointers (i.e. only huge arrays with the
ado_IsConvertedPointer array option will be supported). In the distant future,
regular huge arrays may be supported as well (but that would require
substantially more work, including adding hugeness support to other structures
such as records, objects and classes, so I'm not planning on doing it anytime
soon).
git-svn-id: trunk@28270 -
2014-07-26 13:27:46 +00:00
Jonas Maebe
c730e16031
* changed the syntax for block procvars from "xxx is block" to
...
"reference to ...; cdecl;". The "reference to ..." syntax is what Delphi
uses for anonymous function references. The "cdecl;" indicates that this
is for the C-variant of such references, which is what blocks are
git-svn-id: branches/blocks@28233 -
2014-07-18 09:15:29 +00:00
Jonas Maebe
bd09b88a5b
+ support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
...
o blocks are implemented as a variation of procedure variables
o declaration of a block variable: "test: procedure(c: char) is block;"
(C equivalent: (void)(^test)(char c) )
o the compiler automatically converts procedures/functions whose address
is passed to a block parameter or assigned to a block variable into
a "block". This consists of
1) generating a block descriptor (containing the size of the "block
literal" (see below) and the signature of the invocation function
encoded as an Objective-C selector)
2) generating a wrapper function around the original funcion (with C
calling convention), that has an extra first hidden parameter
(marked as vo_is_parentfp in the compiler) whose type is a pointer
to the describing "block literal"
3) generating the "block literal", which contains a pointer to an
external variable indicating whether this block captures context or
not, some flags (see compiler/blockutl.get_block_literal_flags for
info), a pointer to the wrapper function and a pointer to the
descriptor. In the future, it will also contain captured variables.
o right now, only global procedures/functions can be converted to blocks
(because they don't require state capturing). The next steps are (Object
Pascal) methods (not Objective-C methods, because Objective-C method
procvars don't exist) and finally nested functions
o on Mac OS X, the functionality will only work on Mac OS X 10.7 and later,
because we have to use the so-called "ABI.2010.3.16" to ensure that
our blocks aren't called as variadic functions by the runtime (which
came out after the Mac OS X 10.6 release)
o while the currently implemented functionality does not require any
library support at all, there's no use enabling it on other platforms
because unless it has been confirmed to work with a blocks runtime,
there's no point in using blocks (they're just somewhat bulky procvars
right now). Enabling it on other platforms (in combination with the
GNUStep Objective-C run time), should simply be a matter of adding
the right {$linklib xxx} statement to rtl/inc/blockrtl.pp file, adding
that file to Makefile.fpc for that platform and adding that platform
to the compiler/systems.systems_blocks_supported set
git-svn-id: branches/blocks@28232 -
2014-07-18 09:15:22 +00:00
sergei
dc628b8969
* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
...
git-svn-id: trunk@27934 -
2014-06-11 22:31:40 +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
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
e21783a281
* i8086 small and tiny memory model ppus made incompatible. Rationale:
...
o the maintenance effort will be less - previously we had to test 4
combinations:
tiny program with tiny rtl
tiny program with small rtl
small program with tiny rtl
small program with small rtl
I only tested both tiny and small programs with the small rtl, so I missed
a bug, which caused small programs built with the tiny rtl to always give
a "Nil pointer assignment" error. Now we only need to test two cases:
tiny program with tiny rtl
small program with small rtl
o I'm planning a bug fix for interrupt procedures in the tiny model, which
will make their prolog differ between small and tiny. Currently, they're
not used in the rtl, but that may change. And even if it doesn't,
interrupt procedures may also be used by user units.
git-svn-id: trunk@27516 -
2014-04-10 16:31:06 +00:00
marco
56277b18db
* move fpcsubst to utils/ because it uses classes
...
git-svn-id: trunk@27370 -
2014-03-30 11:45:51 +00:00
florian
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
...
on the stack, this can be enabled by -OoFORCENOSTACKFRAME. This reduces the required
entry/exit code and makes an extra register available to the compiler. However, since this is
based on an estimation of the required stack size, it might have two drawbacks:
either the stack frame is estimated to big, the program requires a bigger stack than needed
or it is estimated too small, then the compiler throws an internalerror during compilation. These
issues can be overcome as soon as the compiler supports recompiling subroutines if needed.
git-svn-id: trunk@27239 -
2014-03-23 14:38:53 +00:00
Jonas Maebe
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
...
the availability of the body of a function declared as "inline" no
longer changes the CRC and hence no longer triggers recompilations
(mantis #24121 )
git-svn-id: trunk@27192 -
2014-03-19 21:53:10 +00:00
Jonas Maebe
72c1e2a8ce
* write newline after synthetickind
...
git-svn-id: trunk@27191 -
2014-03-19 21:53:06 +00:00
Jonas Maebe
c47b4cbe86
* fixed spacing of "alias names"
...
git-svn-id: trunk@27190 -
2014-03-19 21:53:02 +00:00
Jonas Maebe
7d8e9cf0f6
* moved tprocdef.isempty to a new set called implprocoptions that
...
contains flags related to the procdef's implementation (and that
don't influence the interface crc)
git-svn-id: trunk@27189 -
2014-03-19 21:52:59 +00:00
florian
b2b26f84cf
* partially merged the mips-embedded branch of Michael Ring:
...
- startup code/controller units are not merged yet
- assembler call does not pass the needed CPU type yet
git-svn-id: trunk@27188 -
2014-03-19 21:25:38 +00:00
Jeppe Johansen
7fdb125356
Added AVR support to fpc and root Makefile.
...
Rebuilt root Makefile.
git-svn-id: trunk@26944 -
2014-03-04 08:02:10 +00:00
svenbarth
47b4a52c8f
Also respect the supplied version suffix when printing the compiler path name using -PB. Fixes Mantis #25791
...
* compiler/utils/fpc.pp:
also apply the versionstr suffix to ppcbin if versionstr is set like is done when really executing the compiler
git-svn-id: trunk@26887 -
2014-02-26 19:13:06 +00:00
yury
73c26bd6be
* mipsel-android: Regenerated makefiles. From now the mipsel-android target can be built and used.
...
git-svn-id: trunk@26705 -
2014-02-07 12:37:17 +00:00
yury
56b3287e29
+ Added compiler support for mipsel-android target.
...
git-svn-id: trunk@26686 -
2014-02-06 17:02:43 +00:00
paul
19d71655eb
utils: fix few errors with sharepath in samplecfg
...
git-svn-id: trunk@26424 -
2014-01-11 16:15:02 +00:00
paul
4df2637e99
fpc: pass sharepath to fpc.cfg maker using samplecfg
...
git-svn-id: trunk@26423 -
2014-01-11 14:41:45 +00:00
yury
eea69a2947
* ppudump: Fixed json and xml output of inline types in array declaration.
...
git-svn-id: trunk@26277 -
2013-12-24 12:32:55 +00:00
yury
996ee048be
* ppudump: Properly handle type definitions inside a class definition for json and xml output.
...
git-svn-id: trunk@26273 -
2013-12-23 14:45:03 +00:00
yury
bc14407ffe
* ppudump: Deref index -1 is valid for absolute symbols. Handle this.
...
git-svn-id: trunk@26270 -
2013-12-23 12:26:28 +00:00
yury
7e8ce16f6b
* ppudump: Output the "default" option for properties.
...
git-svn-id: trunk@26173 -
2013-12-03 14:31:33 +00:00
florian
1d4a4d0684
+ noreturn directive
...
git-svn-id: trunk@26003 -
2013-11-10 09:00:59 +00:00
nickysn
e160dab697
+ added i8086 to the list of supported CPUs by FPC.exe
...
git-svn-id: trunk@25792 -
2013-10-15 13:29:51 +00:00
nickysn
f6e846c574
+ added the NEC V20/V30 instructions
...
git-svn-id: trunk@25750 -
2013-10-11 21:27:56 +00:00
yury
b293f7e5c4
* ppudump: Do not skip unnamed inline array type definitions such as "var arr: array of integer";
...
git-svn-id: trunk@25716 -
2013-10-07 20:15:13 +00:00
nickysn
9ed0d6d40d
* updated ppudump after r25672
...
git-svn-id: trunk@25673 -
2013-10-06 00:45:03 +00:00
nickysn
1bea98995b
* regenerated fpcmake makefiles after r25642
...
git-svn-id: trunk@25644 -
2013-10-05 10:11:27 +00:00
sergei
5af873ee5b
* x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files.
...
git-svn-id: trunk@25627 -
2013-10-03 08:08:04 +00:00
nickysn
c47d745bcf
+ added support for i8086 in mkx86ins.pp
...
git-svn-id: trunk@25601 -
2013-09-28 21:06:09 +00:00
nickysn
d8ef5aa3c4
* mkx86reg.pp updated to support i8086
...
git-svn-id: trunk@25599 -
2013-09-28 20:56:47 +00:00
nickysn
bf3e48d8e0
* compilation of ppudump fixed
...
git-svn-id: trunk@25368 -
2013-08-25 17:11:57 +00:00
nickysn
571e9c2e3e
+ added the new i8086 memory model flags to ppudump as well
...
git-svn-id: trunk@25366 -
2013-08-25 16:48:13 +00:00
sergei
5c4abfa75a
+ Implemented saving/restoring registers using PUSH/POP instructions on i386 targets with non-fixed stack. Provides some advantage in code size (e.g. the compiler becomes about 20KBytes smaller).
...
* This should be applicable to i8086 targets as well (but needs testing), by copying changes from i386/cgcpu.pas to i8086/cgcpu.pas and removing "$ifdef i386" lines in cgx86.pas.
git-svn-id: trunk@25224 -
2013-08-07 09:59:07 +00:00
nickysn
381c996e53
+ added po_far to tprocoptions
...
git-svn-id: trunk@24815 -
2013-06-08 16:34:30 +00:00
svenbarth
956b26bc97
Completely reworked implementation of generic constraints, by moving the generic constraint data from the symbols to the definitions (I originally thought that this would simplyfy things, but the more correct approach is to add it to the defs).
...
symsym.pas:
- remove "tgenericconstraintdata" and any using/loading/writing of it in "ttypesym"
- remove "tgenericconstraintflag"
symdef.pas:
+ add "tgenericconstraintdata"
+ load and write "genconstraintdata" in "tstoreddef"
symconst.pas:
+ add "tgenericconstraintflag" so it can be used in "ppudump" as well
defcmp.pas, compare_defs_ext:
* as we allow global operator overloads we can't really determine whether two defs are compatible, because a valid operator for the specialization types might just happen to be in scope of the generic; so for now constraints are only strictly checked when declaring a specialization
pgenutil.pas:
* adjust "parse_generic_parameters" and "check_generic_constraints" to the new location of the constraint data
ppudump.pp:
* corrrectly parse defs which contain generic constraints
git-svn-id: trunk@24628 -
2013-05-29 08:19:02 +00:00
nickysn
10ef91a7f6
* updated ppudump after the x86 pointer type changes introduced in r24453
...
git-svn-id: trunk@24548 -
2013-05-21 14:46:52 +00:00
svenbarth
f1f89c77c3
Finally refactor "b_needs_init_final" flag to be a symtable flag which is written to/loaded from the PPU (as discussed in the thread "Status report for "class helpers"" in fpc-devel on 29th January 2011).
...
symconst.pas:
+ add "sto_needs_init_final" value to "tsymtableoptions"
symtable.pas:
- TStoredSymtable: remove "b_needs_init_final"
+ TStoredSymtable: add "init_final_check_done" (which is False by default)
* TStoredSymtable.ppuload: set "init_final_check_done" to True if PPU is loaded (because the flag will then already be restored)
* TStoredSymtable.needs_init_final: check the symbols only if "init_final_check_done" is not set yet
* TStoredSymtable._needs_init_final: only check the symbol if "sto_needs_init_final" is not set yet and set the flag accordingly if needed
utils/ppuutils/ppudump.pp:
* respect the new flag
git-svn-id: trunk@24523 -
2013-05-17 12:15:13 +00:00
yury
10c1b11d15
* ppudump: Output "RetType" attribute for procedures and destructors.
...
git-svn-id: trunk@24511 -
2013-05-15 14:18:38 +00:00
yury
2ec85e9705
* ppudump: Output "Size" attribute for objects and records.
...
git-svn-id: trunk@24506 -
2013-05-15 09:13:12 +00:00
yury
ec6ff22588
* ppudump: Output "MethodPtr" attribute for procedural types.
...
git-svn-id: trunk@24504 -
2013-05-15 08:15:23 +00:00
nickysn
0b09c50138
* updated ppudump because of the ppu changes in r24491
...
git-svn-id: trunk@24497 -
2013-05-14 19:22:54 +00:00
paul
d38bd1b9bd
compiler: remove dummy ado_none from tarraydefoption. It is probably a leftover from time when tarraydefoptions was not present, comment options
...
ppudump: simplify readarraydefoptions
git-svn-id: trunk@24456 -
2013-05-07 06:51:32 +00:00
paul
17e7ef0d28
ppudump: fix help message
...
git-svn-id: trunk@24416 -
2013-05-04 02:23:39 +00:00
yury
15b3695a0e
* ppudump: Proper tag for a source file in XML.
...
git-svn-id: trunk@24411 -
2013-05-03 15:13:28 +00:00
yury
eb26ccfbe7
* ppudump: Proper output of Unicode string constants.
...
git-svn-id: trunk@24410 -
2013-05-03 15:04:50 +00:00
yury
906cd9d365
+ ppudump: XML output.
...
git-svn-id: trunk@24409 -
2013-05-03 14:27:17 +00:00
yury
65d832420e
* ppudump:
...
- Check PPU version to be the same as the current PPU version of the compiler. It prevents reading errors if a unit has wrong PPU version. The version check can be turned off using -S switch.
- User WriteError() in appropriate places in the code.
git-svn-id: trunk@24408 -
2013-05-03 13:03:22 +00:00
yury
ad8f42cd29
* ppudump: JSON output of float, string, file, variant, undefined, formal definitions.
...
git-svn-id: trunk@24407 -
2013-05-03 12:28:19 +00:00
yury
44a0b61224
* ppudump: Write errors to StdErr and write warnings to StdErr when output to JSON.
...
git-svn-id: trunk@24406 -
2013-05-03 11:12:15 +00:00
yury
3a8ed11e23
* ppudump: JSON output of pointers and ordinal definitions.
...
git-svn-id: trunk@24405 -
2013-05-03 11:04:18 +00:00
yury
679a8d9dd6
* ppudump: JSON output of sets and set constants.
...
git-svn-id: trunk@24394 -
2013-04-30 15:09:05 +00:00
yury
026200d75a
* ppudump: JSON output of enums.
...
git-svn-id: trunk@24393 -
2013-04-30 14:09:37 +00:00
pierre
6d3121078d
Regenerate all Makefiles with an up-to-date fpcmake binary
...
git-svn-id: trunk@24373 -
2013-04-29 12:48:11 +00:00
Jonas Maebe
6462d10b17
* de-tabbed
...
* mention ppudump (mantis #24328 )
git-svn-id: trunk@24355 -
2013-04-28 13:45:03 +00:00
Jonas Maebe
52dd59ee74
* write full help when executing ppudump without parameters (based on patch
...
by Reinier Olislagers, mantis #24328 )
git-svn-id: trunk@24354 -
2013-04-28 13:44:57 +00:00
yury
e212901658
* ppudump: JSON output of constants, records, arrays, class refs.
...
git-svn-id: trunk@24333 -
2013-04-26 15:55:29 +00:00
yury
b4ba96fa5a
* ppudump: JSON output of properties and global vars.
...
git-svn-id: trunk@24331 -
2013-04-26 10:26:42 +00:00
florian
3d7033d81e
* Makefiles regenerated
...
git-svn-id: trunk@24325 -
2013-04-25 20:25:57 +00:00
florian
0e41df598e
* merge i8086 branch by Nikolay Nikolov
...
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
yury
3dd976c06f
* ppudump: Fixed writing of float values.
...
git-svn-id: trunk@24318 -
2013-04-25 10:31:45 +00:00
yury
d265e8d3be
* ppudump: JSON output of classes.
...
git-svn-id: trunk@24317 -
2013-04-25 10:03:29 +00:00
yury
7ad68debc9
* ppudump: Work in progress on JSON output. Implemented procedure definition.
...
git-svn-id: trunk@24316 -
2013-04-25 06:56:38 +00:00
yury
61ac7580b7
* ppudump: Work in progress on JSON output.
...
git-svn-id: trunk@24311 -
2013-04-23 15:16:34 +00:00
yury
432f5059fc
* ppudump:
...
- Use -Ft and Fj options to set the text and JSON output formats.
- Get version string from compiler sources.
git-svn-id: trunk@24306 -
2013-04-23 09:49:41 +00:00
Jonas Maebe
c4b62f86a1
* renamed ppudump directory introduced by r24298 to ppuutils to fix
...
compilation on unix platforms (the ppudump binary name conflicted with
with the directory name)
git-svn-id: trunk@24300 -
2013-04-22 14:37:37 +00:00
yury
85c2d144c5
* ppudump: Started implementation of JSON output. Output of unit header info has been implemented.
...
git-svn-id: trunk@24299 -
2013-04-22 14:08:53 +00:00
yury
6327854259
* Move ppudump.pp to a sub-folder as preparation for adding JSON output units.
...
git-svn-id: trunk@24298 -
2013-04-22 11:19:25 +00:00
yury
187153a557
* ppudump: commented unused local vars.
...
git-svn-id: trunk@24297 -
2013-04-22 10:45:33 +00:00
yury
eca2b52a03
* ppudump: Implemented wrappers for write and writeln in order to be able to turn off default output when JSON output is selected.
...
git-svn-id: trunk@24296 -
2013-04-22 10:35:11 +00:00
nickysn
8a1178e4e9
* regenerated makefiles
...
git-svn-id: branches/i8086@24114 -
2013-04-01 17:30:11 +00:00
nickysn
873d5f7d05
* makefiles regenerated
...
git-svn-id: branches/i8086@24103 -
2013-04-01 02:02:53 +00:00
florian
40af7b2817
+ add msdos target to ppudump
...
git-svn-id: branches/i8086@24051 -
2013-03-29 10:46:34 +00:00
florian
911ac847f7
* regenerated several automatically generated files after last changes
...
git-svn-id: branches/i8086@23936 -
2013-03-19 20:12:48 +00:00
svenbarth
168c9d152f
Small optimization for the search of operator overloads. Add a flag "sto_has_generic" to all symtables that contain an operator overload (the flag propagates up the owning symtables) and check this flag when searching for units with operators.
...
symconst.pas:
+ add "sto_has_operator" to "tsymtableoption"
pdecsub.pas:
+ include the flag "sto_has_operator" for all operator declarations and their owning symtables
htypechk.pas, tcallcandidates:
* create_candidate_list: only check for operator overloads if the record does indeed declare some
* collect_overloads_in_units: only check for operator overloads if the unit does indeed declare some
utils/ppudump.pp:
+ respect the new "sto_has_operator" flag
git-svn-id: trunk@23688 -
2013-03-04 16:02:18 +00:00
yury
d3e3296d23
* Fixed ppudump after changes in r22266.
...
git-svn-id: trunk@23634 -
2013-02-20 13:45:59 +00:00
yury
a530bb1bb0
* Fixed reading of float constant after changes in r20190. ppudump now read PPUs without fatal errors.
...
* Replaced assignment "has_errors:=true" by calling a new procedure SetHasErrors. It simplifies debugging - just set a breakpoint inside SetHasErrors and see the stack back trace to find out where the error has occurred.
git-svn-id: trunk@23633 -
2013-02-20 13:13:19 +00:00
yury
4758d513de
* Regenerated 2 makefiles for consistency.
...
git-svn-id: trunk@23605 -
2013-02-13 12:12:29 +00:00
yury
e88bc322bc
+ Merge the targetandroid branch. Support for arm and i386 android targets.
...
***************************************************************************
Revision: 23518
Author: yury
Date: 25 Jan 2013 0:14:31
Message:
* Build databases support for Android.
----
Modified : /branches/targetandroid/packages/dblib/fpmake.pp
Modified : /branches/targetandroid/packages/fcl-db/fpmake.pp
Revision: 23516
Author: yury
Date: 24 Jan 2013 23:08:12
Message:
* again made less complex for arm and sparc so it compiles there too without running out of registers.
----
Modified : /branches/targetandroid/tests/webtbs/tw2242.pp
Revision: 23515
Author: yury
Date: 24 Jan 2013 23:01:36
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw4038.pp
Revision: 23514
Author: yury
Date: 24 Jan 2013 22:32:39
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Revision: 23512
Author: yury
Date: 24 Jan 2013 12:30:07
Message:
* Allow passing of double quoted paths in TEST_OPT.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Revision: 23511
Author: yury
Date: 24 Jan 2013 12:29:01
Message:
* Fixed building of packages when cross-testing. Pass CROSSOPT to build packages in such case, otherwise options specified in TEST_OPT are used to build fpmake. The source compiler not always accepts target options. For example -Cfsoft option, often used for arm compiler, is not accepted by x86 compiler.
----
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/tstunits/Makefile.fpc
Revision: 23497
Author: yury
Date: 22 Jan 2013 19:10:54
Message:
* Reverted r23400 and r23401. Tomas has promised to commit more correct fix to trunk.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp
Revision: 23496
Author: yury
Date: 22 Jan 2013 19:05:51
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Revision: 23495
Author: yury
Date: 22 Jan 2013 18:58:30
Message:
* Add %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/tbs/tb0582.pp
Modified : /branches/targetandroid/tests/test/tweaklib2.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw13628b.pp
Modified : /branches/targetandroid/tests/webtbs/tw14798.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw2812.pp
Modified : /branches/targetandroid/tests/webtbs/tw3082.pp
Modified : /branches/targetandroid/tests/webtbs/tw3402.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822b.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Revision: 23492
Author: yury
Date: 22 Jan 2013 16:43:42
Message:
* Turn off special handling of interrupt calling convention for i386-android.
----
Modified : /branches/targetandroid/compiler/i386/n386cal.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Revision: 23491
Author: yury
Date: 22 Jan 2013 16:34:32
Message:
* Added %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/test/targ1b.pp
Modified : /branches/targetandroid/tests/test/tlib1b.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tlibrary2.pp
Modified : /branches/targetandroid/tests/test/tlibrary3.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23490
Author: yury
Date: 22 Jan 2013 16:28:00
Message:
* These libs are for tests, that run only on windows. Mark libs for windows only as well.
----
Modified : /branches/targetandroid/tests/test/library/tlib3a.pp
Modified : /branches/targetandroid/tests/test/library/tlib3b.pp
Revision: 23489
Author: yury
Date: 22 Jan 2013 16:18:56
Message:
* Do not copy a library to a remote target if this library name is specified using %DELFILES directive.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23488
Author: yury
Date: 22 Jan 2013 15:47:52
Message:
* Implemented { %DELFILES file1 file2 ... } directive for tests. Primarily it is needed to delete shared libraries used by tests when TEST_DELTEMP=1. When testing on a real Android device, it is not good to run tests on flash memory partitions. Android devices have 1Mb RAM based tempfs partition for /tmp folder, which is ideal for running tests. Since 1Mb is very small size these days, it is needed to clean all test leftovers. Test shared libraries are the biggest leftovers and this new DELFILES directive will help to delete them.
* During remote execution, use && as a command separator after important commands such as CD to ensure that the command succeeded before running other commands. Group other commands using curly braces { }.
----
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/utils/dotest.pp
Modified : /branches/targetandroid/tests/utils/testu.pp
Revision: 23487
Author: yury
Date: 22 Jan 2013 13:16:22
Message:
* Define CExtended and clongdouble as double for Android.
----
Modified : /branches/targetandroid/compiler/psystem.pas
Modified : /branches/targetandroid/rtl/inc/ctypes.pp
Revision: 23486
Author: yury
Date: 22 Jan 2013 13:14:36
Message:
* Fixed compilation for case when extended <> cextended.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext6.pp
Revision: 23485
Author: yury
Date: 22 Jan 2013 12:41:43
Message:
* More correct comparison of long double values for case when long double=double in C.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext.pp
Revision: 23484
Author: yury
Date: 22 Jan 2013 11:53:41
Message:
* Do not pass -f switch for rm when testing via adb, since default android shell do not support -f switch.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23483
Author: yury
Date: 22 Jan 2013 11:47:31
Message:
* Added ICU version of Android 4.1.
* Increment by 2 when finding an unknown ICU version.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23479
Author: yury
Date: 21 Jan 2013 14:29:40
Message:
* Add define for android.
----
Modified : /branches/targetandroid/tests/test/cg/tcalcst6.pp
Modified : /branches/targetandroid/tests/test/cg/tcalvar6.pp
Revision: 23478
Author: yury
Date: 21 Jan 2013 14:22:06
Message:
+ Added C object files for android-i386.
----
Added : /branches/targetandroid/tests/test/cg/obj/android/i386
Modified : /branches/targetandroid/tests/test/cg/obj/readme.txt
Revision: 23477
Author: yury
Date: 21 Jan 2013 14:08:25
Message:
* Add missing checks for android target.
----
Modified : /branches/targetandroid/compiler/aasmdata.pas
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/expunix.pas
Modified : /branches/targetandroid/compiler/ncgld.pas
Modified : /branches/targetandroid/compiler/ogelf.pas
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Modified : /branches/targetandroid/compiler/x86/rax86.pas
Revision: 23475
Author: yury
Date: 21 Jan 2013 13:51:09
Message:
* Set android-i368 stack alignment to 16.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23474
Author: yury
Date: 21 Jan 2013 13:45:29
Message:
* Removed -z relro linker option, since it causes problems.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23451
Author: yury
Date: 19 Jan 2013 1:32:26
Message:
* Pass some security switches to LD. They are passed by GCC.
* Removed unused function.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23450
Author: yury
Date: 19 Jan 2013 1:27:45
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Revision: 23449
Author: yury
Date: 19 Jan 2013 1:27:02
Message:
* Simplify arm startup code.
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23448
Author: yury
Date: 19 Jan 2013 1:25:58
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 23447
Author: yury
Date: 19 Jan 2013 1:19:29
Message:
* Rewrite initialization code for i386-android. i386-android works.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 23441
Author: yury
Date: 18 Jan 2013 16:51:09
Message:
* Add android to supported targets for assemblers. It fixes assembling for i386-android.
----
Modified : /branches/targetandroid/compiler/arm/agarmgas.pas
Modified : /branches/targetandroid/compiler/i386/cpuelf.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Revision: 23435
Author: yury
Date: 18 Jan 2013 0:46:23
Message:
* Enable safecall exception handling for arm-android.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23434
Author: yury
Date: 18 Jan 2013 0:28:59
Message:
* Removed leftover from my experiments (calling directly pascal main).
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23433
Author: yury
Date: 17 Jan 2013 23:43:09
Message:
* Uses SysUtils to make executable bigger. Otherwise string pointers for FindResource can be less than $10000. They are treated as IDs in such case and the test will fail.
----
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Revision: 23429
Author: yury
Date: 17 Jan 2013 18:49:23
Message:
* Thread safety.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23427
Author: yury
Date: 17 Jan 2013 14:48:03
Message:
* Skip this test for android.
----
Modified : /branches/targetandroid/tests/test/textthr.pp
Revision: 23426
Author: yury
Date: 17 Jan 2013 14:21:51
Message:
* Fixed ifdefs linux to unix.
----
Modified : /branches/targetandroid/tests/test/tstring10.pp
Modified : /branches/targetandroid/tests/test/units/classes/tsetstream.pp
Modified : /branches/targetandroid/tests/test/units/dos/tdos.pp
Modified : /branches/targetandroid/tests/test/units/dos/tidos.pp
Revision: 23425
Author: yury
Date: 17 Jan 2013 14:20:56
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Modified : /branches/targetandroid/tests/test/testfpuc.pp
Modified : /branches/targetandroid/tests/test/textthr.pp
Modified : /branches/targetandroid/tests/test/tlib2a.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tpoll.pp
Modified : /branches/targetandroid/tests/test/tsafecall1.pp
Modified : /branches/targetandroid/tests/test/tsafecall2.pp
Modified : /branches/targetandroid/tests/test/tsafecall3.pp
Modified : /branches/targetandroid/tests/test/tsafecall4.pp
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Modified : /branches/targetandroid/tests/test/units/system/tres2.pp
Modified : /branches/targetandroid/tests/test/units/system/tres3.pp
Revision: 23424
Author: yury
Date: 17 Jan 2013 14:02:35
Message:
* Fixed AnsiStrLComp() and AnsiStrLIComp().
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23423
Author: yury
Date: 17 Jan 2013 13:49:55
Message:
* Fixed stupid copy-paste error.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23409
Author: yury
Date: 16 Jan 2013 16:46:02
Message:
* Fixed conflict of native android and java android targets.
----
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Revision: 23406
Author: yury
Date: 16 Jan 2013 15:33:50
Message:
* Set stackalign field.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23404
Author: yury
Date: 16 Jan 2013 12:57:51
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704a.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586a.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822c.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838a.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730a.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730c.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089a.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089b.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089d.pp
Modified : /branches/targetandroid/tests/webtbs/uw2364.pp
Revision: 23402
Author: yury
Date: 16 Jan 2013 12:50:52
Message:
* Use collation when comparing strings.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23401
Author: yury
Date: 16 Jan 2013 12:41:32
Message:
* If there is no HOME directory, the current dir must be used.
----
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp
Revision: 23400
Author: yury
Date: 16 Jan 2013 12:40:25
Message:
* Fixed expanding ~ if there is no HOME env var set.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Revision: 23391
Author: yury
Date: 15 Jan 2013 14:12:56
Message:
* Make sure that the thread has been started, before destroying the event.
----
Modified : /branches/targetandroid/tests/test/tbrtlevt.pp
Revision: 23390
Author: yury
Date: 15 Jan 2013 13:55:24
Message:
* Do not use DOS code pages for Android. Now all CP string tests pass on Android.
----
Modified : /branches/targetandroid/tests/test/tcpstr17.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcat3.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti2.pp
Revision: 23389
Author: yury
Date: 15 Jan 2013 13:53:50
Message:
* Use more common code pages 1251 and 1252 instead of old DOS code pages (not available on Android). There is Euro symbol character that has different code in 1251 and 1252 code pages. Use it for tests.
----
Modified : /branches/targetandroid/tests/test/tcpstr1.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompare.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompareequal.pp
Revision: 23386
Author: yury
Date: 15 Jan 2013 10:22:30
Message:
* Skip 2 tests for android, since they require local execution.
----
Modified : /branches/targetandroid/tests/test/tcpstr19.pp
Modified : /branches/targetandroid/tests/test/tcpstr9.pp
Revision: 23385
Author: yury
Date: 15 Jan 2013 10:20:43
Message:
* Fixed running library tests on android.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23382
Author: yury
Date: 14 Jan 2013 16:20:44
Message:
* Implemented Unicode string manager for Android. It uses ICU library libicuuc.so. Note: ICU on Android has limited number of code pages. So don't expect support for DOS code pages or other exotic code pages.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23301
Author: yury
Date: 2 Jan 2013 20:47:09
Message:
* I've found that libc on Android does not implement widechar case functions such as towupper(). Such functions are just wrappers over regular char functions. Therefore the whole cwstring unit is useless for Android. For now I've added stub cwstring unit for Android and reverted all Android specific changes in unix/cwstring.pp. Later, Unicode manager for Androud should be implemented using libicuuc, which is default Android lib.
----
Added : /branches/targetandroid/rtl/android/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Revision: 23299
Author: yury
Date: 2 Jan 2013 19:38:08
Message:
* Android does not have libiconv, so don't use it in cwstring unit. For now support only UTF-8 code page in ansistrings. Later it is possible to use libicuuc for code page conversions on Android.
----
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Revision: 23298
Author: yury
Date: 2 Jan 2013 17:41:36
Message:
* Added uuchar unit to build for android.
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Revision: 23289
Author: yury
Date: 2 Jan 2013 2:53:36
Message:
* Always specify dynamic linker name for executables.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23288
Author: yury
Date: 2 Jan 2013 2:04:41
Message:
* Updated Makefile
----
Modified : /branches/targetandroid/rtl/android/Makefile
Revision: 23287
Author: yury
Date: 2 Jan 2013 2:03:42
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Revision: 23286
Author: yury
Date: 2 Jan 2013 2:01:43
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Deleted : /branches/targetandroid/rtl/android/arm/cprt0.as
Deleted : /branches/targetandroid/rtl/android/i386/cprt0.as
Revision: 23285
Author: yury
Date: 2 Jan 2013 1:59:48
Message:
* libctype is not needed, since only bionic is supported anyway.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23284
Author: yury
Date: 2 Jan 2013 1:49:12
Message:
* Rework of Android startup code. It is needed to always link to libc on android to implement finalization and environment variables in shared libraries.
* Cleanup of Android linker.
* Use only INSERT command in the linker script to inject custom .fpc sections. Whole linker script duplication is nor needed anymore.
* Use BFD linker, since GOLD linker does not support INSERT command. Other incompatibilities may also exist.
* Enable tf_smartlink_sections for i386-android.
* i386-android is broken after this commit. Will be fixed later.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23283
Author: yury
Date: 2 Jan 2013 1:48:07
Message:
* Enable weak externals for android.
----
Modified : /branches/targetandroid/compiler/systems.pas
Revision: 23236
Author: yury
Date: 28 Dec 2012 12:42:27
Message:
* Oops, wrong commit r23235. Reverted. Now correct: Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/rtl/inc/exeinfo.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23235
Author: yury
Date: 28 Dec 2012 11:38:04
Message:
* Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23232
Author: yury
Date: 27 Dec 2012 22:52:26
Message:
* Fixed the test for android.
----
Modified : /branches/targetandroid/tests/test/units/dos/tdos2.pp
Revision: 23231
Author: yury
Date: 27 Dec 2012 22:51:32
Message:
+ Added C object files for arm-android.
----
Added : /branches/targetandroid/tests/test/cg/obj/android
Added : /branches/targetandroid/tests/test/cg/obj/android/arm
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext6.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext6.o
Revision: 23226
Author: yury
Date: 27 Dec 2012 10:17:06
Message:
* Support for running tests on a remote Android device using ADB.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 22048
Author: tom_at_work
Date: 9 Aug 2012 17:13:51
Message:
re-apply the changes of r22045 to correct files after recent revert
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/i386
Added : /branches/targetandroid/rtl/android/i386/cprt0.as
Added : /branches/targetandroid/rtl/android/i386/dllprt0.as
Added : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 22047
Author: tom_at_work
Date: 9 Aug 2012 16:57:34
Message:
- revert r22045: applied changes to wrong files, i.e. linux system files, instead of android ones
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Added : /branches/targetandroid/rtl/linux/i386/cprt21.as
Added : /branches/targetandroid/rtl/linux/i386/gprt21.as
Revision: 22045
Author: tom_at_work
Date: 9 Aug 2012 11:05:38
Message:
Made cprt0 startup files to compile. Static executables using them likely do not work though.
Removed obsolete startup files (?prt21*).
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Deleted : /branches/targetandroid/rtl/linux/i386/cprt21.as
Deleted : /branches/targetandroid/rtl/linux/i386/gprt21.as
Revision: 22044
Author: tom_at_work
Date: 9 Aug 2012 11:00:16
Message:
Updated systems/t_android to only recognize the "bionic" libc as valid libc.
Fix uninitialized defdynlinker variable when compiling i386-android causing garbage in the linker script.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 21296
Author: tom_at_work
Date: 15 May 2012 0:14:12
Message:
* basic android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/i386/cputarg.pas
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/x86.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile
Revision: 21066
Author: tom_at_work
Date: 26 Apr 2012 22:05:06
Message:
fix pthreads use with Android: it does not provide some functions. This patch is partially based on the bug report 0021525. Further, fix use of sem_timedwait in cthreads.pp since Android supports it.
----
Modified : /branches/targetandroid/rtl/linux/pthread.inc
Modified : /branches/targetandroid/rtl/unix/cthreads.pp
Revision: 21065
Author: tom_at_work
Date: 26 Apr 2012 16:15:52
Message:
bugfixes:
- do not compile ipc unit for android, not supported
- fix geterrnolocation external name
- implement dummy getdomainname; does not exist in android
- remove wrong 'if defined(android)' clauses
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/fpmake.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Revision: 21063
Author: tom_at_work
Date: 26 Apr 2012 12:53:37
Message:
- missing makefile
----
Added : /branches/targetandroid/rtl/android/Makefile
Revision: 21062
Author: tom_at_work
Date: 26 Apr 2012 12:41:13
Message:
- commit missing new files
----
Added : /branches/targetandroid/compiler/systems/i_android.pas
Added : /branches/targetandroid/compiler/systems/t_android.pas
Added : /branches/targetandroid/rtl/android
Added : /branches/targetandroid/rtl/android/Makefile.fpc
Added : /branches/targetandroid/rtl/android/arm
Added : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/arm/dllprt0.as
Added : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 21061
Author: tom_at_work
Date: 26 Apr 2012 12:36:42
Message:
- initial support for the android/arm target in the compiler; resulting .so's can be used for Android/ARM app development.
- basic rtl support using system calls
- fp(c)make/fppkg/makefile support
todo:
- revisit systems/t_android.pas: mostly duplicate with t_linux.pas, containing
lots of unnecessary code
- revisit rtl changes
- android ndk header translation import
- better app build/packaging support
- android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/arm/cputarg.pas
Modified : /branches/targetandroid/compiler/compiler.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile.fpc
Modified : /branches/targetandroid/packages/fpmkunit/src/fpmkunit.pp
Modified : /branches/targetandroid/packages/fppkg/src/fpmkunitsrc.inc
Modified : /branches/targetandroid/packages/gnome1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk2/fpmake.pp
Modified : /branches/targetandroid/packages/imlib/fpmake.pp
Modified : /branches/targetandroid/packages/opengl/fpmake.pp
Modified : /branches/targetandroid/packages/sdl/fpmake.pp
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/Makefile.fpc
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcmkcfg/fppkg.inc
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fppkg/fppkg.pp
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile
git-svn-id: trunk@23604 -
2013-02-13 12:00:15 +00:00
pierre
2a1a196234
Add unittargetdir creation as prerequisite to gppc386 compilation
...
git-svn-id: trunk@23585 -
2013-02-08 15:51:34 +00:00
pierre
a4e0a4c0f5
Adapt length of tprocinfoopt record string field to longest string
...
git-svn-id: trunk@23573 -
2013-02-04 23:01:36 +00:00
yury
2fc220cc6c
* Regenerated makefiles.
...
git-svn-id: branches/targetandroid@23410 -
2013-01-16 14:52:36 +00:00
yury
d26f0552a0
* Sync with trunk r23404.
...
* Regenerated makefiles.
git-svn-id: branches/targetandroid@23405 -
2013-01-16 13:21:51 +00:00
pierre
2b300ec2b4
Add breakpoint at Verbose.GenerateError procedure
...
git-svn-id: trunk@23399 -
2013-01-16 09:46:34 +00:00
florian
fce9e953b4
+ nested exit support
...
git-svn-id: trunk@23309 -
2013-01-04 19:09:04 +00:00
florian
4d6471fef6
* get rid of calls to empty procedures having parameters without side effect
...
git-svn-id: trunk@23274 -
2013-01-01 15:58:05 +00:00
svenbarth
4adb36e8da
Add support for generic type constraints. They are currently only useful to stop specialization of a generic. The parsing of a generic is still too lax and needs to be changed in the future...
...
symconst.pas:
+ extend "tdefoptions" by a "df_genconstraint" which will be used to mark dummy defs that should mainly satisfy the compiler's type checking without to much changes
symsym.pas:
+ add a class "tgenericconstraintdata" which will hold information about the constraints associated with a specific generic type parameter (designed for future extensions)
+ extend "ttypesym" by a reference to a "tgenericconstraintdata" which is written to the ppu only if needed
symtype.pas:
+ add a pointer to "tderef" as this is needed for the ppu reading/writing code for the "tgenericconstraintdata"
pdecl.pas, types_dec:
+ call "parse_generic_parameters" so that constraints are allowed
pgenutil.pas:
+ extend "generate_specialization" by a "parsedpos" to give in the file position of the first parsed parameter (needed for correct error locations when checking the constraints)
+ add an overloaded call of "generate_specialization" to differentiate between the use cases "first parameter parsed by generate_specialization" and "first parameter parsed by other code"; this also allows to write the "fillchar" for the "parampos" parameter only once ( => otherwise a warning is triggered => error in compilation)
+ extend the "parse_generic_specialization_types" by a "poslist" parameter which will contain the positions of all parsed type parameters (can only be used in the case that all parameters are parsed)
* move the original code of "parse_generic_specialization_types" to a new procedure "parse_generic_specialization_types_internal" which take an additional "parsedpos" parameter which will be added to the "poslist" before all others; "parse_generic_specialization_types" calls this new procedure with a dummy argument (which won't be used)
+ extend "parse_generic_parameters" by the parsing of generic constraints which constructs correct defs for the parameters and fills in the new "tgenericconstraintdata" object for each parameter (note: the "constructor" constraint is only parsed for Delphi compatibility and basically means the same as a "class" constraint... (it's a relict of Delphi.NET))
* adjust "insert_generic_parameter_types" as specializations and generics can no longer be differed by whether the type parameters are of type "undefineddef"
pdecsub.pas, parse_proc_head, consume_generic_interface:
* adjust call to "generate_specialization"
+ add a new function "check_generic_constraints" which is used from within "generate_specialization" to ensure that the given specialization parameters are compatible with the constraints of the generic parameters
ptype.pas:
* single_type: adjust call to "generate_specialization"
* read_named_type, expr_type: adjust call to "generate_specialization"
+ write_persistent_type_info: don't write typeinfo for constraints
pexpr.pas, sub_expr:
* adjust call to "generate_specialization"
* adjusted ppudump, because of added "tdefoptions.df_genconstraint" value
+ added tests for generic constraints
* modified test for class helper inside a generic which extends a class type parameter
+ added test for record helper inside a generic which extends a record type parameter
git-svn-id: trunk@23158 -
2012-12-16 13:44:58 +00:00
Jonas Maebe
4aa05f5133
+ support for automatically generating setters/getters for properties on the
...
JVM target, since Java bytecode itself has no support for properties and
hence exposing properties to external Java code can only be done through
getters/setters. Use the new parameters to do so:
-CTautogetterprefix=XXX
-CTautosetterprefix=YYY
The getter/setter will get the same visibility as the property. If a
getter/setter with the same naming convention was already specified for a
property and this getter/setter is declared in the same class as the
property, then the visibility of this existing getter/setter is
modified and no new routine is generated.
Newly generated getters/setters are virtual methods, because that is
the only way in Java bytecode to allow redefining these getters/setters
in child classes. However, that also means that using these switches can
change the behvaviour of code, since normally the used property definition
is only determined by the declared type of its associated class instance,
and not by the actual instance type. The compiler will therefore warn when
such an automatically generated getter/setter is overridden by another
automatically generated getter/setter in a child class.
git-svn-id: trunk@22959 -
2012-11-08 20:18:08 +00:00
Jonas Maebe
c4a55f5481
* store the "synthetic kind" information about procdefs in ppu files,
...
required by future patch
git-svn-id: trunk@22956 -
2012-11-08 20:17:53 +00:00
Jonas Maebe
5929ec5592
* turned getpropaccesslist, add_parameters and add_index_parameter into
...
methods of tpropertysym (refactoring)
* turned code to copy the contents of a property into another one
into a method of tpropertysym (refactoring)
git-svn-id: trunk@22955 -
2012-11-08 20:17:48 +00:00
florian
0197b84b7f
+ instruction table generator for arm64
...
+ Makefile target to build arm64 instruction tables
+ instruction table with integer instructions
git-svn-id: trunk@22900 -
2012-11-01 16:11:19 +00:00
florian
5af1d48158
+ register definitions for AArch64 aka ARM64
...
+ Lazarus project for AArch64
Since AArch64 is very different from 32 Bit ARM, both won't share code in the compiler
git-svn-id: trunk@22894 -
2012-10-31 21:46:01 +00:00
florian
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
...
git-svn-id: trunk@22568 -
2012-10-06 19:47:18 +00:00
svenbarth
29c71d39ac
Preparations for upcoming work on generics:
...
+ symconst.pas: add a new flag to symtables to mark them as containing at least one generic (will be used to decide whether an expression like "Foo<Bar" should even remotely be considered a specialization)
* utils/ppudump.pp: respect the new flag
* pdecl.pas, types_dec: add the flag for every generic we have parsed
* pgenutil.pas, generate_specialization: add the flag to the specialize symtable if a nested generic set it for the temporary symtable (does not happen currently, but will in the future when nested generics are supported)
+ keep references to all generic para symbols in the def; this way the symtable containing the type parameters does not need to be walked every time we need to do something with the parameters
git-svn-id: trunk@22379 -
2012-09-13 11:35:35 +00:00
tom_at_work
810adb2f65
Merge with trunk r22040. Regenerated makefiles.
...
git-svn-id: branches/targetandroid@22046 -
2012-08-09 08:12:34 +00:00
tom_at_work
4150f0a2fb
Rebase with r21814
...
git-svn-id: branches/targetandroid@21815 -
2012-07-07 23:09:20 +00:00
pierre
3a082f8c29
Add defautl mips name and use mips instead of mipseb
...
git-svn-id: trunk@21711 -
2012-06-26 07:20:12 +00:00