Commit Graph

45638 Commits

Author SHA1 Message Date
florian
b07ba5786b * updated errord(u).msg files by Karl-Michael Schindler, resolves #27725
git-svn-id: trunk@30382 -
2015-03-29 20:02:06 +00:00
florian
873d88ba57 * fix 8 Bit*8 Bit multiplication according to #27737 using modified code supplied by Georg Hieber
git-svn-id: trunk@30381 -
2015-03-29 19:58:30 +00:00
florian
98856437b2 * disable fpc_chararray_enum for now on avr because the register allocator cannot currently handle it
git-svn-id: trunk@30380 -
2015-03-29 19:46:02 +00:00
florian
e4b8478da4 * fix building of avr-embedded rtl
* make 3.82 related fixes

git-svn-id: trunk@30379 -
2015-03-29 19:45:07 +00:00
florian
d0f4e7cc99 * respect feature defines
git-svn-id: trunk@30378 -
2015-03-29 19:43:25 +00:00
florian
5030ff05b5 * take care of feature defines
git-svn-id: trunk@30377 -
2015-03-29 19:35:42 +00:00
florian
0470cd2cb1 + CPU dependend string routine include files for AVR
git-svn-id: trunk@30376 -
2015-03-29 19:34:53 +00:00
michael
7ba2ce86cd * Fix visibility and deprecated warnings (patch from Luiz Americo (Bug ID 27110)
git-svn-id: trunk@30375 -
2015-03-29 19:32:51 +00:00
michael
c453e88272 * IdentifierByName made virtual (bug ID 27109)
git-svn-id: trunk@30374 -
2015-03-29 19:28:02 +00:00
Károly Balogh
72e1443081 + don't abuse status.currentsourcepath to pass on PPU names if the source is unavailable, causes side effects with other frontends (like the IDE). Improved solution for Mantis #27588
git-svn-id: trunk@30373 -
2015-03-29 19:05:19 +00:00
florian
ad995eb121 * use correctly CALL/RCALL and JMP/RJMP on avr, resolves #27738
git-svn-id: trunk@30372 -
2015-03-29 18:26:32 +00:00
Jonas Maebe
c32b6b01ad * make sure the calcparas() is called when calling getcopyas() on a
procvardef

git-svn-id: trunk@30371 -
2015-03-29 18:16:54 +00:00
Jonas Maebe
2112713579 * converted the remaining parts of tcginnode.pass_generate_code() to thlcg
git-svn-id: trunk@30370 -
2015-03-29 18:16:51 +00:00
Jonas Maebe
69e7b06cef * converted rest of VMT generation to high level typed const builder
git-svn-id: trunk@30369 -
2015-03-29 18:16:48 +00:00
michael
9bf410e6a0 * Fix bug ID #27617, heap messed up due to not resetting pointer
git-svn-id: trunk@30368 -
2015-03-29 15:54:49 +00:00
michael
910a88122f * Implemented TWriter.WriteSignature/TReader.ReadSignature (bug ID 27519)
git-svn-id: trunk@30367 -
2015-03-29 13:25:12 +00:00
michael
677fcac127 * Implemented dataset enumerator, suggestion by Sylvio Clecio and Laco (bug ID 27644)
git-svn-id: trunk@30366 -
2015-03-29 12:42:23 +00:00
michael
e2500d5a70 * Patch from Benito van der Zander to add extra constructor
git-svn-id: trunk@30365 -
2015-03-29 12:26:58 +00:00
Károly Balogh
6128007f83 amicommon: reindented dos/Create_Timer(), no functional changes
git-svn-id: trunk@30364 -
2015-03-29 11:09:37 +00:00
michael
3003368ef4 * Sparse and SkipAddressInfo
git-svn-id: trunk@30363 -
2015-03-29 10:28:16 +00:00
michael
1ca0b1c5a0 * Removed some superfluous code
git-svn-id: trunk@30362 -
2015-03-29 09:37:12 +00:00
michael
1720d05d44 * Use caller addr info wherever needed.
git-svn-id: trunk@30361 -
2015-03-29 09:32:29 +00:00
michael
e8da5e1170 * Future-proof CallerAddr
git-svn-id: trunk@30360 -
2015-03-29 08:40:04 +00:00
Károly Balogh
226c184d14 IDE: made FixFileName to actually fix and not break file names on Amiga-like systems
git-svn-id: trunk@30359 -
2015-03-29 02:02:35 +00:00
Károly Balogh
d7ffb52490 amicommon: define FPC_FEXPAND_DIRSEP_IS_UPDIR for Amiga-like systems. this seems to fix several FExpand weirdness on these systems (like the IDE not working properly on the root directory of a volume due to wrong paths)
git-svn-id: trunk@30358 -
2015-03-29 01:51:04 +00:00
nickysn
c28184b697 * fixed comparison of far procvars after the hlcgllvm branch merge
git-svn-id: trunk@30357 -
2015-03-29 00:56:43 +00:00
Károly Balogh
bbecfeed9e Amiga: manually semaphore-protect the heap Pool, because classic Amiga has no MEMF_SEM_PROTECTED
git-svn-id: trunk@30356 -
2015-03-29 00:18:19 +00:00
Károly Balogh
0bccf5f09f morphos: use MEMF_SEM_PROTECTED flag for semaphore protect our memory pool. this is required for the future threading (concurrent accesses to the same pool from separate threads).
git-svn-id: trunk@30355 -
2015-03-28 22:58:49 +00:00
nickysn
6b0a19c0ab * fixed getting the address of a far proc on i8086 after the hlcgllvm branch merge
git-svn-id: trunk@30354 -
2015-03-28 17:31:52 +00:00
nickysn
0162b199f7 * fixed the i8086 g_intf_wrapper after the hlcgllvm branch merge
git-svn-id: trunk@30353 -
2015-03-28 14:33:22 +00:00
nickysn
003b283e55 * fixed thlcgcpu.g_exception_reason_save_const always generating a 286+ push
instruction on i8086, regardless of current cpu level

git-svn-id: trunk@30352 -
2015-03-28 13:59:10 +00:00
Jonas Maebe
8558624641 * reintegrated hlcgllvm branch. Note that llvm support is NOT complete yet
and won't be for quite some time. This merge is mainly to get the
    high level typed constant builder into trunk, and to avoid conflicts
    when code is modified that was moved/refactored in the hlcgllvm branch

git-svn-id: trunk@30351 -
2015-03-28 13:09:36 +00:00
Jonas Maebe
a30f0bc289 * fixed -Oodfa warnings
git-svn-id: branches/hlcgllvm@30350 -
2015-03-28 12:28:21 +00:00
Jonas Maebe
201121d7c9 * synchronised with trunk till r30345
git-svn-id: branches/hlcgllvm@30349 -
2015-03-28 12:28:15 +00:00
Jonas Maebe
f631430775 * made the allocation of labels for internal data in typed const builders
overridable, and implement those routines for llvm

git-svn-id: branches/hlcgllvm@30348 -
2015-03-28 11:34:04 +00:00
Jonas Maebe
e12bd99b59 * fixed compilation with -dllvm after r30343
git-svn-id: branches/hlcgllvm@30347 -
2015-03-28 11:34:02 +00:00
Jonas Maebe
5a2609933f * fixed crash in r30244 (we only have to get a new elementdef if we didn't
already initialise the location, and we won't get a new elementdef if
    the location is already assigned)

git-svn-id: branches/hlcgllvm@30346 -
2015-03-28 11:33:59 +00:00
nickysn
131422b594 + added methods for calculating and verifying the omf record checksum and
properties for accessing it

git-svn-id: trunk@30345 -
2015-03-28 01:55:03 +00:00
nickysn
359eaa4152 + added class for encapsulating an omf raw record
git-svn-id: trunk@30344 -
2015-03-28 01:37:57 +00:00
Jonas Maebe
25e6eaf07f * store the to be used recordalignmin and maxcrecordalign settings inside
(abstract)recordsymtables, so that these settings don't depend on the
    current user settings when internally creating record definitions

git-svn-id: branches/hlcgllvm@30343 -
2015-03-27 21:25:56 +00:00
Jonas Maebe
419a97cce8 * changed emit_ansistring_const() and emit_unicodestring_const() into
instance methods that make use of the internal data builder
    functionality so they automatically place all string data in the
    same section if possible

git-svn-id: branches/hlcgllvm@30342 -
2015-03-27 21:25:53 +00:00
Jonas Maebe
6ed273eec5 * support specifying the name of an internal data section
git-svn-id: branches/hlcgllvm@30341 -
2015-03-27 21:25:50 +00:00
Jonas Maebe
a76aba4a20 * converted a number of string data generators to the internal data builder
functionality

git-svn-id: branches/hlcgllvm@30340 -
2015-03-27 21:25:47 +00:00
Jonas Maebe
158116392c + ttai_typedconstbuilder.start_internal_data_builder() and
ttai_typedconstbuilder.finish_internal_data_builder() to generate data
    will only be referenced by the typed const that we are currently
    generating. Takes care of creating an appropriate label/section for
    this data, avoiding needless global symbols and sections.

git-svn-id: branches/hlcgllvm@30339 -
2015-03-27 21:25:43 +00:00
Jonas Maebe
be2f63aa97 + tasmlabel.createstatic() constructor for creating static data labels
(object-local, but not starting with (.)L, so they're still treated as
    the start of a subsection by Darwin's linker when dead-stripping)
  + tasmdata.getstaticdatalabel() that uses the above

git-svn-id: branches/hlcgllvm@30338 -
2015-03-27 21:25:40 +00:00
Jonas Maebe
560fe24c44 + getlocaldatalabel()
git-svn-id: branches/hlcgllvm@30337 -
2015-03-27 21:25:37 +00:00
Jonas Maebe
687bb15299 * renamed getdatalabel() to getglobaldatalabel
git-svn-id: branches/hlcgllvm@30336 -
2015-03-27 21:25:34 +00:00
Jonas Maebe
5e1bb8e408 + tcalo_make_dead_strippable to indicate that a typed constant data block
should be dead-strippable; may imply the creation of a separate section
    (on platforms that dead-strip data based on sections), but does not
    require it
  * replaced all existing tcalo_new_section uses with
    tcalo_make_dead_strippable, as that is their meaning/purpose

git-svn-id: branches/hlcgllvm@30335 -
2015-03-27 21:25:30 +00:00
Jonas Maebe
e924dbed90 * moved the specification of the options for a ttai_typedconstbuilder from
get_final_asmlist() to the constructor, in preparation of supporting the
    creation of internal builders for local data that will ignore some of the
    irrelevant flags (at creation time)

git-svn-id: branches/hlcgllvm@30334 -
2015-03-27 21:25:27 +00:00
pierre
97b4a68e98 * Use C default packing for TStatFS type (fixes errors for x86_64 CPU)
git-svn-id: trunk@30333 -
2015-03-27 11:13:59 +00:00