Commit Graph

41378 Commits

Author SHA1 Message Date
marco
2a9916baba * fix mantis #25129 for non OS X BSD systems. Patch by A. Cardenas Marquez
- crtbegin and crtend suffix handling
     - crti before crtbegin

git-svn-id: trunk@25620 -
2013-10-02 09:05:32 +00:00
michael
1f0c70508f * DisplayName should not set name
git-svn-id: trunk@25619 -
2013-10-02 07:52:30 +00:00
michael
50b9b65395 * Only specify override for destructor in interface section. Add inherited to constructor, Tstreamclass is TMemoryStream
git-svn-id: trunk@25618 -
2013-10-02 07:51:45 +00:00
michael
38f72cf39b Raise exception if no scanner specified
git-svn-id: trunk@25617 -
2013-10-02 07:49:33 +00:00
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