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
paul
ce6c8c1b59
compiler: search namespace symbols also in the interface symtable of a unit when we are registering a unit with a namespace in the implementation section (fixes issue #0025059 )
...
git-svn-id: trunk@25560 -
2013-09-25 02:25:26 +00:00
paul
d373ad27bc
compiler: don't allow unit/namespace symbols be visible outside current unit or unit of currently specialized generic
...
git-svn-id: trunk@25559 -
2013-09-25 00:29:56 +00:00
Jonas Maebe
44b141ea1a
* also load the methodpointer type for managed VM types. It's required
...
now that there is no special assigned handling anymore, because the
generic "<>nil" code for method pointers loads the "proc" field
via an internally generated tmethod() typecast (using the
methodpointer type). Additionally, not loading this type was
an artefact from the time that it wasn't available yet for the
JVM target
git-svn-id: trunk@25558 -
2013-09-24 23:57:21 +00:00
Jonas Maebe
20d6db20c8
* fixed compilation of length(unicode/ansistring) on JVM target after r25499
...
(we previously internally generated assigned(unicode/ansistring) nodes,
which now cause typecheck errors because there is no special assigned
handling anymore)
git-svn-id: trunk@25557 -
2013-09-24 23:57:17 +00:00
nickysn
1f783f539c
* emit a cld instruction before the rep movsXX in tcg8086.g_copyvaluepara_openarray as well
...
git-svn-id: trunk@25556 -
2013-09-24 20:09:11 +00:00
nickysn
5c46e6f474
* emit a cld instruction before the rep movsXX in tcg386.g_copyvaluepara_openarray
...
git-svn-id: trunk@25555 -
2013-09-24 20:07:53 +00:00
sergei
d981861433
* IsNan(single): can be written much simpler, because representation of single casted to longint is the same on big-endian and little-endian targets.
...
git-svn-id: trunk@25554 -
2013-09-24 18:55:44 +00:00