Commit Graph

45046 Commits

Author SHA1 Message Date
nickysn
547e20f1a2 * just realized that AnsiStrPas is entirely unnecessary, because typecasting a
pchar to ansistring performs exactly the same thing :)

git-svn-id: trunk@30056 -
2015-03-02 00:03:02 +00:00
nickysn
9d1c9a2a6a * fixed watches under gdb/mi after r30043
git-svn-id: trunk@30055 -
2015-03-01 23:44:11 +00:00
nickysn
00e3c906ef * fixed AnsiStrPas
git-svn-id: trunk@30054 -
2015-03-01 23:42:19 +00:00
nickysn
7859afccc4 * TGDBController.InternalGetValue made private to protect from accidental use
in fpdebug.pas, because it's for internal use in the libgdb.a interface only
  and is not available in the gdb/mi interface

git-svn-id: trunk@30053 -
2015-03-01 23:09:21 +00:00
nickysn
67a66f104d * converted the result of TGDBController.PrintCommand from pchar to ansistring:
* supports returning long strings
  * can be easily converted to a pchar without truncation (a simple PChar(x)
    works for read-only access or a full copy via StrNew(PChar(x)) )
  * can be easily converted to shortstring without memleaks (shortstr := pchar
    works, but creates a silent memleak, when the pchar returned should be
    StrDispose'd)

git-svn-id: trunk@30052 -
2015-03-01 22:57:48 +00:00
nickysn
1e692a2d2e * use -data-evaluate-expression instead of -var-evaluate-expression in the
gdb/mi's TGDBController.PrintCommand() method, because
  -var-evaluate-expressions produces no meaningful results at least with my gdb
  (7.8.2) and according to the docs, requires variable objects to be created
  with -var-create before using it

git-svn-id: trunk@30051 -
2015-03-01 17:28:03 +00:00
Jonas Maebe
6dd2fe0320 * converted widestr.charlength() to use system.Utf8CodePointLen()
git-svn-id: trunk@30050 -
2015-03-01 17:12:27 +00:00
Jonas Maebe
60dbce940a * converted readstr/writestr to use system.Utf8CodePointLen()
git-svn-id: trunk@30049 -
2015-03-01 17:12:24 +00:00
Jonas Maebe
9da8a2304a * converted matching UTF-8 filenames in findfirst/findnext to use
system.Utf8CodePointLen()

git-svn-id: trunk@30048 -
2015-03-01 17:12:21 +00:00
Jonas Maebe
ff020a3be4 + "Utf8CodePointLen(pansichar,MaxLookAhead,IncludeCombiningDiacriticalMarks):
sizeint"  function that returns:
   <0: invalid sequence detected after processing "-result" bytes
   0:  incomplete (may still be valid if MaxLookAhead is increased)
   >0: sequence of result bytes forms a codepoint (+ combining diacritical
       marks if that parameter was true)

git-svn-id: trunk@30047 -
2015-03-01 17:12:17 +00:00
pierre
caa77e1f8d Add TGDBController.SetCommand method and use it
git-svn-id: trunk@30046 -
2015-03-01 17:00:16 +00:00
Károly Balogh
5f66d63335 m68k: disabled comment generation
git-svn-id: trunk@30045 -
2015-03-01 15:49:57 +00:00
Károly Balogh
997ec578e0 m68k: added a simple unaryminusnode which can utilize FNEG instruction for floats on 68881
git-svn-id: trunk@30044 -
2015-03-01 15:00:07 +00:00
pierre
36086cc183 ide/gdbmiint.pas: Add init_count field,
New Set_debuggee_started method to update init_count properly.

  ide/gdbmicon.ppas and packages/gdbint/src/gdbcon.pp:
  Add PrintCommand and PrintFormattedCommand methods to
  allow using of mi command for fpdebug unit TDebugController.GetValue method

  packages/gdbint/src/gdbcon.pp:
  Add InternalGetValue method, that uses previous code from fpdebug GetValue method

git-svn-id: trunk@30043 -
2015-03-01 13:21:26 +00:00
Tomas Hajny
9f9ab082da * fix typo (space instead of underscore resulting in broken help display)
git-svn-id: trunk@30041 -
2015-02-28 23:30:24 +00:00
Tomas Hajny
2be0cc8aae * avoid crashes when displaying help with an unsupported system codepage
git-svn-id: trunk@30040 -
2015-02-28 23:15:56 +00:00
Tomas Hajny
dbbce18f56 * fix determination of help line length with codepage set to UTF-8 (the string conversion routine in widestr.pas doesn't work for UTF-8 :-((( )
git-svn-id: trunk@30039 -
2015-02-28 22:54:48 +00:00
florian
f0cf88533e * applying const_align when generating structures accessed by the rtl is not a good idea because their
alignment must be immutable, should resolve #27525

git-svn-id: trunk@30038 -
2015-02-28 22:44:58 +00:00
florian
99635658ec * corrects change flags for VSQRTSD
git-svn-id: trunk@30037 -
2015-02-28 22:42:25 +00:00
Jonas Maebe
dd2aa17de1 * also allow 64 bit platforms have have a 32x32->64 bit multiplication to
take advantage of this transormation (enables this optimization for
    AArch64)

git-svn-id: trunk@30035 -
2015-02-28 22:31:06 +00:00
Jonas Maebe
b821e31442 * force constants into a registers in the 32x32->64 optimized case
git-svn-id: trunk@30034 -
2015-02-28 22:31:03 +00:00
Jonas Maebe
86bde57b0f * do not switch around node subtrees if they have different resultdefs, e.g.
because a subtree has been optimized for a 32x32->64 multiplication (so
   some subtrees have a 32 bit resultdef and others a 64 bit resultdef)

git-svn-id: trunk@30033 -
2015-02-28 22:31:00 +00:00
Jonas Maebe
ada5060a34 * set pi_do_call for AArch64 mod/div nodes, as they call FPC_DIVBYZERO
git-svn-id: trunk@30032 -
2015-02-28 22:30:57 +00:00
Jonas Maebe
33b1732ca2 * avoid unnecessary sign/zero-extensions in genlinearlist() when generating
code on a platform that doesn't have subregisters of the same size as
    the "case" value

git-svn-id: trunk@30031 -
2015-02-28 16:46:54 +00:00
florian
1d2d1364c9 * fix test now that it is actually executed
git-svn-id: trunk@30030 -
2015-02-28 16:25:09 +00:00
nickysn
d8fe799798 * don't hang in TGDBInterface.WaitForProgramStop if gdb returns an error in
response to the '-exec-continue' command

git-svn-id: trunk@30029 -
2015-02-28 12:55:31 +00:00
marco
8aba24ecdf * fix for mantis #27555
git-svn-id: trunk@30028 -
2015-02-27 23:08:55 +00:00
Jonas Maebe
b2427d04ed * ensure that data pools are not inserted right after add/tbb/tbh-based
jumptable dispatches

git-svn-id: trunk@30027 -
2015-02-27 20:52:12 +00:00
Tomas Hajny
1ecf8dcfa1 * improved paging of help pages so that lines are not missed with 80x25 windows due to lines overflowing the window width
git-svn-id: trunk@30026 -
2015-02-27 19:26:23 +00:00
Tomas Hajny
db7a9950d1 * unit name changed to System (starting with uppercase 'S') for improved compatibility to Delphi - see test tobject5.pp
git-svn-id: trunk@30025 -
2015-02-27 19:00:50 +00:00
Tomas Hajny
b2475353f4 * test programs previously having extension .pas renamed to .pp so that they are found during testsuite runs
git-svn-id: trunk@30024 -
2015-02-27 13:03:13 +00:00
Károly Balogh
7940806fc2 fixed ifneq vs. ifndef
git-svn-id: trunk@30023 -
2015-02-27 11:33:38 +00:00
pierre
4fba54788b set last_breakpoint_address field type to CORE_ADDR
git-svn-id: trunk@30022 -
2015-02-27 09:44:37 +00:00
nickysn
3fe10bfd6c * handle properly debugger errors returned by an exec command in RunExecCommand
git-svn-id: trunk@30021 -
2015-02-27 01:43:26 +00:00
nickysn
c62f3ec271 * handle failure in GetFPCBreakErrorParameters and continue execution silently
in a gdb/mi safe way

git-svn-id: trunk@30020 -
2015-02-27 00:34:16 +00:00
Tomas Hajny
b64c4d9acd * fixed handling of FPU exceptions, extended output with -dSYSTEMEXCEPTIONDEBUG, added possibility of debug tracking of OS/2 API error codes in RTL
git-svn-id: trunk@30019 -
2015-02-26 21:50:01 +00:00
Jonas Maebe
37c2d0e60d * use Object_getClass(obj) instead of obj._class to get the class of an
Objective-C instance on AArch64, as the latter helper from the runtime
    is a plain function call rather than an expensive message dispatch,
    and moreover it also works for protocols (the "class" method is part
    of NSObject, and protocols do not support it since there is no single
    root class and hence they may represent an instance of a class that
    does not derive from NSObject)
   o also call it to get the "self" pointer when calling class methods for
     protocols on AArch64 (fixes tobjc22a and tobjc22b on Darwin/AArch64)
   o also call it to get the metaclass of a class on Darwin/AArch64 (fixes
     tobjc25)
  - removed special handling of getting the Objective-C (meta)class for
    non-type nodes on other Darwin platforms, as this is also correctly
    handled by the generic pass_generate_code

git-svn-id: trunk@30018 -
2015-02-26 21:49:08 +00:00
florian
b7422716b2 * turn off compiler and utils building for nds
* use NoNativeBinaries to detect if a native compiler shall be build

git-svn-id: trunk@30017 -
2015-02-26 20:03:29 +00:00
Tomas Hajny
f71007d95c * corrected initialization of cached information about 'MS Windows-compatible' codepage number information (if different from the OS/2 codepage number), removed warnings about implicit string conversions
git-svn-id: trunk@30016 -
2015-02-26 17:07:42 +00:00
Károly Balogh
56eeabd01b fixed a warning with DFA
git-svn-id: trunk@30015 -
2015-02-26 09:36:03 +00:00
marco
afa4f0be8e * regen nds makefile. Trying to be helpful for mantis #26847
git-svn-id: trunk@30014 -
2015-02-26 09:14:57 +00:00
marco
86f91f50f5 * avltree rearrangements with new oncompare system. Mantis #27542, patch by Mattias
git-svn-id: trunk@30013 -
2015-02-26 08:52:49 +00:00
lacak
36a8a903f1 fcl-db: dbase: fix probably copy-paste error in translation units
git-svn-id: trunk@30012 -
2015-02-26 05:27:15 +00:00
sergei
657ac78304 * Improved handling of registers used in assembler blocks. Assembler nodes no longer have lists of used registers attached to them. Instead, each specified register creates an allocation/deallocation pair and an additional tai_regalloc.markused item directly in the asmlist. This way, register lists are no longer limited to integer registers, and parsing no longer depends on paramanager to know which registers are volatile.
If assembler block has no modified register list, it is still handled in pass2, by allocating all volatile registers (not only the integer ones as before).

git-svn-id: trunk@30011 -
2015-02-25 21:53:15 +00:00
sergei
31fddaafe8 + New subtype of tai_regalloc, "ra_markused". It marks a physical register as used in procedure, triggering saving/restoring that register if it is non-volatile.
git-svn-id: trunk@30010 -
2015-02-25 21:38:23 +00:00
Legolas
6f93505e08 * Fixed NDS building cycle (resolves bug #0026847)
* Updated libndsfpc to ver 1.5.10
 * Improved libndsfpc examples

git-svn-id: trunk@30008 -
2015-02-25 20:52:50 +00:00
Jonas Maebe
2cacb588aa * replaced AArch64 setjmp/longjmp code initially taken from NetBSD with
straightforward own implementation

git-svn-id: trunk@30006 -
2015-02-25 19:34:42 +00:00
lacak
a756cb3d44 fcl-db: dbase: update Polish translation. Bug #26375
git-svn-id: trunk@30005 -
2015-02-25 11:12:23 +00:00
nickysn
609ebbe120 - rm unused var
git-svn-id: trunk@30004 -
2015-02-25 02:08:49 +00:00
nickysn
47509b0148 + added parameter BreakIndex (containing the breakpoint index if we stopped on a
breakpoint, or zero otherwise) to DoSelectSourceLine, instead of using
  stop_breakpoint_number
- removed stop_breakpoint_number and all the convoluted logic around it from the
  gdb/mi interface
* made stop_breakpoint_number private in the libgdb.a interface to ensure it's
  only used for internal use; UI code should rely on the new BreakIndex
  parameter instead

git-svn-id: trunk@30003 -
2015-02-25 01:48:23 +00:00