Commit Graph

34349 Commits

Author SHA1 Message Date
pierre
af098d08d5 * Avoid pointer to signed integer warning
git-svn-id: trunk@17895 -
2011-07-01 11:55:05 +00:00
pierre
37b98917e0 * Handle invalid register correctly
git-svn-id: trunk@17894 -
2011-07-01 11:52:37 +00:00
pierre
bffd571f9d * win/sysos.inc: TTlsDirectory, new record type
Used to support TlsCallbacks.

    Tls callback code added inside
    ifdef FPC_USE_TLS_DIRECTORY.
    NOTE: This code needs compiler changes also to work.

  * win/systhread.inc:
    Exec_Tls_callback: Callback for main executable.
    Several new external variables:
    FreePascal_TLS_callback, FreePascal_end_of_TLS_callback
    need to be placed into .CRT$XL* section,
    using  name '.section .CRT$XLFPC __FPC_tls_callbacks'
    extension to be provided by compiler change.
    tls_callbacks : pointer; external name '___crt_xl_start__';
    tls_data_start : pointer; external name '___tls_start__';
    tls_data_end : pointer; external name '___tls_end__';
    provided by linker script.
    tls_index : DWord that will contain the automatic
    TlsIndex generated by executable launch code (not used by
    FPC code, but might be used by code from loaded objects).
    _tls_used: TTlsdirectory record.

  * win32/system.pp and win64/system.pp:
    Code to force loading of _tls_used record.

git-svn-id: trunk@17893 -
2011-07-01 10:40:35 +00:00
pierre
128e2e9cc5 *Dll_entry: Call SysInitMultiThreading to allocate TlsKey if not yet done
git-svn-id: trunk@17892 -
2011-07-01 10:08:40 +00:00
pierre
1339c66ec9 * SysAllocateThreadVars: Make sure the data slot is only allocated once
git-svn-id: trunk@17891 -
2011-07-01 10:07:38 +00:00
pierre
04d85d32d9 * Disable inline for FPC_HEAPTRC_EXTRA to facilitate cdebugging with GDB
git-svn-id: trunk@17890 -
2011-07-01 07:50:51 +00:00
pierre
3cc2b5e97b + Added default dynamic linker for mips CPU
git-svn-id: trunk@17889 -
2011-07-01 07:37:05 +00:00
tom_at_work
619afa83ad Use NOCPUDEF for all ppu* compilations
git-svn-id: trunk@17888 -
2011-07-01 07:30:16 +00:00
florian
570f3c4b39 * merges recent class helper fixes by Sven Barth
git-svn-id: trunk@17887 -
2011-06-30 18:54:46 +00:00
Jonas Maebe
c5dfa9d354 * fixed fpc_shortstr_concat() in case the max length for the destination is
already smaller than the length of the first string (probably cannot
    happen currently, but may be in the future as a result of optimizations)

git-svn-id: trunk@17886 -
2011-06-30 15:48:52 +00:00
pierre
72f2d37bac Correct last wrong commit.
+ Use Get_Frame function instead of assmebler code.
  + Add a check for FPU stack on i386.

git-svn-id: trunk@17885 -
2011-06-30 14:48:20 +00:00
pierre
e98c62cb68 * Also check that there is no FPU stack overrun on i386 CPU
git-svn-id: trunk@17884 -
2011-06-30 14:12:21 +00:00
pierre
2909e43043 * Make TAICPU class child of TAI_CPU_ABSTRACT_SYM instead of TAI_CPU_ABSTRACT
git-svn-id: trunk@17883 -
2011-06-30 13:19:48 +00:00
pierre
f328836cad + Add checks for internal linker script
git-svn-id: trunk@17882 -
2011-06-30 13:16:04 +00:00
pierre
0227fbad7d * Fix some internal linker script lines
git-svn-id: trunk@17881 -
2011-06-30 13:02:31 +00:00
Jonas Maebe
b2c8088d1c * don't use assembler stack checking code if FPC_PIC is defined, because the
assembler code is not pic-safe

git-svn-id: trunk@17880 -
2011-06-29 20:41:58 +00:00
pierre
63f38e6c03 * Fix make_dllmangledname: Use computed dllprefix instead of dllname
git-svn-id: trunk@17879 -
2011-06-29 20:34:40 +00:00
pierre
547b6bbecb * Add stack checking to test
git-svn-id: trunk@17878 -
2011-06-29 20:25:51 +00:00
joost
1cb1f2d872 * Forgot to commit Makefile in r17874
git-svn-id: trunk@17875 -
2011-06-29 16:49:59 +00:00
joost
fd807dd2a3 * do not use double quotes in options, win98 can not handle them
git-svn-id: trunk@17874 -
2011-06-29 16:48:27 +00:00
pierre
61df26bf0c * Avoid string constants array elements longer than type
git-svn-id: trunk@17873 -
2011-06-29 15:07:08 +00:00
pierre
32d919f543 Use ptruint type in typecast to avoid warning
git-svn-id: trunk@17872 -
2011-06-29 15:05:30 +00:00
pierre
4d50a95320 Use FPC_HAS_SYSTEMS_INTERRUPT_TABLE conditional
undefined for now as long as
  systems_interrupt_table set
  defined in systems unit is empty.
  This removes several warnings from compiler compilation.

git-svn-id: trunk@17871 -
2011-06-29 15:03:55 +00:00
pierre
75dde8ab46 * Restrict test to interactive
git-svn-id: trunk@17870 -
2011-06-29 14:38:54 +00:00
pierre
29ca78c6e3 * Check that two $WARN are OK
git-svn-id: trunk@17869 -
2011-06-29 14:31:10 +00:00
pierre
9ec1213be1 * Reorganize code to avoid warnings about unreachable code
git-svn-id: trunk@17868 -
2011-06-29 09:59:06 +00:00
pierre
5148cb6ca8 * make sure pmessage field is aligned
git-svn-id: trunk@17867 -
2011-06-29 09:57:32 +00:00
pierre
1a262bee80 * $WARN $PUSH/$POP support
git-svn-id: trunk@17866 -
2011-06-29 09:57:02 +00:00
pierre
ffbf1a7331 * Avoid pointer typecast warning
git-svn-id: trunk@17865 -
2011-06-29 09:54:46 +00:00
pierre
d707d38ea1 * Fix double WARN infinite loop
git-svn-id: trunk@17864 -
2011-06-29 09:52:03 +00:00
pierre
a347381066 * Allow direct executable rule by adding $(COMPILER_UNITTARGETDIR) and $(COMPILER_TARGETDIR) dependencies
git-svn-id: trunk@17863 -
2011-06-29 07:05:27 +00:00
pierre
446c128e71 * Double LONG (-1) and LONG (0) for x86_64 linker script
git-svn-id: trunk@17862 -
2011-06-28 20:41:05 +00:00
pierre
c07bcefb6b * Fix anumval wrong overwriting as found out by Sergey
git-svn-id: trunk@17861 -
2011-06-28 20:39:53 +00:00
marco
4f12937bb3 * small checks added to avoid accessing potentially unalloced mem.
git-svn-id: trunk@17860 -
2011-06-28 20:34:33 +00:00
marco
765a792599 * another fix for custcgi, bug #19646, hopefully fixes wince building
git-svn-id: trunk@17858 -
2011-06-28 18:59:20 +00:00
florian
01e9eacf5c * merge changes committed to the wrong branch
git-svn-id: trunk@17857 -
2011-06-28 18:23:02 +00:00
sekelsenmat
e050c87391 fpvectorial: Vast improvements to the PostScript interpreter, fixes running procedures
git-svn-id: trunk@17856 -
2011-06-28 15:55:35 +00:00
marco
d9a8a029c9 * changed windows pipe implementation to win32/win64 only. Wince status now unsure, but at least compiling.
Mantis #17646

git-svn-id: trunk@17854 -
2011-06-28 11:31:49 +00:00
pierre
b78e0db500 + Also look for gdb if gdbpas is not found.
+ AdaptToGDB procedure to convert filenames with dirtectories
  to the format GDB expects.

git-svn-id: trunk@17853 -
2011-06-28 10:12:19 +00:00
pierre
d09389ac79 Implement support for $WARN XXX ON/OFF/ERROR
* globtype.pas:
  tmsgstate updated (ms_on/off/error_global variants added).
  ms_local_mask, ms_global_mask : new constants.
  tmessagestaterecord: new record, use to list chains
  of local changes to warnings by $WARN directive.
  pmessagestaterecord: new pointer to tmessagestaterecord.

  * globals.pas:
    tsettings record:
    new field: pmessage of type pmessagestaterecord;

  * cmsgs.pas:
  TMessage class:
  New method: ResetStates; Called on unit parsing changes
  New Method: SetVerbosity(nr:longint;newstate:tmsgstate):boolean;
  Remember global state in
  replacing ClearVerbosity method.
  New boolean field:  has_local_changes
  set if a call to SetVerbosity makes a local change that must be
  reset when changing unit.

  * verbose.pas:
  New functions/procedures:
  function  SetMessageVerbosity(v:longint;state:tmsgstate):boolean;
  for changes caused by $WARN or option
  procedure RestoreLocalVerbosity(pstate : pmessagestaterecord);
  procedure FreeLocalVerbosity(var fstate : pmessagestaterecord);
  function ChangeMessageVerbosity(s: string; var i: integer;state:tmsgstate): boolean;

  * switches.pas:
  Implement recordpendingmessagestate
  flushpendingswitchesstate: Handle new pmessage field of
  current_settings record.

  * parser.pas:
  Handle pmessage field of current_settings.

  * scandir.pas:

  Handle also integer constants in $WARN.

git-svn-id: trunk@17852 -
2011-06-28 10:03:07 +00:00
pierre
3fd3cc8099 * Avoid warning for i386 cpu
git-svn-id: trunk@17851 -
2011-06-28 08:02:35 +00:00
pierre
47ff755068 symdef.pas New make_dllmangledname function
used both in pdecvar and pdecsub units to generate a mangled name
  for externals imported from a dynamic library.

git-svn-id: trunk@17850 -
2011-06-28 05:38:05 +00:00
michael
2a3180c3d1 * Fix for non-i386 platforms
git-svn-id: trunk@17849 -
2011-06-27 21:50:05 +00:00
pierre
311d99b416 Avoid line > 255 chars and range check error on THandle type
git-svn-id: trunk@17848 -
2011-06-27 20:58:02 +00:00
florian
26850e3425 * fix full cycle after adding new boolean types
git-svn-id: branches/pasboolxx@17847 -
2011-06-27 20:11:08 +00:00
florian
3938f5e0b9 + merge support for boolean16, boolean32 and boolean64 into trunk
git-svn-id: trunk@17846 -
2011-06-27 19:21:07 +00:00
michael
0d14fc2851 * Second patch from Mattias Gaertner (bug 19623, should fix 19633 as well)
git-svn-id: trunk@17845 -
2011-06-27 18:34:25 +00:00
pierre
548ee755b1 * Use crc for special dllnames in proc_get_importname
git-svn-id: trunk@17844 -
2011-06-27 16:23:33 +00:00
Legolas
2503ac1d97 * Updated nds to devkitARM r33
git-svn-id: trunk@17843 -
2011-06-27 12:22:46 +00:00
michael
b98270d27c * Undo 17822 - causes resource compilation errors in lazarus
git-svn-id: trunk@17842 -
2011-06-27 08:18:30 +00:00