Commit Graph

39316 Commits

Author SHA1 Message Date
sergei
503b132096 * cgbase.pas: added more MIPS-specific address types, needed to support large GOT model.
* cpugas.pas: GetReferenceString: rewritten, it is easier than trying to fix it. Fixes incorrect writing of non-PIC references containing base, symbol and offset together, and some forms of PIC references. Also supports newly introduced address types.

git-svn-id: trunk@23555 -
2013-02-01 16:46:22 +00:00
sergei
6e4f6a64d6 + MIPS: Allow subset locations for boolean NOT, this appears sufficient to fix all bitpacking-related tests.
git-svn-id: trunk@23554 -
2013-01-31 21:52:29 +00:00
sergei
ea36d4996a + MIPS: In PIC mode, set $t9 to correct value before exiting SignalToRunError, without it any subsequent access to global variable will repeatedly crash.
+ Added alias name to SignalToRunError, to be consistent with other targets.

git-svn-id: trunk@23553 -
2013-01-31 21:44:06 +00:00
marco
81eb59e081 * make ioctl related constants unsigned.
git-svn-id: trunk@23552 -
2013-01-31 18:48:32 +00:00
sergei
f5a8f69517 * Fixed handling of ']' character in CDATA sections, when it is not starting a ']]>' delimiter it must be output as-is. Mantis #23794.
git-svn-id: trunk@23551 -
2013-01-31 15:01:00 +00:00
pierre
7e79042d58 Reorganize for better pic support (not yet working completly ...)
git-svn-id: trunk@23550 -
2013-01-31 13:35:52 +00:00
pierre
6e2db1a5e5 Use addr_pic_call16 in a_call_name method
git-svn-id: trunk@23549 -
2013-01-31 13:34:38 +00:00
pierre
9cb7be4c92 + Support addr_pic_call16
* Add more instructions to is_macro_instruction function

git-svn-id: trunk@23548 -
2013-01-31 13:32:18 +00:00
pierre
493c77bca0 + Add addr_pic_call16 relocation type for mips
git-svn-id: trunk@23547 -
2013-01-31 13:08:49 +00:00
Jonas Maebe
ddc03bdf03 * when automatically generating (s|g)etters, make sure that the visibility of
(g|s)etters whose naming convention is already correct is adjusted if
    necessary

git-svn-id: trunk@23546 -
2013-01-30 22:36:03 +00:00
Jonas Maebe
8f96ace589 * fixed -CTauto(g|s)etterprefix automatically generated helpers in case they
have to wrap an existing (g|s)etter that was marked as "abstract" (don't
    mark the helper also as abstract, sicnce it contains code)

git-svn-id: trunk@23545 -
2013-01-30 22:35:59 +00:00
svenbarth
d49b4043ab Implement DECLARED() for generic symbols. This fixes Mantis #21829 . The syntax is SomeGenericType<> for a generic with only one type parameter and SomeGeneric<,[,]*> for a generic with more than one type parameter. Spaces between the commas or brackets are allowed.
scanner.pas, parse_compiler_expr.read_factor:
  + allow "<>" after "declared" (handle "<>" operator specially)
  + count "," to get correct amount of type parameters
  + check together with the count string for symbols 
  + correctly handle dummy symbols

+ added tests

git-svn-id: trunk@23544 -
2013-01-30 16:10:15 +00:00
svenbarth
cca897cfd3 Fix a memory leak spotted by Blaise Thorn
pdecsub.pas, parse_proc_head.consume_generic_type_parameter:
  * avoid a memory leak if there are no generic type parameters following

git-svn-id: trunk@23543 -
2013-01-30 15:29:29 +00:00
florian
9315eba917 * patch by Serg Bormant: fix fmShareCompat handling for win32/win64/nativent, resolves #23725
git-svn-id: trunk@23542 -
2013-01-29 21:26:17 +00:00
florian
ef1c848198 * fix constant calculation for the AndAnd2And optimization if the first and is removed, noticed by Nico Erfurth
git-svn-id: trunk@23541 -
2013-01-29 20:39:22 +00:00
florian
5af646d1d2 + add missing it* statements for thumb2 by a modified patch of Jeppe Johansen, resolves #23738
git-svn-id: trunk@23540 -
2013-01-29 20:36:38 +00:00
florian
bf57cdf409 + introduce new define CPUTHUMB2
git-svn-id: trunk@23539 -
2013-01-29 20:34:55 +00:00
sergei
08c0c265c9 * MIPS: use correct def to calculate parameter alignment (when parameter is passed by address, its def changes to pointer and the alignment of parameter itself is irrelevant). Fixes at least webtbs/tw7806.
git-svn-id: trunk@23538 -
2013-01-29 20:09:41 +00:00
michael
528e231c66 * Strict resolving
git-svn-id: trunk@23537 -
2013-01-29 19:01:39 +00:00
michael
e247d1fa1a * assign name to anonymous string type
git-svn-id: trunk@23536 -
2013-01-29 19:00:00 +00:00
florian
d0cbcd419e * update of the German compiler message file by Karl-Michael Schindler, resolves #23728
git-svn-id: trunk@23535 -
2013-01-29 18:34:12 +00:00
sergei
cb51c39dd7 * Forgot to assign result of SwapEndian() into place.
git-svn-id: trunk@23534 -
2013-01-29 16:42:47 +00:00
sergei
5e13334467 * Fixed tMIPSELtypeconvnode.second_int_to_bool handling of C booleans, webtbs/tw10233 and webtbs/tw17180 now work.
* Reused applicable code from the above mentioned method in tMIPSELnotnode.second_boolean, it is more efficient in handling 64-bit data.

git-svn-id: trunk@23531 -
2013-01-28 21:32:21 +00:00
reiniero
b44353777a * fcl-db: cosmetic: bufdataset comments: typos, grammar, uniform indentation
git-svn-id: trunk@23530 -
2013-01-28 15:49:05 +00:00
svenbarth
bb00325d85 Fix for Mantis #23765 .
packages/fcl-base/src/fileinfo.pp, TVersionInfo.Load:
  * use PWideChar instead of PChar if "UNICODE" is defined (e.g. on WinCE)

git-svn-id: trunk@23528 -
2013-01-27 21:04:05 +00:00
Jonas Maebe
cb85846507 * fixed typo in jvm record clone implementation comment
git-svn-id: trunk@23527 -
2013-01-26 21:28:30 +00:00
Jonas Maebe
fffa2e163a - removed unused local type in internal jvm record clone implementation
git-svn-id: trunk@23526 -
2013-01-26 21:28:26 +00:00
Jonas Maebe
dc7760bda0 * let type conversion nodes handle type checking for if/while/repeat
conditions, so that used-defined implicit boolean type conversions are
    supported (patch by Peter-Jan Roes, mantis #23568)

git-svn-id: trunk@23525 -
2013-01-26 21:28:22 +00:00
Jonas Maebe
a8a1bb6449 * fixed inserting something in a shortstring past its maximum length
(mantis #23744)

git-svn-id: trunk@23524 -
2013-01-26 19:27:17 +00:00
Jonas Maebe
2ed4b295fe * only change the visibility of an existing getter/setter to that of
its property in case the visibility of the property is higher than
    that of the getter/setter (on the JVM target when automatically
    generating getters/setters)

git-svn-id: trunk@23523 -
2013-01-26 16:52:32 +00:00
Jonas Maebe
e7315d035c * inherit po_auto_raised_visibility flag when the visibility of a method is
raised because it was automatically raised in the parent class (can happen
    for the JVM target when letting the compiler generate getters/setters for
    properties)

git-svn-id: trunk@23522 -
2013-01-26 16:52:28 +00:00
sergei
d762ef9e78 + PECOFF targets: support more than 65535 relocations per object section, resolves #23752. DJCOFF targets: give a fatal error, since this object file format does not support extended relocations.
git-svn-id: trunk@23521 -
2013-01-26 16:15:59 +00:00
svenbarth
7bad1763b8 Decrease amount of code duplication regarding handling of safecall and record constructors.
paramgr.pas, tparamanager:
    + add new method "handle_common_ret_in_param"
    * extract common code (safecall + record constructor handling) from "ret_in_param" to "handle_common_ret_in_param" and call the latter in "ret_in_param"
[aarch64,arm,avr,i386,x86_64]/cpupara.pas, tCPUparamanager.ret_in_param:
    * call "handle_common_ret_in_param" instead of implementing the same check again and again
ncgcal.pas, tcgcallnode.handle_return_value:
    * move the check for (record) constructors to "tparamanager.handle_common_ret_in_param"

git-svn-id: trunk@23520 -
2013-01-25 20:39:28 +00:00
sergei
cb1098c26c * Do not create SEH finalization procedures in generic methods, their similarity with nested procedures causes compilation errors because actual nested procedures are not allowed for generics. Not creating them doesn't hurt because generic node tree is not used for code generation. Resolves #23724.
git-svn-id: trunk@23519 -
2013-01-25 18:50:04 +00:00
yury
8ef46d22d8 * Build databases support for Android.
git-svn-id: branches/targetandroid@23518 -
2013-01-24 22:14:31 +00:00
yury
d8902af3d6 * Do not replace ADD by SUB and vice-versa when overflow checking is enabled. Fixes tw15304 for ARM.
git-svn-id: trunk@23517 -
2013-01-24 21:49:21 +00:00
yury
5453f6f1a0 * again made less complex for arm and sparc so it compiles there too without running out of registers.
git-svn-id: branches/targetandroid@23516 -
2013-01-24 21:08:12 +00:00
yury
22c413a93e * Disabled the test for Android.
git-svn-id: branches/targetandroid@23515 -
2013-01-24 21:01:36 +00:00
yury
bffcf02926 * Disabled the test for Android.
git-svn-id: branches/targetandroid@23514 -
2013-01-24 20:32:39 +00:00
michael
33f1f8bfad * Added case-insentitive property
git-svn-id: trunk@23513 -
2013-01-24 18:01:09 +00:00
yury
d503ae6c3d * Allow passing of double quoted paths in TEST_OPT.
git-svn-id: branches/targetandroid@23512 -
2013-01-24 10:30:07 +00:00
yury
86224e05f3 * 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.
git-svn-id: branches/targetandroid@23511 -
2013-01-24 10:29:01 +00:00
Jonas Maebe
9cbff6f5a6 + support for record constructors for the JVM target
git-svn-id: trunk@23510 -
2013-01-24 09:45:12 +00:00
Jonas Maebe
3abc7b0d9c * removed superfluous check (a procvardef can never be a constructor) and
typecasts

git-svn-id: trunk@23509 -
2013-01-24 09:45:06 +00:00
Jonas Maebe
10e3cab1b1 * fixed formatting
git-svn-id: trunk@23508 -
2013-01-24 09:44:59 +00:00
Jonas Maebe
9145f1d67d * integrated potype_constructor check in maybe_create_funcret_node
git-svn-id: trunk@23507 -
2013-01-24 09:44:52 +00:00
michael
280b307068 * Patch from Silvio Clecio to implement easy-access methods
git-svn-id: trunk@23506 -
2013-01-23 13:03:32 +00:00
michael
85e72fdbcb * Updated TODO: Easy Post is already there.
git-svn-id: trunk@23505 -
2013-01-23 11:19:55 +00:00
michael
8c161506d5 * Close connection on one-shot operations
git-svn-id: trunk@23504 -
2013-01-23 08:56:26 +00:00
michael
fc68ce2ec5 * Implemented a HEAD class method
git-svn-id: trunk@23503 -
2013-01-23 08:52:18 +00:00