michael
a6627d14d4
* Added Extract to TJSONArray
...
git-svn-id: trunk@25616 -
2013-10-02 07:48:31 +00:00
Károly Balogh
31e7b790a7
a_load_const_reg: don't sign_extend after MOVEQ, it's not needed. also use CRL.L before loading to reg instead of sign_extend when possible
...
git-svn-id: trunk@25615 -
2013-10-02 01:19:44 +00:00
Tomas Hajny
e79246d6e6
* fix missing dependency of fppkg on fpmkunit (unnoticed on some targets due to dependency import via fcl-web)
...
git-svn-id: trunk@25613 -
2013-10-02 00:18:53 +00:00
michael
5799ff1789
* Fixed bug #0025117
...
git-svn-id: trunk@25610 -
2013-09-30 13:23:01 +00:00
svenbarth
bb00c76fe7
Fix for Mantis #21015 .
...
symdef.pas:
* tobjectdef.find_implemented_interface: use equal_defs to ensure that equal specializations of interfaces are found as well
* getparaencoding: use globals.CP_NONE instead of just CP_NONE, because defcmp contains a cp_none enum as well.
+ added test
git-svn-id: trunk@25609 -
2013-09-30 08:44:46 +00:00
michael
e72db83b71
* Applied patch for RomanToInt by Bart Broersma (Bug ID 0025112)
...
git-svn-id: trunk@25608 -
2013-09-29 18:35:29 +00:00
nickysn
a846d0fc42
* cleaned up the ugly hack from r25595. The default value of ts_cld for the
...
target is now set before the second pass of parsing the command line
arguments. Then during the second pass, it can be overriden.
git-svn-id: trunk@25607 -
2013-09-29 11:30:52 +00:00
nickysn
4b3bf874df
* Added CLDs in the RTL i386 inline asm routines, wrapped in {$ifdef
...
FPC_ENABLED_CLD}.
git-svn-id: trunk@25606 -
2013-09-29 10:53:49 +00:00
nickysn
4929bc5694
* regenerated the i8086 ins files
...
git-svn-id: trunk@25603 -
2013-09-28 21:10:23 +00:00
nickysn
781fa416e2
* make insdatx86 now also refereshes the i8086 ins files
...
git-svn-id: trunk@25602 -
2013-09-28 21:08:21 +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
a013019462
* make insdatx86 now also updates the i8086 reg files
...
git-svn-id: trunk@25600 -
2013-09-28 20:59:46 +00:00
nickysn
d8ef5aa3c4
* mkx86reg.pp updated to support i8086
...
git-svn-id: trunk@25599 -
2013-09-28 20:56:47 +00:00
svenbarth
2c93687c5a
Fix an embarrasing error in m68k which fixes 60 tests.
...
m68k/cgcpu.pas, tcg68k.g_flags2reg:
* don't sign extend the flag value which was stored to the register, but instead do a "AND 1" on it to reduce it to 1 bit; afterall Booleans in Pascal are either 0 or 1 and not 0 or $FF
+ added test
git-svn-id: trunk@25598 -
2013-09-28 20:07:57 +00:00
nickysn
4d6a9137cf
+ added the new -CTcld option to the help screen
...
git-svn-id: trunk@25597 -
2013-09-28 16:05:01 +00:00
nickysn
989c543ea2
* UpdateTargetSwitchStr moved from unit globals to unit options in order to
...
avoid the dependency of unit globals on unit symtable, which breaks the build
of ppudump
git-svn-id: trunk@25596 -
2013-09-28 15:43:56 +00:00
nickysn
a48b44cfe5
+ added a new tsystemflag tf_cld, which indicates that ts_cld should be enabled
...
by default on this target
+ tf_cld enabled for i8086-msdos (for Turbo Pascal compatibility)
git-svn-id: trunk@25595 -
2013-09-28 14:57:12 +00:00
nickysn
ac66f3ae1b
+ added new field 'define' to ttargetswitchinfo, which specifies a system macro
...
to be defined while the target switch is active
* the CLD target switch defines 'FPC_ENABLED_CLD' once again
git-svn-id: trunk@25594 -
2013-09-28 14:14:32 +00:00
Jonas Maebe
90fb63db26
* also compare the type of tordconstnode in docompare, so that the node CSE
...
doesn't replace e.g. 32 bit and 64 bit constants with the same value by
a single 32 bit constant (mantis #25090 )
git-svn-id: trunk@25593 -
2013-09-28 14:12:50 +00:00
nickysn
bd0585274e
* tsettings.enablecld converted to a targetswitch ts_cld
...
git-svn-id: trunk@25592 -
2013-09-28 13:41:58 +00:00
nickysn
e4b05477e1
* put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc
...
* strupper and strlower were missing a cld, so it was added to them as well.
git-svn-id: trunk@25591 -
2013-09-28 12:06:47 +00:00
nickysn
52fcc0a407
+ added a new x86-specific compiler option 'enablecld', which controls whether
...
the compiler should emit a CLD before using the x86 string instructions.
git-svn-id: trunk@25590 -
2013-09-28 11:54:02 +00:00
svenbarth
4d1fb1573e
m68k: Fix handling of small sets (based on how ARM does it)
...
Fixes 12 tests
git-svn-id: trunk@25589 -
2013-09-28 08:17:13 +00:00
svenbarth
83f4344c20
Fix around 30 tests for m68k by fixing FillChar:
...
* completely disable the DBRA part for CPUs without DBRA
* replace CMP/BNE with BPL which uses the flags of the SUB instruction
Additional fixes for the other two (still disabled) DBRA alternatives:
* use BPL instead of BMI (which is wrong)
git-svn-id: trunk@25587 -
2013-09-27 20:57:55 +00:00
svenbarth
dfb0c7da24
Forgot to commit this the last time: Use CPUM68K_HAS_DBRA instead of CPUCOLDFIRE (which does not exist anymore).
...
git-svn-id: trunk@25586 -
2013-09-27 20:54:54 +00:00
Jonas Maebe
8e107217f6
+ added "nostackframe" to routine with code that should assemble into
...
a single instruction
git-svn-id: trunk@25585 -
2013-09-27 15:06:48 +00:00
michael
48250dcafd
* implementation of sqSupportEmptyDatabaseName from Laco, used in PostGres and MSSQL
...
git-svn-id: trunk@25584 -
2013-09-27 11:42:15 +00:00
paul
d801548604
compiler: support also XOR expressions in macro expressions
...
git-svn-id: trunk@25583 -
2013-09-27 00:28:15 +00:00
michael
098769d1b3
* Added TStringList.CompareStrings (Delphi compatibility), patch by Stephano, bug ID #24981
...
git-svn-id: trunk@25582 -
2013-09-26 18:09:12 +00:00
svenbarth
eebabc0152
Correct fix for Mantis #24909 : some systems (Linux, OpenBSD) use the one order while other systems use the other (FreeBSD, NetBSD).
...
+ add a define for each of the two orders
* fail if none of the two defines is defined ( => for porting to new systems)
+ use the order as specified by the define
git-svn-id: trunk@25581 -
2013-09-26 12:27:37 +00:00
svenbarth
32beb30129
Small improvements for generate_specializations.
...
pgenutil.pas, generate_specializations:
* use splite_generic_name
* use the genericparas list instead of iterating the complete symlist
pgenutil.pas, split_generic_name:
* leave the loop instead of providing an internal error if the right part is not a number
git-svn-id: trunk@25580 -
2013-09-26 12:17:30 +00:00
svenbarth
e8edbd29c0
Fix for Mantis #24687 .
...
pgenutil.pas:
+ add new function could_be_generic which checks whether a given symbol name could be a generic (which is determined using the genericdummysyms list for the current module)
pexpr.pas:
* factor: only do a typecheck pass (postfixoperators does one as well) if the found node can not be a generic type
* sub_expr: do a typecheck pass if it isn't a specialization
+ added test
git-svn-id: trunk@25579 -
2013-09-26 10:21:11 +00:00
svenbarth
fb8b0e7a27
Fix for Mantis #24453 . Check for nested types after a specialization. Additionally check correctly whether a type is really a generic before accepting it when parsing a generic.
...
pgenutil.pas, generate_specialization:
* use "is_generic" instead of "df_generic in defoptions" as nested non generic types will have that flag set as well and thus would be acceptable for the "<...>" notation although no generic version of it exists
ptype.pas, single_type:
* check for nested types after doing a specialization
+ added tests (one for now working case and one for now forbidden case)
git-svn-id: trunk@25578 -
2013-09-26 09:21:28 +00:00
svenbarth
68a3827539
Fix for Mantis #21051 . Correctly handle specializations that occur during the specialization of methods.
...
cclasses.pas:
+ TFPHashList & TFPHashObjectList: add WhileEachCall methods that walk the list like ForEachCall does, but uses a while-loop instead of a for-loop
psub.pas, generate_specialization_procs:
* use WhileEachCall instead of ForEachCall as new defs can be added during the specialization that need to be specialized as well
+ added test
git-svn-id: trunk@25577 -
2013-09-26 08:15:58 +00:00
michael
b45c092186
* Fixed bug ID #24909 (switch 2 fields in addrinfo record)
...
git-svn-id: trunk@25576 -
2013-09-26 07:13:50 +00:00
michael
710313a748
* Removed unussed but unix-only variables
...
git-svn-id: trunk@25575 -
2013-09-26 07:08:36 +00:00
paul
bc636658d6
rtl: add/change some token related types
...
git-svn-id: trunk@25574 -
2013-09-26 03:51:06 +00:00
Jonas Maebe
2c664ac6ae
* fix compatibility with new Package Management system under Haiku
...
(patch by Olivier Coursiere, mantis #25051 )
git-svn-id: trunk@25573 -
2013-09-25 20:57:41 +00:00
michael
1eb2308ffa
* Applied patch from Daniel Garpary to be able to create custom TDomElement descendents
...
git-svn-id: trunk@25572 -
2013-09-25 19:20:07 +00:00
michael
973c0687fc
* Changes as suggested in bug ID #24810 , so a threaded web application can be stopped correctly, even from a request
...
git-svn-id: trunk@25571 -
2013-09-25 19:06:16 +00:00
michael
83cad92b11
* Implement event handler for handling errors during accept. Implemented Abort as suggested in Bug ID #24810
...
git-svn-id: trunk@25570 -
2013-09-25 19:04:37 +00:00
nickysn
d89d27a00e
+ added the dependency of unit ptc to unit p_ddraw on win32 and win64
...
git-svn-id: trunk@25569 -
2013-09-25 14:55:50 +00:00
nickysn
5da9170615
+ enabled compilation of unit ptc for go32v2
...
git-svn-id: trunk@25568 -
2013-09-25 14:39:33 +00:00
marco
c34760677b
* zip64 support by Reinier Olislagers, mantis #23533
...
git-svn-id: trunk@25567 -
2013-09-25 11:04:35 +00:00
lacak
ca44693e4b
fcl-db: base: addition to rev.25543 + move property Stream from public to protected section.
...
git-svn-id: trunk@25566 -
2013-09-25 11:01:38 +00:00
paul
de6a53376c
win32: update TOKEN_INFORMATION_CLASS from windows sdk
...
git-svn-id: trunk@25565 -
2013-09-25 08:50:38 +00:00
sergei
a6d34945a2
* Commented out exponent check added in r25549: since this code is used by compiler, it breaks compilation of code with constants in extended range on targets without extended precision.
...
git-svn-id: trunk@25564 -
2013-09-25 07:18:18 +00:00
michael
be6d5ec663
* Some refactoring, so fpweb is easier to customize
...
git-svn-id: trunk@25563 -
2013-09-25 07:17:51 +00:00
paul
cdd5d029f0
compiler: don't add operator name as a function result into operator symtable. For FPC mode only operator result identifier should be added and for Delphi mode only 'Result' identifier. Fixes mantis #0025081
...
git-svn-id: trunk@25562 -
2013-09-25 05:22:28 +00:00
paul
c22c364f43
compiler: regenerate parameter list in tprocvardef.getcopy (fixes compiler crash, issue #0025077 )
...
git-svn-id: trunk@25561 -
2013-09-25 03:28:14 +00:00