marco
56e9f9301c
* First set of patches for making mergable CHM files, committed after a point with 0 regressions.
...
* IDXHDR internal file added.
* better defaults for [Windows] lines.
* Avoid duplication topic if both in index and separately in hhp. Size reduction for many hhp scenarios, no difference for fpdoc
* System section 13 (copy of idxhdr)
* index/toc files registered as topic type 2. (incontents field)
* duplicate code for creating topics cleaned up, all now use addtopic
* correct number of topics in system file.
* some bugfixes in binary index.
* some more global properties supported in sitemaps.
* many extra (dumping) options for chmls tool.
git-svn-id: trunk@24979 -
2013-06-26 14:31:30 +00:00
sergei
87cfd86172
* Define SUPPORT_GET_FRAME for targets having "get_frame" as internal symbol (x86,arm and jvm, currently), removes need to enumerate these targets in every related conditional compilation directive and simplifies configuring this feature for other targets.
...
git-svn-id: trunk@24978 -
2013-06-26 11:03:24 +00:00
nickysn
f7d3f7cd33
* use create_nil_dataptr instead of create_sym(nil) in TRTTIWriter.write_rtti_reference; among other things, this fixes writeln(enum) in the i8086 medium memory model
...
git-svn-id: trunk@24977 -
2013-06-25 21:02:55 +00:00
nickysn
784333edbb
+ added tai_const.Create_nil_codeptr and .Create_nil_dataptr, which should eventually replace tai_const.Create_sym(nil)
...
git-svn-id: trunk@24976 -
2013-06-25 20:57:12 +00:00
florian
844806cb19
* renamed parameter bp (x86 ism) into fp for dump_stack
...
* more sanity checks if fp really points into the stack
git-svn-id: trunk@24975 -
2013-06-25 19:46:08 +00:00
florian
f50e25afa0
* tests built/updated using gcc 4.8.1
...
git-svn-id: trunk@24974 -
2013-06-25 18:58:06 +00:00
nickysn
6c1262049e
* tai_const.Create_sym_offset: follow the default i8086 data (instead of code) pointer size for asm symbols with typ=AT_DATA
...
git-svn-id: trunk@24973 -
2013-06-25 15:12:00 +00:00
marco
eebfeca41d
* removed all ver2_* defines older than 2_4. 2_4 can probably also get removed from trunk, but better in a separate commit.
...
git-svn-id: trunk@24971 -
2013-06-25 12:46:30 +00:00
sergei
89c9cdf6c4
+ MIPS: implemented parameter location reusing, eliminating second copy of (potentially large) records passed by value. When parameter is passed both in registers and stack, let it have a single LOC_REFERENCE location on callee side, and store relevant registers on stack (into 16-byte area reserved by ABI) early in prologue.
...
git-svn-id: trunk@24970 -
2013-06-25 08:15:17 +00:00
florian
466eb4c684
* use MOVAPS/MOVAPD for reg -> reg moves to reduce data dependencies
...
git-svn-id: trunk@24967 -
2013-06-24 20:55:04 +00:00
florian
e44d33f4db
* rebuild with gcc 4.7.2, tcalext6 still fails because struct struct1 (one single value) is still returned on the fpu stack by gcc, this is not abi compliant on windows
...
git-svn-id: trunk@24966 -
2013-06-24 20:53:52 +00:00
pierre
91821acfc6
Use new conditional CPUSMALL and define it for m68k and 8086 cpu to use small array size
...
git-svn-id: trunk@24964 -
2013-06-24 15:40:08 +00:00
sergei
1419a12865
- Removed MIPS-specific code which has been copied to TMIPSProcinfo.set_first_temp_offset in r23885.
...
git-svn-id: trunk@24963 -
2013-06-24 12:02:17 +00:00
florian
19495439b1
* do not destroy the left operand in second_ansistring_to_pchar if it is a register
...
git-svn-id: trunk@24954 -
2013-06-23 15:16:33 +00:00
florian
541d67771b
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
...
e.g. being a const parameter or immutable temp. values), managed types like dyn. arrays, new string types and interfaces can be kept in registers.
git-svn-id: trunk@24953 -
2013-06-23 15:16:30 +00:00
nickysn
58b22adaf1
+ added function cpubase.segment_regs_equal, which checks whether 2 segment regs are equal in the current memory model
...
git-svn-id: trunk@24949 -
2013-06-23 11:27:00 +00:00
paul
5a6b6d2c4d
rtl: fix loading of long integer values to float properties
...
git-svn-id: trunk@24947 -
2013-06-23 11:18:25 +00:00
marco
72b0e72580
* added a fix for crashes on very short fpdoc projects. x.y.z.count was examined without checking x,y and z existed.
...
Fixes Mantis #24579
git-svn-id: trunk@24943 -
2013-06-23 09:10:15 +00:00
florian
00b03de7f0
* split SetCodePage into a wrapper and a function doing the real work to get rid of exception frames in the simple case
...
git-svn-id: trunk@24942 -
2013-06-22 18:19:50 +00:00
michael
2b6f33711b
* Patch from Ludo Brands to implement InstanceName (Bug ID 24635)
...
git-svn-id: trunk@24932 -
2013-06-22 13:50:44 +00:00
sergei
4a9fe5d07d
* Fixed register live range in for-loops:
...
o Loop counter node is "left", not "right",
o End-value register needs explicit sync.
Without these changes, allocating registers in hlcg.a_cmp_reg_loc_label (at the end of loop) could reuse counter or end-value register, resulting in invalid code.
git-svn-id: trunk@24924 -
2013-06-21 15:26:14 +00:00
marco
ac3815fd84
* hopefully final series of tchar elimination.
...
git-svn-id: trunk@24923 -
2013-06-21 13:55:54 +00:00
marco
d7f3ab848b
* fixed some more tchar cases into a proper ifdef unicode -W else -A structure.
...
git-svn-id: trunk@24922 -
2013-06-21 13:11:43 +00:00
marco
993bc2511f
* Patch from Ocean, Mantis #24625 adding ISimpleFrameSite,IFont,IFontDisp,IPictureDisp
...
git-svn-id: trunk@24920 -
2013-06-21 10:23:13 +00:00
michael
2842b90e1c
* Patch from Laco to define SQL_IDENTIFIER_CASE
...
git-svn-id: trunk@24919 -
2013-06-21 09:23:40 +00:00
sergei
456f991c51
* MIPS: 3-operand forms of DIV and DIVU are not macros if first operand is $zero.
...
git-svn-id: trunk@24918 -
2013-06-20 13:14:38 +00:00
pierre
6e9489c41e
Add annotate_displaty_prompt added before GDB 7.6 release
...
git-svn-id: trunk@24917 -
2013-06-19 13:45:27 +00:00
pierre
59d29b6c91
+ Handler -dynamic-linker correctly, i.e.
...
skip next argument.
+ Add all library paths as $LIBRARYPATH and $OBJECTPATH
at the end of gdblib.inc to be able to parse it
directly in main fp.pas IDE program source
(This solves the warning about crtbegin.o not found,
at least for sparc-linux machine).
git-svn-id: trunk@24916 -
2013-06-19 10:48:31 +00:00
florian
9c1a4e2217
o error message file update by Karl-Michael Schindler:
...
* updated german ones
* small mistake in english one corrected
git-svn-id: trunk@24915 -
2013-06-18 18:31:24 +00:00
pierre
91bc424694
Fix bug report 24612:
...
hermes package has compile error with introduced at r24910.
Solved by checking that the procdef is not declared forward.
git-svn-id: trunk@24912 -
2013-06-17 15:21:07 +00:00
pierre
4892461009
Fix error in script about check if C compiler is GNU
...
git-svn-id: trunk@24911 -
2013-06-17 08:18:30 +00:00
florian
37df6f6455
* nostackframe now results in an error if used on pascal subroutines
...
git-svn-id: trunk@24910 -
2013-06-16 18:59:03 +00:00
florian
fc72490166
* handle LOC_*FPUREGISTER correctly when using sse2 sqr, resolve #26408
...
git-svn-id: trunk@24909 -
2013-06-16 18:48:08 +00:00
mazen
9c4052b505
+ Added a new directive, CFGDIR, to configuration file allowing user to add a directory to a list where included configuration files are searched.
...
git-svn-id: trunk@24908 -
2013-06-16 15:43:10 +00:00
florian
9b6094a58c
+ added a few BMI instructions to see if they can be encoded
...
git-svn-id: trunk@24907 -
2013-06-16 09:35:21 +00:00
florian
0a84f1f10c
+ avx uses add to multiply by 2
...
* formatting
git-svn-id: trunk@24906 -
2013-06-15 21:18:40 +00:00
michael
7e72f856ce
* Fix for bug ID #24603 (initialize result of TJSONObject.DoFormatJSON)
...
git-svn-id: trunk@24905 -
2013-06-15 16:14:35 +00:00
sergei
121271c38f
* MIPS case node: simplified code a bit.
...
* Moved jump tables into data segment. For disassembly-based stack unwinding to work properly, MIPS ABI expects text segment to contain instructions only.
git-svn-id: trunk@24904 -
2013-06-15 12:36:21 +00:00
sergei
5bcae5a80a
- Removed TMIPSParaManager.getintparaloc method, its generic implementation from r24716 works without issues.
...
git-svn-id: trunk@24903 -
2013-06-15 12:24:19 +00:00
nickysn
e291805880
* i8086 compilation fixed after r24896
...
git-svn-id: trunk@24902 -
2013-06-15 10:33:18 +00:00
sergei
a4217da7df
* Factored repeating code into separate procedure (IsJumpToLabel)
...
- Assigned(x) check before "x is y" is redundant because "is" operator does the same check.
git-svn-id: trunk@24901 -
2013-06-15 07:02:47 +00:00
sergei
8b8553991a
+ MIPS: prevent coalescing written-to registers with $sp,$fp,$zero and $at.
...
+ Implemented subset of "spill replace" functionality, replacing moves from/to spilled registers with loads/stores to spill locations. This helps to reduce amount of instructions.
git-svn-id: trunk@24900 -
2013-06-15 04:04:08 +00:00
florian
0af7a6f92c
+ has_life_info
...
* successor info for for nodes fixed
git-svn-id: trunk@24899 -
2013-06-14 20:52:40 +00:00
florian
3016d48521
* clear optinfo after allocating it
...
git-svn-id: trunk@24898 -
2013-06-14 20:52:38 +00:00
florian
d8ff85846f
* don't reuse mm registers used by child nodes
...
git-svn-id: trunk@24897 -
2013-06-14 20:52:36 +00:00
florian
e81d2d1f3b
* basic avx support for floating point operations (use -Cfavx to activate)
...
git-svn-id: trunk@24896 -
2013-06-14 20:03:01 +00:00
sergei
6a8e4f0381
* MIPS: generate real instructions, not macros, for comparisons with $zero.
...
* g_concatcopy, g_concatcopy_unaligned: call a_cmp_reg_reg_label instead of duplicating code.
git-svn-id: trunk@24895 -
2013-06-14 07:27:48 +00:00
sergei
fb88cc4257
* TCGMIPS.a_load_reg_reg: reduce code duplication, and don't generate same register move for OS_32->OS_S32 and vice versa. Such moves explode into at least 4 instructions if register needs spilling, after which they are no longer recognized and cannot be removed by reg.allocator. So it's much better not to generate them in first place.
...
* Implemented overflow checking for multiplication, no longer generate MULO and MULOU macros.
git-svn-id: trunk@24894 -
2013-06-14 00:12:17 +00:00
sergei
7e0ae2e984
* MIPS: fixed cgsize2subreg to return correct result for float registers.
...
- TCGMIPS.getfpuregister override is no longer necessary with the above fix.
git-svn-id: trunk@24893 -
2013-06-13 23:50:20 +00:00
svenbarth
b6bfa864d4
Disallow the usage of the inline assembler inside generics, because there are currently two problems:
...
1. At least on x86 the assembler reader initializes the parameter location informations which results in InternalError 200301231
2. Assembler tokens are not stored in the token stream and thus won't be reproduced during specialization
x86/rax86int.pas, tx86intreader.Assemble:
* check for "parse_generic" before calling generate_parameter_info
pstatmnt.pas, assembler_block & statement:
* generate an error message if an asm statement should be parsed inside a generic
+ added test
git-svn-id: trunk@24892 -
2013-06-13 19:42:49 +00:00