Commit Graph

46406 Commits

Author SHA1 Message Date
marco
8d145ce706 * initialize secalign before case statement to avoid warning. Mantis #28326
git-svn-id: trunk@31145 -
2015-06-22 11:48:42 +00:00
Jonas Maebe
f402b0d7df * changed getpointerdef() into a tpointerdef.getreusable() class method
o allows removing the ugly x86 hacks

git-svn-id: trunk@31144 -
2015-06-22 08:17:49 +00:00
Károly Balogh
37af6b227d rtl-console/amicommon/video: instead of disabling it for AROS, decide runtime based on the allocated bitmap's attributes, which rendering mode to use
git-svn-id: trunk@31143 -
2015-06-22 00:37:54 +00:00
marcus
5f5b1ed607 rtl-console/amicommon: comment improvements in video unit
git-svn-id: trunk@31141 -
2015-06-21 18:20:33 +00:00
Károly Balogh
df0ac8cb02 powerpc: MorphOS recently started supporting the G5s, and it runs the G5s in non-G4-compatible mode much like Linux, therefore the DCBZ code seems to fail on them. So disable DCBZ usage for MorphOS as well.
git-svn-id: trunk@31132 -
2015-06-20 22:51:53 +00:00
marco
5f52ae8fbf * link to libc using initc instead of manual $linklib.
Allows to change name of libc library and $linklib in one place.

git-svn-id: trunk@31115 -
2015-06-18 09:04:28 +00:00
lacak
5e8d1078a7 fcl-db: sqlite: bind boolean parameters according to SQLite expectation:
"Boolean values are stored as integers 0 (false) and 1 (true)."
Until now True was stored as -1 instead of 1. (Reading is correct as "True" is "<>0").
This is potentialy breaking change, DO NOT BACKPORT IT!

git-svn-id: trunk@31086 -
2015-06-17 12:24:58 +00:00
Jonas Maebe
62784ef902 * copy the vmt_entry node in tcallnode.dogetcopy (mantis #28313)
o mention why it doesn't have to be compared in tcallnode.docompare

git-svn-id: trunk@31071 -
2015-06-16 21:24:55 +00:00
Jonas Maebe
d60f60154a * fixed the def used to load non-objc loadvmtaddr nodes (for llvm)
git-svn-id: trunk@31064 -
2015-06-13 22:48:48 +00:00
Jonas Maebe
3597e710b6 * fixed several VMT element types to correspond to the types used to
construct the VMT def in the VMT builder in r30950

git-svn-id: trunk@31063 -
2015-06-13 22:48:46 +00:00
Jonas Maebe
4c11d34169 * fixed loading the address of the string data of an ansi/unicodestring
constant in the llvm code generator (the constant is a record rather than
    a pointer to a record -> not indirect)

git-svn-id: trunk@31062 -
2015-06-13 22:48:43 +00:00
Jonas Maebe
b176ed9f80 * ensure that the llvmst is initialised before using a field's llvmfieldnr
(and at the same time take advantage of this to perform a sanity check)

git-svn-id: trunk@31061 -
2015-06-13 22:48:40 +00:00
Jonas Maebe
89c4bd8522 * index the llvm shadow symtable with a fieldvarsym rather than with the
index of the corresponding llvm fieldvar, as this index is a member
    of the fieldvarsym that only gets initialised once the llvm shadow
    symtable gets built, which in turn is triggered by trying to access
    it for the first time -> if fieldvarsym.llvmfieldnr got loaded by
    the compiler before evaluating the llvmst expression and if the
    llvmst hadn't been built yet, this llvmfieldnr was not yet initialized

git-svn-id: trunk@31060 -
2015-06-13 22:48:37 +00:00
Jonas Maebe
494206fd6a * use queue_is_active() method to determine whether the complex typed
expression queue is active rather than the existing ad hoc check,
    which failed when no item had been added to the queue yet

git-svn-id: trunk@31059 -
2015-06-13 22:48:34 +00:00
Jonas Maebe
8d0c5ecf5a * added protected queue_is_active() function to determine whether the
complex typed constant expressions queue is currently active

git-svn-id: trunk@31058 -
2015-06-13 22:48:31 +00:00
Jonas Maebe
bcd04953c2 * fixed open array constructors for llvm
git-svn-id: trunk@31057 -
2015-06-13 22:48:28 +00:00
Jonas Maebe
b9d4d9b141 * corrected type passed to a_bit_test_reg_loc_reg() (we force left into
a register of size opdef before)

git-svn-id: trunk@31056 -
2015-06-13 22:48:26 +00:00
Jonas Maebe
9175809d5d * use correct llvm type conversion operator when loading a "named register"
with a pointer value into an integer register or vice versa

git-svn-id: trunk@31055 -
2015-06-13 22:48:23 +00:00
Jonas Maebe
cf2e46c2c1 * reworked external symbol handling on llvm to deal with the fact that
a single external symbol may be used with multiple declarations that
    have different types:
   o always declare an alias with the Pascal-mangled name that aliases the
     external symbol, with the type of that Pascal declaration
   o if the external symbol is not actually external but in the same unit,
     we will determine the type of that symbol via its declaration and
     insert type conversions in the alias declarations in case they use a
     different type
   o if it is external (so there is no declaration from which we can determine
     its real type) and there are nevertheless multiple aliases for it with
     different types, we just take the type of the first alias and insert
     type conversions for the other aliases. LLVM will take care of the
     conflicting types in multiple modules when performing WPO if necessary

git-svn-id: trunk@31054 -
2015-06-13 22:48:20 +00:00
Jonas Maebe
b39bc5888a * moved the import name handling entirely to hlcgobj so it can be
overridden

git-svn-id: trunk@31053 -
2015-06-13 22:48:17 +00:00
Jonas Maebe
54dd25b448 * support llvm aliases for defs other than procdef
git-svn-id: trunk@31052 -
2015-06-13 22:48:14 +00:00
Jonas Maebe
4eea652576 * fixed writing non-default linkage and visibility of llvm alias declarations
git-svn-id: trunk@31051 -
2015-06-13 22:48:11 +00:00
Jonas Maebe
1019a6b090 * use the def of the paraloc rather than the parasym's vardef in
gen_load_para_value(), as this may be different depending on
    the calling conventions
  * adapt llvm's gen_load_cgpara_loc() to use this passed def rather
    than hardcoding the para's def (although these will normally match)

git-svn-id: trunk@31050 -
2015-06-13 22:48:08 +00:00
Jonas Maebe
b9c9422fa7 * fixed type of reference used to store an ansichar that was converted
inline to a shortstring

git-svn-id: trunk@31049 -
2015-06-13 22:48:05 +00:00
Jonas Maebe
2cdf969649 * don't define asmsymbols for weak external functions as local/global
git-svn-id: trunk@31048 -
2015-06-13 22:48:02 +00:00
Jonas Maebe
75a6ba4113 - removed symcpu dependencies
git-svn-id: trunk@31047 -
2015-06-13 22:47:59 +00:00
Jonas Maebe
ab0d445999 * fixed truncation errors for a*int/word in ppudump for architectures
> 32 bits

git-svn-id: trunk@31046 -
2015-06-13 22:47:56 +00:00
Jonas Maebe
acd88cac92 * fixed selection of startup code files for all iOS and simulator targets
o in particular fixes linking for the iPhoneSimulator 8.3 and later on
     i386

git-svn-id: trunk@31045 -
2015-06-13 22:47:53 +00:00
Jonas Maebe
8e406cc7bd * fixed bug in test exposed by r31038
git-svn-id: trunk@31044 -
2015-06-13 22:12:45 +00:00
Jonas Maebe
d57a85a2de * fixed compilation on non-Windows systems after r31035
git-svn-id: trunk@31043 -
2015-06-13 22:05:50 +00:00
Jonas Maebe
e54d0a41af * fixed ppoll for infinite timeouts (patch by Edmund Grimley Evans)
git-svn-id: trunk@31042 -
2015-06-13 21:02:02 +00:00
florian
ab43e07320 * reduce code size after r31031
git-svn-id: trunk@31041 -
2015-06-13 17:00:32 +00:00
florian
c0dd2047f9 * cosmetics, entries are now properly aligned
git-svn-id: trunk@31039 -
2015-06-13 16:55:36 +00:00
florian
919c539ff5 * better estimation of callparanode complexity
git-svn-id: trunk@31038 -
2015-06-13 16:50:55 +00:00
michael
d9fec2035a * Add some compiler intrinsics
git-svn-id: trunk@31037 -
2015-06-13 16:44:32 +00:00
michael
b9fa0d0934 * Mimic minfloat for fpdoc
git-svn-id: trunk@31036 -
2015-06-13 16:37:33 +00:00
michael
633c8c7118 * Make sure TSystemTime is seen by fpdoc
git-svn-id: trunk@31035 -
2015-06-13 16:36:37 +00:00
michael
bb7e0f645f * Fake some types when running under FPDOC
git-svn-id: trunk@31034 -
2015-06-13 16:23:56 +00:00
michael
ebf465a42b * Default intrinsic and some base types added
git-svn-id: trunk@31033 -
2015-06-13 16:16:14 +00:00
Jeppe Johansen
353682db67 Enable SUBARCH directive for avr-embedded target.
git-svn-id: trunk@31032 -
2015-06-13 12:40:31 +00:00
Jeppe Johansen
ab9c8bb569 Fixed startup assembler code for the case where there's no data in .bss and/or in .data.
Fixed _stack_top symbol calculation so it works for all controllers.
Added ATTINY2313 controller.

git-svn-id: trunk@31031 -
2015-06-13 12:30:50 +00:00
Jeppe Johansen
03880c2f74 Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
Fixed multiplication code generation for AVR controllers without mul instructions.
Added handling of the old interrupt procedure directive such that procedures with that use RETI instead of RET.

git-svn-id: trunk@31030 -
2015-06-13 12:25:11 +00:00
Jeppe Johansen
c5b24c5ce3 Changed cast to allow more loop iterations than the native bit-ness of the architecture.
git-svn-id: trunk@31029 -
2015-06-13 12:20:12 +00:00
svenbarth
b0fa341006 Fix for Mantis #28271.
rtl/objpas/classes/classes.inc:
  + new variable ExternalThreadsCleanup to keep track whether ExternalThreads list is currently cleared
  * TExternalThread.Create: add the thread instance to the external thread list
  * TExetrnalThread.Destroy: remove the thread instance from the external thread list (if not in system cleanup anyway)
  * CommonCleanup: set ExternalThreadsCleanup to true so that the threads don't remove themselves from the list anymore

+ added test

git-svn-id: trunk@31028 -
2015-06-12 13:39:31 +00:00
lacak
8214e72841 fcl-db: memds: implemented basic blob support. Blobs are allocated in memory only. Saving to stream/file is not supported yet. Bug #26476
git-svn-id: trunk@31027 -
2015-06-12 07:28:50 +00:00
michael
1ec8a3bde9 * Small corrections to previous patch from Denis Kozlov (bug ID 13518)
git-svn-id: trunk@31026 -
2015-06-12 07:17:37 +00:00
michael
a3e542eba4 * Patch for incomplete backtraces on error
git-svn-id: trunk@31025 -
2015-06-12 07:12:53 +00:00
lacak
b641ffa0e0 fcl-db: base: declare procedure DatabaseErrorFmt with parameter Args as Const Args: array of const. Fixes memleak in 2.6 and also makes procedure signature Delphi compatible.
git-svn-id: trunk@31024 -
2015-06-11 11:53:44 +00:00
michael
9dcfdb24bf * Additional fix for bug ID #28237
git-svn-id: trunk@31023 -
2015-06-11 06:32:04 +00:00
michael
b36386baf0 * TStreamReader (TTextReader) implementation by Sylvio Clecio (bug ID 28075)
git-svn-id: trunk@31022 -
2015-06-10 21:38:55 +00:00