Commit Graph

44801 Commits

Author SHA1 Message Date
Károly Balogh
c72f58bcc5 m68k: implemented sqrt_real and abs_real inlines
git-svn-id: trunk@29805 -
2015-02-23 02:41:33 +00:00
nickysn
bd467adf52 * use StrDispose instead of Dispose in the libgdb.a implementation of GetIntRegister
git-svn-id: trunk@29804 -
2015-02-23 01:12:48 +00:00
nickysn
3b55dd919d * fixed getting the FPC_BREAK_ERROR parameters on i386
git-svn-id: trunk@29803 -
2015-02-23 00:06:09 +00:00
nickysn
ac79722eb2 * use the Backtrace method (which supports gdb/mi) instead of issuing the
command directly in TDebugController.DoSelectSourceLine

git-svn-id: trunk@29802 -
2015-02-22 23:53:54 +00:00
nickysn
4a1a443ffa * fixed getting the FPC_BREAK_ERROR parameters on x86_64
git-svn-id: trunk@29801 -
2015-02-22 23:47:42 +00:00
nickysn
d83655f73c + implemented the GetIntRegister methods added in r29795 in the libgdb.a
interface as well. The code is loosely based on GetIntRegs from fpregs.pas

git-svn-id: trunk@29800 -
2015-02-22 23:46:56 +00:00
Károly Balogh
db50666b3b n68kinl: added inline nodes for 68k. implemented first_sqr_real and second_sqr_real for 68881 FPU
git-svn-id: trunk@29799 -
2015-02-22 23:11:16 +00:00
nickysn
5ec640006c * moved the code that obtains the parameters to HandleErrorAddrFrame (after
trapping a runtime error) to a separate method.

git-svn-id: trunk@29798 -
2015-02-22 22:30:36 +00:00
Tomas Hajny
b9f88aa80c * mapping of I/O error number 206 having different meaning in FPC to RTE 3
git-svn-id: trunk@29797 -
2015-02-22 22:25:44 +00:00
nickysn
79118e531f * fixed typecast error due to typo after r29795
git-svn-id: trunk@29796 -
2015-02-22 22:02:40 +00:00
nickysn
0a02da23f4 + added gdb/mi methods for obtaining individual register values
git-svn-id: trunk@29795 -
2015-02-22 21:52:18 +00:00
florian
78742c3c87 * use armv4 as default, FPC never generated valid armv3 code
git-svn-id: trunk@29794 -
2015-02-22 20:53:48 +00:00
florian
c46cbd3b1a + test for an already fixed report (#14347), added to avoid that it pops up again
git-svn-id: trunk@29793 -
2015-02-22 20:33:01 +00:00
florian
00d41dc9fa * return false, if tdosinputfile.fileopen cannot open a file for reading
git-svn-id: trunk@29792 -
2015-02-22 15:52:54 +00:00
florian
cab98a58d0 + parameters of nested procedure variable parameters are taken into account during name mangling, resolves #27515
* de-duplicated parameter name mangling code

git-svn-id: trunk@29791 -
2015-02-22 09:16:20 +00:00
nickysn
8ed6109955 * setting breakpoint ignore count implemented via gdb/mi command in the gdb/mi
interface

git-svn-id: trunk@29790 -
2015-02-22 02:46:48 +00:00
nickysn
46695f37b4 * use the gdb/mi command for setting breakpoint conditions in the gdb/mi interface
git-svn-id: trunk@29789 -
2015-02-22 02:20:28 +00:00
nickysn
1bfcf14ef9 * use gdb/mi commands to enable/disable breakpoints in the gdb/mi interface
git-svn-id: trunk@29788 -
2015-02-22 01:51:59 +00:00
nickysn
c2d659950e * use the gdb/mi command for deleting breakpoints
git-svn-id: trunk@29787 -
2015-02-22 01:29:27 +00:00
nickysn
c5b9465255 * gdb/mi: fixed inserting and stopping on access and read watchpoints
git-svn-id: trunk@29786 -
2015-02-22 01:00:36 +00:00
nickysn
cb983ab42d * fixed gdb/mi crash when a watchpoint goes out of scope
git-svn-id: trunk@29785 -
2015-02-22 00:46:49 +00:00
nickysn
7d040cbe3f * fixed crash when program being debugged in gdb/mi mode receives a signal or
exits due to a signal

git-svn-id: trunk@29784 -
2015-02-22 00:33:10 +00:00
nickysn
850a321a23 + log the error message from gdb/mi error result records to the gdb window
git-svn-id: trunk@29783 -
2015-02-22 00:10:08 +00:00
nickysn
a1afce8a69 * fixed crash with the gdb/mi debugger, when trying to step/run a program with
the gdb window open

git-svn-id: trunk@29782 -
2015-02-21 23:37:24 +00:00
florian
6c99493181 * use USE_WINDOWS_API_THREAD_FUNCTIONS in the windows graph unit by default, resolves #27508
git-svn-id: trunk@29781 -
2015-02-21 22:43:00 +00:00
florian
9eab90d8c4 * always pass the architecture to the arm assembler
* encode pld/ldrd in arm.inc using .long, so it causes no errors with older architectures settings of the assembler

git-svn-id: trunk@29780 -
2015-02-21 21:58:30 +00:00
florian
80cc09e350 o fix wince compilation:
* apparently, wince (or GNU AS for it) does not support blx imm
  * set FPC_IN_SYSTEM directive, so assembler code in divide.inc is compiled right

git-svn-id: trunk@29779 -
2015-02-21 21:55:56 +00:00
nickysn
0c2054b9a3 + allow disabling the Extended/SGH 1006 mouse tracking mode introduced in r29773
by setting the environment variable FPC_DISABLE_SGR_EXT_MODE_MOUSE=1

git-svn-id: trunk@29778 -
2015-02-21 21:13:34 +00:00
florian
5946328ed6 * CPUs not having CMOV apparently do not support the newly introduced Multibyte NOPs (Agner, Optimizing subroutines in assembly
language, An optimization guide for x86 platforms, Page 87), so restored the 32 Bit part of the old alignment 
  bytes for use on those old CPUs and use it depending on the CPU switches

git-svn-id: trunk@29777 -
2015-02-21 20:50:42 +00:00
florian
de17e9fa1c + cpu capability CPUX86_HAS_CMOV
git-svn-id: trunk@29776 -
2015-02-21 20:47:40 +00:00
nickysn
6ef8a8afc9 * fixed bug which caused Ctrl-F1..F4 to be erroneously identified as
Shift-F1..F4 on certain xterm clones. Tested with konsole.

git-svn-id: trunk@29775 -
2015-02-21 18:33:47 +00:00
nickysn
5a8d02999f + support the keycodes returned for Ctrl-F1..F4, Alt-F1..F4 and Shift-F1..F4 on
modern versions of xterm and gnome3 terminal.

git-svn-id: trunk@29774 -
2015-02-21 18:18:22 +00:00
nickysn
97f2067762 + added support for the xterm enhanced/SGH 1006 mouse tracking mode. Tested
under:
  * xterm 308
  * gnome-terminal 3.14.2
  * konsole 4.14.3
  * lxterminal 0.1.11
  * xfce4-terminal 0.6.3
  * rxvt-unicode 9.21 (does not support SGH 1006, but has its own enhanced mouse
    tracking extension, which we don't support)
  * the linux console (does not use the xterm mouse protocol)

git-svn-id: trunk@29773 -
2015-02-21 16:00:19 +00:00
florian
255c4feef6 * new code alignment fillings based on the discussion at http://www.lazarusforum.de/viewtopic.php?f=10&t=8487
git-svn-id: trunk@29772 -
2015-02-21 10:09:39 +00:00
florian
ba3f0281b0 * fix compilation errors with -O2 due to dfa based warnings
git-svn-id: trunk@29771 -
2015-02-21 10:09:37 +00:00
svenbarth
d849734acd Specialize the correct generic if it has the same name as another generic that is located at another place of the type hierarchy.
pgenutils.pas:
  + generate_generic_name: new parameter owner_hierarchy to further influence the specialization name
  * generate_specialization: pass the ownerhierarchy name to generate_generic_name
pdecsub.pas, parse_proc_head:
  * parse_generic_interface: for now pass '' to the hierarchy parameter; it needs to be checked whether Delphi allows nested interfaces there as well

git-svn-id: trunk@29769 -
2015-02-20 16:28:44 +00:00
svenbarth
5a344ee263 Rework the way how "specialize" is handled. Instead of initializing the specialization of a full type declaration (including unit name and parent types) it is now considered part of the specialized type itself. This means that for example the following code:
type
  TTestLongInt = specialize SomeOtherUnit.TTest<LongInt>;

will now have to read as

type
  TTestLongInt = SomeOtherUnit.specialize TTest<LongInt>;

While this is not backwards compatible this situation should arise seldomly enough and the benefits especially in context with generic functions/procedures/methods outway the drawbacks.

pbase.pas:
  * try_consume_unitsym: add a allow_specialize parameter that allows to parse "specialize" in front of a non-unit symbol; whether it was a specialization or not is reported using a new is_specialize parameter
  + add a new overload try_consume_unitsym_no_specialize that calls try_consume_unit sym with allow_specialize=false and a dummy is_specialize parameter
  * switch calls to try_consume_unitsym to try_consume_unitsym_no_specialize
pstatmnt.pas, try_statement:
  * switch call to try_consume_unitsym to try_consume_unitsym_no_specialize
  * adjust call to parse_nested_types
ptype.pas:
  + extend id_type with the possibility to disallow unit symbols (needed if a specialize was already parsed) and to report whether a specialize was parsed
  + extend parse_nested_types with the possibility to tell it whether specializations are allowed
  * have parse_nested_types specialize generic defs if one is encountered and local type defs are allowed
  * id_type: only allow "unitsym.specialize sym" or "specialize sym", but not "specialize unitsym.sym"
  * single_type: correctly handle specializations with "specialize" keyword
  * read_named_type.expr_type: there is no longer a need to check for "specialize" keyword
pexpr.pas:
  + new function handle_specialize_inline_specialization which tries to specialize a type symbol
  * handle_factor_typenode: handle specializations after a point that follows a record or object (why isn't this part of postfixoperators anyway? O.o)
  * postfixoperators: handle "specialize" after records and objectdefs
  * factor_read_id: handle "specialize" in front of an identifier (and after unit symbols)

+ added tests
* adjusted test webtbs/tw16090.pp

git-svn-id: trunk@29768 -
2015-02-20 16:23:40 +00:00
marco
b2b56a4791 * Patch by Luiz (mantis #27503) that fixes a procedure-type that has
"char" as argumenttype instead of pchar/pansichar.

git-svn-id: trunk@29766 -
2015-02-20 10:50:40 +00:00
lacak
add4e800be fcl-db: sqlite: cosmetic + simplify code
git-svn-id: trunk@29765 -
2015-02-20 08:31:55 +00:00
lacak
0182f49b7b fcl-db: odbc: add support for ftFmtBCD parameters. Bind them as string to support BCD values with precision > 10^38 (max.supported by SQL_NUMERIC_STRUCT)
git-svn-id: trunk@29764 -
2015-02-20 06:35:26 +00:00
nickysn
a445b4730b + added breakpoint flags parameter to TGDBController.BreakpointInsert. The
supported flags are 'temporary' and 'hardware' breakpoint.

git-svn-id: trunk@29763 -
2015-02-19 22:04:31 +00:00
pierre
2095698a17 Use FPC_LOCALS_ARE_STACK_REG_RELATIVE macro to fix test for mips/mipsel
git-svn-id: trunk@29762 -
2015-02-19 16:56:02 +00:00
sergei
124592899f * fcl-xml: dropped using 'hack classes', which cause runtime errors if compiled with -CR. Resolves #27447.
git-svn-id: trunk@29761 -
2015-02-19 15:25:26 +00:00
marco
7350dae037 * bug #24317 wrapper function for eventsink.disconnect
git-svn-id: trunk@29760 -
2015-02-19 10:43:16 +00:00
lacak
17832b250b fcl-db: oracle: correct typo?
git-svn-id: trunk@29759 -
2015-02-19 09:45:38 +00:00
lacak
9fbf3494b4 fcl-db: implement setter and getter for TFloatField.AsBCD
git-svn-id: trunk@29758 -
2015-02-19 09:33:54 +00:00
pierre
97fccfd3bf Also display raw response inside GDB window if DEBUG conditional is set
git-svn-id: trunk@29756 -
2015-02-18 23:43:06 +00:00
pierre
6887eb739a Correctly display pchar longer than high(string) nito several lines in TGDBWindow.WriteText method
git-svn-id: trunk@29755 -
2015-02-18 23:42:31 +00:00
marcus
da3ce1a6d5 AROS: Added ELF structures to AmigaDOS
git-svn-id: trunk@29754 -
2015-02-18 19:46:46 +00:00
Károly Balogh
c421f4d91e do not include outputexedir in linker resname. it causes the path to be double-included when cross-compiling with -st and -FE on Liunuxes. also, be consistent between linking on host and target.
git-svn-id: trunk@29753 -
2015-02-18 14:09:15 +00:00