Commit Graph

45252 Commits

Author SHA1 Message Date
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
nickysn
ec71e47b83 * fixed various debugger crashes after r29993 - read all information from
ExecAsyncOutput *before* calling DebuggerScreen, because DebuggerScreen may
  call gdb commands, which will clear ExecAsyncOutput (or replace it with
  something entirely different)

git-svn-id: trunk@30002 -
2015-02-25 00:44:37 +00:00
florian
91db2a1698 + report when compilation of a unit is stopped because it has been already compiled during the recursive search in uses clauses
git-svn-id: trunk@30001 -
2015-02-24 21:46:09 +00:00
florian
0a17a08b28 - remove accidently committed (commented though) debug statement
git-svn-id: trunk@30000 -
2015-02-24 20:58:49 +00:00
Jonas Maebe
6149d37e2a * changed the Mach-O object writer to use symbols instead of section numbers
in the relocations (change the relocations to use "external reference" in
    Mach-O terminology), because initially section number-based relocations
    were not supported for AArch64 and later they were added but behave
    slightly differently from those on other platforms (or there's a bug in
    (some?) linker versions with them) (mantis #27531)
   o also add a dummy text section, since the assemblers also always do that
   o only use references to global symbols in the relocations, because when
     using local symbols in assembler code then for most architectures these
     must then be translated to section references (like the old code did),
     while for others they should remain symbols. For global symbols, the
     behaviour is the same everywhere

git-svn-id: trunk@29999 -
2015-02-24 20:57:39 +00:00
Jonas Maebe
5302024e25 * set the size of the string table to a multiple of 4 bytes instead of to
a multiple of the data alignment (like the assemblers do)

git-svn-id: trunk@29998 -
2015-02-24 20:57:36 +00:00
Jonas Maebe
215e2cc5de * changed the Mach-O types from packed records in to regular records and
{$packrecords c}

git-svn-id: trunk@29997 -
2015-02-24 20:57:33 +00:00
Jonas Maebe
37a7304a8f + added xcoffwriter to Makefile.fpc.fpcmake
git-svn-id: trunk@29996 -
2015-02-24 20:57:29 +00:00
pierre
e92ce89c0b Also reset ExecAsyncOutput at start of TGDBWrapper.ReadResponse
git-svn-id: trunk@29993 -
2015-02-24 16:24:03 +00:00
pierre
e4887f22b6 + Check success in TGDBController.StartTrace to avoid SIGSEGV
+ Handle failure in TGDBController.LoadFile

git-svn-id: trunk@29992 -
2015-02-24 16:22:53 +00:00
pierre
eeda87007e + Handle failure of LoadFile method inside TDebugController.SetExe
+ interrupt frame up loop of GetValue fails inside TWatch.Get_new_value method

git-svn-id: trunk@29991 -
2015-02-24 16:19:29 +00:00
pierre
85a7b9d9cf Avoid range check error for 64bit cpu by direct writing to FormatParams array
git-svn-id: trunk@29990 -
2015-02-24 16:01:11 +00:00
pierre
da55d9ded2 Also disable overflow where range check is disabled in aasmcpu unit
git-svn-id: trunk@29989 -
2015-02-24 15:58:49 +00:00
marco
422df4bc77 * fixed typo removing ppca64, mantis 27533
git-svn-id: trunk@29988 -
2015-02-24 09:35:27 +00:00
nickysn
7e3ec0ae87 + x86_64 registers view support added to the IDE
git-svn-id: trunk@29987 -
2015-02-24 02:44:05 +00:00
Jonas Maebe
879afbb7be * removed -Oodfa warnings
git-svn-id: trunk@29986 -
2015-02-23 22:57:24 +00:00
Jonas Maebe
c41759a026 - removed a lot of unused copied internal assembler code
git-svn-id: trunk@29985 -
2015-02-23 22:57:21 +00:00
Jonas Maebe
2ab7f5c35d * moved x86-specific requirements from the generic bsr/bsf code to the
x86 code generator (register size constraints)

git-svn-id: trunk@29984 -
2015-02-23 22:57:18 +00:00
Jonas Maebe
416d0b3974 * enable internal handling of 64 bit sar() on AArch64
git-svn-id: trunk@29983 -
2015-02-23 22:57:15 +00:00
Jonas Maebe
3b5adcb3de + print iphonesim/x86_86-specific command line options in the help
git-svn-id: trunk@29982 -
2015-02-23 22:57:12 +00:00
Jonas Maebe
dcb6f2baae + print Darwin/AArch64-specific command line options in the help
git-svn-id: trunk@29981 -
2015-02-23 22:57:09 +00:00
Jonas Maebe
5e339e89e4 * source can also be a LOC_CREGISTER for bsr/bsf
git-svn-id: trunk@29980 -
2015-02-23 22:57:05 +00:00
Jonas Maebe
a8d05b66e2 + AArch64 internal bsf/bsr support
git-svn-id: trunk@29979 -
2015-02-23 22:57:02 +00:00
Jonas Maebe
b40a4d1b5a + support for "xor mmreg,mmreg" for initialising global floating point
regvars

git-svn-id: trunk@29978 -
2015-02-23 22:56:59 +00:00
Jonas Maebe
03f8a15904 * enable internal handling of 32 and 64 bit rotates on AArch64
git-svn-id: trunk@29977 -
2015-02-23 22:56:56 +00:00
Jonas Maebe
0a0e74342f * AArch64 doesn't need the software int64 to double code
git-svn-id: trunk@29976 -
2015-02-23 22:56:53 +00:00
Jonas Maebe
b7fb862f4a * enable internal handling of abs(int64) on AArch64
git-svn-id: trunk@29975 -
2015-02-23 22:56:50 +00:00
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
749f393095 * fixed platform names for Darwin in ppudump
git-svn-id: trunk@29973 -
2015-02-23 22:56:24 +00:00
Jonas Maebe
83e20b5a5b + x86_64/iphonesim support in fpcmake/fpmkunit
git-svn-id: trunk@29972 -
2015-02-23 22:56:21 +00:00
Jonas Maebe
935c6eecf0 + iphonesim/x86_64 detection support in univint units
git-svn-id: trunk@29971 -
2015-02-23 22:56:14 +00:00
Jonas Maebe
79a06b1514 + iphonesim/x86_64 target (64 bit iOS simulator)
git-svn-id: trunk@29970 -
2015-02-23 22:56:09 +00:00
Jonas Maebe
f421e83c9a - don't allow setting the OS X version (-WM) for Darwin/ARM or Darwin/AArch64
for now (it's all iOS)

git-svn-id: trunk@29969 -
2015-02-23 22:56:06 +00:00
Jonas Maebe
07f31d560c + also perform sign/zero-extensions of the index in vecn using extended
registers in references

git-svn-id: trunk@29968 -
2015-02-23 22:56:03 +00:00
Jonas Maebe
d6de2c03cb * generic part of r26050 from the hlcgllvm branch: made tcgvecnode hlcg-safe
o in particular, add tdef size information to the update_reference*()
     methods, and factored out offset adjustments into its own method
   o also make sure the passed size to update_reference*() corresponds to the
     actual size of the index, as it's no longer guaranteed to be ptruint
     since the previous commit

git-svn-id: trunk@29967 -
2015-02-23 22:56:00 +00:00