Commit Graph

44772 Commits

Author SHA1 Message Date
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
pierre
6ce8aeed27 + mips/mipsel libraries need PIC
git-svn-id: trunk@29752 -
2015-02-18 13:53:20 +00:00
lacak
2a2078e7f7 fcl-db: odbc: implements RefreshLastInsertID for autoincrementing columns.
Bug #16076

git-svn-id: trunk@29751 -
2015-02-18 11:02:07 +00:00
nickysn
a861bbc5ae - removed last_breakpoint_number from the gdb/mi interface. It didn't work in
older GDB versions and code in fpdebug.pas should no longer use it. Instead,
  it should use BreakpointInsert or WatchpointInsert for adding a breakpoint or
  watchpoint and getting its ID.

git-svn-id: trunk@29750 -
2015-02-18 05:47:49 +00:00
nickysn
c754fa35d2 * fixed the passing of the breakpoint number to the DoSelectSourceLine method,
in the gdb/mi interface, which fixes various features, such as showing a
  popup window with the old and new value of the variable, when stopping on a
  watch, etc.

git-svn-id: trunk@29749 -
2015-02-18 01:02:53 +00:00
nickysn
9f31c26996 * handle properly stopping on a watchpoint in the gdb/mi debugger
git-svn-id: trunk@29748 -
2015-02-17 23:07:23 +00:00
nickysn
186e86b353 * compilation of gdbcon.pp fixed after r29746
git-svn-id: trunk@29747 -
2015-02-17 23:02:02 +00:00
nickysn
df234bd7fe + added method WatchpointInsert to TGDBController, with a gdb/mi implementation
* all breakpoint and watchpoint adding now go through TGDBController and use
  the proper gdb/mi commands when compiled with the gdb/mi debugger

git-svn-id: trunk@29746 -
2015-02-17 22:49:31 +00:00
florian
d6e4af8279 + applied remaining patches of Torsten Grundke: adds gather instructions of avx2
git-svn-id: trunk@29745 -
2015-02-17 21:43:46 +00:00
nickysn
4f8b8da879 + added method BreakpointInsert to gdbcon, which supports the gdb/mi command for
adding breakpoints.
* use the new method for adding the breakpoint to FPC_BREAK_ERROR

git-svn-id: trunk@29744 -
2015-02-17 21:17:02 +00:00
florian
726a78be08 * fix possible range check errors, resolves #27461
git-svn-id: trunk@29743 -
2015-02-17 21:14:47 +00:00
florian
0dfbba86f3 * properly firstpass nodes when inc(...) is converted into ...:=...+x, resolves #27471
git-svn-id: trunk@29742 -
2015-02-17 21:14:45 +00:00
florian
aafec52a52 * allow multiple passes on as nodes
git-svn-id: trunk@29741 -
2015-02-17 21:14:43 +00:00
nickysn
eb6c73c3df * the common code to all "-exec" gdb/mi commands moved to a single method
git-svn-id: trunk@29740 -
2015-02-17 20:12:32 +00:00
pierre
f56990ee29 Revert aligntoptr to RTTIAlign rename
git-svn-id: trunk@29739 -
2015-02-17 07:35:31 +00:00
nickysn
44fb01eae6 + implemented get_current_frame and set_current_frame for gdb/mi
git-svn-id: trunk@29738 -
2015-02-17 02:03:18 +00:00
nickysn
f4e8c9da33 + added the gdb set commands from gdbint.pp to the gdb/mi interface
git-svn-id: trunk@29737 -
2015-02-17 01:43:39 +00:00
nickysn
a47a810475 + implemented gdb/mi backtraces
git-svn-id: trunk@29736 -
2015-02-17 00:59:39 +00:00
nickysn
88fc22a8a3 * fixed crash when stepping into code where no debug information is available
(can happen when using 'step into instruction' inside the assembly window)
* obtain the PC counter after a breakpoint has been hit (so that the assembly
  window shows the current instruction immediately after hitting a breakpoint)

git-svn-id: trunk@29735 -
2015-02-16 23:20:48 +00:00
nickysn
dc54903e01 * use gdb/mi command for setting tty
git-svn-id: trunk@29734 -
2015-02-16 22:11:25 +00:00
sergei
72315c9bee * Finalize units after printing the runtime error message. Rationale:
* Unit finalization executes arbitrarily large amount of code. Doing it when error occurred can cause
    other errors, overwriting the original error information.
  * Code that prints error message depends on everything and a kitchen sink (most notably, Unicode manager
    and lineinfo unit). Running it after finalizing units can be successful only by coincidence.
  * Last but not least, this sequence (ExitProc -> print RTE -> finalize units) is same as one used in Delphi.

git-svn-id: trunk@29733 -
2015-02-16 22:05:54 +00:00
nickysn
9eeef2581b * use a gdb/mi command for adding source directories
git-svn-id: trunk@29732 -
2015-02-16 21:41:06 +00:00
pierre
68c06ff84d Only print out cygwin DLL too old warning if using a cygwin GDB
git-svn-id: trunk@29731 -
2015-02-16 21:15:37 +00:00
pierre
d0cfebc351 + Use using_cygwin_gdb boolean, to convert path
git-svn-id: trunk@29730 -
2015-02-16 20:50:47 +00:00
pierre
6b1c38537b + Add missing windebug unit dependency for windows
+ Use using_cygwin_gdb boolean, to convert path

git-svn-id: trunk@29729 -
2015-02-16 20:50:15 +00:00
pierre
95f0791b97 + Add (not yet implemented) inferior_pid function to allow compilation of windebug unit
+ Add using_cygwin_gdb boolean, set by parsing version output

git-svn-id: trunk@29728 -
2015-02-16 20:48:38 +00:00
pierre
6e2b97a15c Handle #13#10 line ending for Windows
git-svn-id: trunk@29727 -
2015-02-16 20:45:18 +00:00
pierre
b823ac6755 Regenerate after: also allow GDBMI=1 as make parameter to use gdbmi
git-svn-id: trunk@29726 -
2015-02-16 20:44:28 +00:00
pierre
6c605ca6db Also allow GDBMI=1 as make parameter to use gdbmi
git-svn-id: trunk@29725 -
2015-02-16 20:44:09 +00:00
pierre
c912196ca6 Handle GDBMI conditional in windebug unit
git-svn-id: trunk@29724 -
2015-02-16 20:42:31 +00:00