Commit Graph

36176 Commits

Author SHA1 Message Date
joost
265f54b26b * Added ability to specify installation-destination path of
TPackage.InstallFiles
 * Added bininstalldir, prefix and unitinstalldir macro''s

git-svn-id: trunk@20669 -
2012-03-30 14:29:50 +00:00
Jonas Maebe
cbc30a68ae - removed solaris from the SqliteOSes, because ibconnection is not
compiled for that target (which is unrelated to SQLite, but that
    set is also used to determine whether or not to compile fbindexdb,
    which depends on that unit -- please fix the dependencies properly
    when adding new units)

git-svn-id: trunk@20668 -
2012-03-30 09:54:40 +00:00
Jonas Maebe
39242c2cfa - removed changes from r20660 (ARM hard float patch): ARM VFP regvars are
in LOC_CMMREGISTER, not in LOC_CFPUREGISTER (and they also are there in
    case the softfp calling convention is used), and this change broke SPARC

git-svn-id: trunk@20667 -
2012-03-30 09:52:36 +00:00
Jonas Maebe
e13f9b5a2b * only link libgcc for softfloat helpers on ARM if we are compiling for
softfloat

git-svn-id: trunk@20666 -
2012-03-29 20:54:56 +00:00
Jonas Maebe
2a8f624eb0 * fixed returning small but "non-simple" records on ARM platforms that use
the old APCS calling convention (such as iOS): they are returned by
    reference

git-svn-id: trunk@20665 -
2012-03-29 20:54:51 +00:00
Jonas Maebe
8525a30d9f * don't generate a classClass call for objc loadvmtaddrnodes generated
for inherited calls (that is only required when not using them for
    dispatch purposes, and calling an inherited method is obviously
    a dispatch situation)

git-svn-id: trunk@20664 -
2012-03-29 20:54:47 +00:00
Jonas Maebe
dabcfc2806 + LOC_(C)LOC_SUBSETREF/G support for tcg.a_loadmm_loc_reg()
git-svn-id: trunk@20663 -
2012-03-29 20:54:42 +00:00
Jonas Maebe
86265534d0 * fixed misplaced endif that caused the default target not be set when
(hypothetically) running the compiler on Darwin/ARM

git-svn-id: trunk@20662 -
2012-03-29 20:54:38 +00:00
Jonas Maebe
bba4b02eb2 * use r7 instead of r11 as frame pointer on Darwin/iOS, and make sure r7
always points to the previous r7 on the stack (with the saved return
    address coming right after it) so that the debugger and crashreporter
    can use it for backtraces as specified in the ABI
   o changed NR_FRAME_POINTER_REG and RS_FRAME_POINTER_REG from a symbolic
     into a typed constant, and added a new method to tprocinfo that can
     be used to initialze it (so it can be inited to r7/r11 depending on
     the target platform)
  * allow using r9 on Darwin, it was only used by the system on iOS up to
    2.x, which we no longer support
  * prefer using r9 and r12 before r4..r11 on Darwin, because they are
    volatile and hence do not have to be saved

git-svn-id: trunk@20661 -
2012-03-29 20:54:33 +00:00
Jonas Maebe
6ba8dc7146 + support for the ARM hard float EABI on Linux (patch by Peter Green):
o new eabihf (hard float) abi
   o vfpv3_d16 variant of VFP (default variant used by EABI assemblers: VFPv3
     with only 16 double registers instead of 32) and pass it to GNU as
   o make the odd numbered single precision floating point VFP registers
     available for explicit allocation for use by the calling convention
  * fixed copy/paste error in stdname of S30 register
  -> use -dFPC_ARMHF to create an ARM eabi hard float compiler
  (mantis #21554)

git-svn-id: trunk@20660 -
2012-03-29 20:50:09 +00:00
Jonas Maebe
670ee264de * fixed upper bound of several helper array types for set operations
(not really important, unless range checking would be enabled)

git-svn-id: trunk@20659 -
2012-03-29 20:34:56 +00:00
Jonas Maebe
431e494548 * removed "packed" from a few OS interface records
git-svn-id: trunk@20658 -
2012-03-29 20:32:42 +00:00
Jonas Maebe
a2de97f932 * fixed parameter types of pthread_mutex_destroy, pthread_mutex_lock and
pthread_mutex_unlock (ppthread_mutexattr_t -> ppthread_mutex_t)

git-svn-id: trunk@20657 -
2012-03-29 20:32:20 +00:00
marco
4f3f5b9374 * disable some dbtypes for win64 that have no know working clientlib,
patch by Reinier, Mantis #21579

git-svn-id: trunk@20656 -
2012-03-29 18:13:20 +00:00
marco
06688db698 * wvsprintf* to stdcall, mantis #21591
--This line, and those below, will be ignored--

M    win/wininc/unidef.inc
M    win/wininc/ascfun.inc
M    win/wininc/ascdef.inc
M    win/wininc/unifun.inc

git-svn-id: trunk@20655 -
2012-03-29 17:43:38 +00:00
marco
493064a241 * Patch from Ludo to preinitialize certain (var)parameters that are only
partially inited in some versions. (Endianess?) Mantis #21596

git-svn-id: trunk@20654 -
2012-03-29 17:39:43 +00:00
Jonas Maebe
d3004d2bf6 * use same defaults for iPhoneSimulator as for iOS (UTF-8 etc, newer
iPhoneSimulator platforms no longer inherit the Mac OS X settings)

git-svn-id: trunk@20653 -
2012-03-29 17:13:29 +00:00
Jonas Maebe
87f7d65650 * made several OS interfacing records non-packed, since they are not packed
in the system headers either

git-svn-id: trunk@20652 -
2012-03-29 17:10:13 +00:00
pierre
422c618109 Add missing .note.netbsd.ident section
git-svn-id: trunk@20651 -
2012-03-29 14:05:12 +00:00
pierre
4f752004c3 Adapt to OpenBSD
git-svn-id: trunk@20650 -
2012-03-29 12:54:39 +00:00
pierre
5262fbc77c * Add relocate_gdb_directory to avoid loading of main.o from libgdb.a
git-svn-id: trunk@20649 -
2012-03-29 12:54:09 +00:00
pierre
1c27730c8c * Give debug information once for each conditional directive
git-svn-id: trunk@20648 -
2012-03-28 14:09:04 +00:00
pierre
ff8e1afec1 Display source position with timestamps also
git-svn-id: trunk@20647 -
2012-03-28 14:08:01 +00:00
sergei
8b40abdd19 * fcl-fpcunit/src/testutils.pp, GetMethodList: avoid range errors at runtime if compiled with -Cr.
git-svn-id: trunk@20646 -
2012-03-28 10:55:17 +00:00
sergei
bab72f0025 * xmlread.pp, fixed skipping DTD in canonical mode: ReadTopLevel was not recurring, but exiting with undefined result (happened to be 'true' most of the time). This went unnoticed due to redundant check in TLoader.ParseContent.
git-svn-id: trunk@20645 -
2012-03-28 10:42:45 +00:00
pierre
0658a6ee88 * Move + after objfpc to use ansistrings
git-svn-id: trunk@20644 -
2012-03-28 08:10:46 +00:00
pierre
63f9d7bbed Update cprt0.as to 5.1 release
git-svn-id: trunk@20643 -
2012-03-27 15:39:30 +00:00
pierre
6edb8a286f Avoid SEGV in signal handler as second parameter is only a code, not a pointer
git-svn-id: trunk@20642 -
2012-03-27 15:34:00 +00:00
pierre
fdf0c4a644 Use new target specific option to avoid disabling of debug information generation for windows DLL
git-svn-id: trunk@20641 -
2012-03-27 14:27:17 +00:00
pierre
88b00552a2 + Add support for target specific options
example:  %OPT=-gl win32%-WN
    if % is found in OPT list, the string after % is only added
    to the compiler options if current target is
    contained in the list of the string before the % sign.
  + Add %DELOPT dotest option.
    can be used in two variants
    %DELOPT=-Crio
    will suppress -Criot from TEST_OPT if it appears exactly
    (-Criot will not match).
    %DELOPT=-C* will suppress all options starting with -C.

git-svn-id: trunk@20640 -
2012-03-27 14:26:24 +00:00
svenbarth
bf5695c455 Allow unsetting the option for C-operators (-Sc-).
git-svn-id: trunk@20639 -
2012-03-27 11:40:10 +00:00
sergei
804e9cd09d xmlread.pp:
* reduced duplication in entity handling code.
* fixed reported boundary locations for entities in content.

git-svn-id: trunk@20638 -
2012-03-27 08:13:20 +00:00
michael
4e923eca65 Patch from bug #17303:
- C char mapped to shortint instead of char
 - added comments to data types to be clear (32 vs. 64 bit env.)

git-svn-id: trunk@20637 -
2012-03-27 07:17:07 +00:00
pierre
0c144e8bbc Test fix for bug report 21566
git-svn-id: trunk@20636 -
2012-03-26 15:50:09 +00:00
pierre
7101151b5c Avoid internal error 2002042430 and check overloading before calling simplify method
git-svn-id: trunk@20635 -
2012-03-26 15:44:47 +00:00
marco
25e0f7c882 * committed fix from Mantis #21542
git-svn-id: trunk@20634 -
2012-03-26 08:14:35 +00:00
marco
1608b89bae * Patch from Mantis #19116, from Toru Takubo modified by Reinier for recent
changes.  Implements a check on blobsize to avoid reading beyond the
   length of a blob where isc_get_segment can segfault.

git-svn-id: trunk@20633 -
2012-03-26 08:05:19 +00:00
michael
fe7d7dacbd * Removed resourcestrings from mssql
git-svn-id: trunk@20632 -
2012-03-26 07:10:09 +00:00
svenbarth
c9ca2a6c0c Correct messages that should not have been changed (merge during update gone wrong). Resolves Mantis #21553
git-svn-id: trunk@20631 -
2012-03-25 19:33:26 +00:00
Jonas Maebe
26754a3f9f * fully compare typenodes and rttinodes in their docompare() methods
(mantis #21551)

git-svn-id: trunk@20630 -
2012-03-25 16:52:34 +00:00
svenbarth
bd19a16be9 Add support for Default() intrinsic. For now this is only (fully) supported
in code and not in constants. In the case of primitive types constant nodes
are used while complex types like arrays, records and objects use a local
variable which is initialized to zero once at the entry of the method (the
variable is reused if Default() is used for the same type multiple times in
the same method). For this a new compilerproc was added which uses FillChar
to initialize the given memory area to zero.
This fixes Mantis #9420.

+ psystem.pas: Added Default symbol to system unit
+ htypechk.pas: Added function "is_valid_for_default" which checks recursively
                whether the given type can be used with Default at all. 
                Forbidden types are files, helpers, ObjC and C++ types. This
                check is used for records, arrays and objects only if the mode
                is a non-Delphi one, as Delphi ignores these types on lower
                levels.
+ msg/errore.msg: Added error message for unsupported types for Default()
+ symconst.pas: Added a new enum value vo_is_default_var which is used for the
                local variables utilized by Default() so their initalization
                and finalization can be avoided.
+ pexpr.pas: Add handling of Default() intrinsic to "statement_syssym"
+ ninl.pas: Extended tinlinenode by a method which returns the correct node for
            a Default() and used that method in handle_typecheck.
* ncgutil.pas: Check for new flag "vo_is_default_var" when initializing and
               finalizing local variables.
* ppu.pas: increase PPU version
+ psub.pas: 
  * Added a new routine which zeros defaultvars of a symtable.
  * Use this routine inside "initializevars".
  * Also use this routine to initialize the staticsymtable of the unit/program.
* Adjusted ppudump, because of the new enum value.
+ Added implementation of fpc_zeromem to system unit.
+ Added tests for Default()

git-svn-id: trunk@20629 -
2012-03-25 16:02:27 +00:00
florian
a953b732d4 * update of project file
git-svn-id: trunk@20627 -
2012-03-25 14:23:57 +00:00
florian
f4af507321 * inline is only a hint to the compiler which might be ignored so throw only a hint and not a warning if subroutine cannot be inlined
git-svn-id: trunk@20626 -
2012-03-25 14:19:45 +00:00
Jonas Maebe
5a05542ddb * fixed dblib/fpmake.pp and fpindexer/fpmake.pp when they are included from
the top-level fpmake.pp
  * replaced commands to regenerate fpmake*.inc in top level fpmake.pp with
    ones that don't depend on GNU awk, and which automatically recognize
    nested fpmake files that contain their own add_XXX procedure and hence
    must not get a wrapper
  * regenerated fpmake*.inc so that fpindexer and opengles are now also
    built, and dblib/fpmake.pp does not get a wrapper

git-svn-id: trunk@20625 -
2012-03-25 14:09:04 +00:00
Jonas Maebe
c4c9661f84 * set "forcall" to true for the objc loadvmtaddrnodes generated as
self parameter for invoking inherited method calls (if you are in a
    category method or a method of a child class, the extended or parent
    class must have already been loaded by the run time, so we can
    directly load the ISA pointer rather than detouring via the "class"
    method)

git-svn-id: trunk@20624 -
2012-03-25 12:59:17 +00:00
Jonas Maebe
284210ad48 * hardcode offset of the ISA field in Objective-C (meta)classes to be
0, just like gcc/clang. This results in more efficient code on
    non-fragile ABI platforms and removes a dependency of the name
    of the isa field in header translations

git-svn-id: trunk@20623 -
2012-03-25 12:55:18 +00:00
Jonas Maebe
2e3605e999 * fixed tobjectdef.is_related() checks in case formal class definitions are
involved and the classes are not exactly equal (but one is a child of the
    other): we have to look up the real class definition first in those cases

git-svn-id: trunk@20622 -
2012-03-25 11:37:21 +00:00
joost
69ba57f4a7 * Added compilation of dblib, fixes compilation after r20618
git-svn-id: trunk@20621 -
2012-03-25 10:18:04 +00:00
florian
b01e6e1671 * remove duplicate types after r20603, resolves #21548
git-svn-id: trunk@20620 -
2012-03-25 09:34:28 +00:00
florian
ca90260855 + fix duplicate internal error, resolves #21545
git-svn-id: trunk@20619 -
2012-03-25 09:18:45 +00:00