Commit Graph

40856 Commits

Author SHA1 Message Date
Jonas Maebe
da7a67bc74 + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we
use a single byte API for file system operations
  + FPCRTL_FILESYSTEM_TWO_BYTE_API define that is set for targets where we
    use a single byte API for file system operations
   o in principle, both can be set if both are supprted and implemented in
     the RTL in order to minimise conversions depending on the scenario

git-svn-id: branches/cpstrrtl@24991 -
2013-06-27 21:37:39 +00:00
Jonas Maebe
7659bfc01b - removed internal error if savesize of tfiledef is 0 when writing the def
to the ppu file, because it does not exist on the JVM platform and
    hence will be 0 (and on other platforms, you'll get a fatal error earlier
    in case the filerec type cannot be found) (originally added as part of
    r24957)

git-svn-id: branches/cpstrrtl@24990 -
2013-06-27 21:37:32 +00:00
Jonas Maebe
ba7fc58bed * declare tsyscharset as a set of ansichar instead of as a set of char
(widechar sets are not (yet?) supported)

git-svn-id: branches/cpstrrtl@24989 -
2013-06-27 21:37:29 +00:00
Jonas Maebe
4c7605d6bf * fixed duplicate StringToTB definition error in r22467; only kept the
new StringToTB implementation (rawbytestring), because it ensures we
    don't overflow the transfer buffer size

git-svn-id: branches/cpstrrtl@24988 -
2013-06-27 21:37:25 +00:00
Jonas Maebe
1e167a5fd3 * updated address of FSF (mantis #24646, patch by Alexey Svistunov)
git-svn-id: trunk@24987 -
2013-06-27 14:04:34 +00:00
Jonas Maebe
81597bf171 * updated address of FSF (mantis #24646, patch by Alexey Svistunov)
git-svn-id: trunk@24986 -
2013-06-27 14:01:18 +00:00
Jonas Maebe
345ca6f187 * prevent going through (the expensive) InternalSetCodePage when changing
the code page of a string with refcount=1 and without conversion (happens
    a lot in internal RTL routines)

git-svn-id: trunk@24985 -
2013-06-27 13:11:57 +00:00
pierre
277ae481b8 Add passing of -k option to linker for msdos and go32v2 targets
git-svn-id: trunk@24981 -
2013-06-26 22:27:16 +00:00
florian
b78d6108fd * workaround for 2.6.x to avoid overflow errors when compiled with -CRiot
git-svn-id: trunk@24980 -
2013-06-26 21:40:52 +00:00
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
Jonas Maebe
b0613d9ec5 * converted Windows FileCreate/FileOpen to use unicode interface instead of
ansistring

git-svn-id: branches/cpstrrtl@24969 -
2013-06-24 21:24:13 +00:00
Jonas Maebe
ff87431565 - removed "PathOnly" field from Unix TSearchRec (deprecated since 2.4.0, not
initialised or used on any target))

git-svn-id: branches/cpstrrtl@24968 -
2013-06-24 21:24:09 +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
Jonas Maebe
e65d01a717 * small optimisation for ToSingleByteFileSystemEncodedFileName(rawbytestring):
don't call SetCodePage() if the input already has the correct code page
    (SetCodePage would always make the string unique, which is not necessary)

git-svn-id: branches/cpstrrtl@24962 -
2013-06-24 09:40:06 +00:00
Jonas Maebe
980975ff85 * fixed fpc_UnicodeStr_SetLength for 2.6.x bootstrapping
git-svn-id: branches/cpstrrtl@24961 -
2013-06-24 09:40:03 +00:00
Jonas Maebe
3694b4f003 * moved ToSingleByteFileSystemEncodedFileName() to the system unit and
export it so it can be used in all rtl units

git-svn-id: branches/cpstrrtl@24960 -
2013-06-24 09:40:00 +00:00
Jonas Maebe
e6c812a60a * assume unicode in case of FPC_OS_UNICODE instead of only for WinCE
git-svn-id: branches/cpstrrtl@24959 -
2013-06-24 09:39:57 +00:00
Jonas Maebe
112fafc6fd + paramstr(longint):unicode string function in uuchar
* optimised objpas.paramstr (let the compiler convert the pchar to
    ansistring instead of using an unoptimised loop)

git-svn-id: branches/cpstrrtl@24958 -
2013-06-24 09:39:54 +00:00
Jonas Maebe
5a72bc3656 * export filerec/textrec from the system unit and use them in the compiler
to determine their size, rather than hardcoding the size for all possible
    configurations

git-svn-id: branches/cpstrrtl@24957 -
2013-06-24 09:39:50 +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
Jonas Maebe
eae1cd6cca * msdos target was added after the cpstrrtl branch was created; no special
defines

git-svn-id: branches/cpstrrtl@24914 -
2013-06-18 10:57:49 +00:00
Jonas Maebe
ecd3cba02b * synchronised with trunk up to r24912
o resolved conflict in updated morphos sysutils unit
   o moved code that had been added to the now deleted  sysunix.inc to the
     unix-specific block of the fpwidestring unit's init code

git-svn-id: branches/cpstrrtl@24913 -
2013-06-17 20:50:02 +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