Commit History

Autor SHA1 Mensaxe Data
  florian ab3f5744e0 * skip dec/inc type checking in unspecialized generic methods, resolves #25603 %!s(int64=11) %!d(string=hai) anos
  florian e841027a48 * fixes handling of typed files in iso mode %!s(int64=11) %!d(string=hai) anos
  nickysn e1332304ef * when converting Hi() to a shr node, convert the right shr const parameter to %!s(int64=11) %!d(string=hai) anos
  Jonas Maebe d2b8275b99 + support for arbitrary encodings in readstr/writestr %!s(int64=11) %!d(string=hai) anos
  sergei 8ecad469a6 * Reverted r26256 since it produced wrong results if argument of inc/dec is actually unaligned. Added description of the issue and slightly increased node complexity at which address is cached, so operations on record/class fields do not take address. %!s(int64=11) %!d(string=hai) anos
  sergei b376f56bf3 * Use typed pointer to store address of x when processing inc(x)/dec(x) with range checking enabled. This preserves alignment of x and prevents generating unaligned code on alignment-sensitive targets. %!s(int64=11) %!d(string=hai) anos
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables %!s(int64=11) %!d(string=hai) anos
  florian 412dc6586f * the writestr helper initializes the target string, so mark it as being written %!s(int64=11) %!d(string=hai) anos
  sergei 9ad98a2c4d * Handle "SarInt64" always as internal procedure, introduced virtual method tinlinenode.first_sar that by default converts it into call to "fpc_sarint64" unless target CPU is 64-bit. This provides a point to insert target-specific optimizations. %!s(int64=11) %!d(string=hai) anos
  sergei dac8cbcefc * Handle assigned(x) expressions entirely in first pass by converting them to "x<>nil", indicate that procedure variables should not be called by setting nf_load_procvar flag (which is already used with typeconvnode for exactly the same purpose). This allows to generate better code when assigned(x) is used on right side of assigments. Mantis #24572. %!s(int64=12) %!d(string=hai) anos
  florian a2a405581c * don't call the ansistring val variant for a zero based array if not necessary to avoid ansistring usage in embedded applications %!s(int64=12) %!d(string=hai) anos
  masta b81f746e05 Inline Length(DynamicArray) %!s(int64=12) %!d(string=hai) anos
  Jonas Maebe fb8fb29574 * record/use the code page of string constants typecasted to an ansistring %!s(int64=12) %!d(string=hai) anos
  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. %!s(int64=12) %!d(string=hai) anos
  sergei cc8772cf92 * sizeof(x), typeof(x): if "x" is typenode, request GOT for PIC because a global VMT label will be loaded. %!s(int64=12) %!d(string=hai) anos
  florian 0968d095ed * convert function like used new into a appropriate nodes only in pass_1 so proper error checking can be carried out, resolves #24495 %!s(int64=12) %!d(string=hai) anos
  nickysn a86cb5c600 + far pointer fixes in the internal compiler handling of ptr(const,const) %!s(int64=12) %!d(string=hai) anos
  nickysn b0f7786782 + added support for special versions of near data pointers associated with a x86 segment register. They are supported on all x86 platforms: i8086, i386 and x86_64 %!s(int64=12) %!d(string=hai) anos
  florian 0e41df598e * merge i8086 branch by Nikolay Nikolov %!s(int64=12) %!d(string=hai) anos
  nickysn 3c6df5bedc * use is_nativeuint() in ninl.get_str_int_func(), instead of the ifdef sequence %!s(int64=12) %!d(string=hai) anos
  nickysn 526c3b9c9b * val, str and read/write(ln) now use is_oversizedint/ord to determine which helper function to use; this also clears the warnings that prevented compilation of the 64-bit targets %!s(int64=12) %!d(string=hai) anos
  nickysn 91038d6d0a * prevent compilation warning due to function result not being set in tinlinenode.first_seg %!s(int64=12) %!d(string=hai) anos
  nickysn be761ba232 * sequences that check for cpu64bitaddr made to also check for cpu32bitaddr instead of cpu32bitalu. this fixes ppcjvm compilation %!s(int64=12) %!d(string=hai) anos
  nickysn 917a1eb0f2 * the default Seg() handling moved to virtual methods, so that they can be overriden in the i8086 code generator %!s(int64=12) %!d(string=hai) anos
  nickysn 615d6e4a51 * internal compiler handling of Val() fixed for 16/8-bit CPUs %!s(int64=12) %!d(string=hai) anos
  nickysn 53ad3fc662 + Str() handling in the compiler fixed for 16/8-bit CPU support %!s(int64=12) %!d(string=hai) anos
  nickysn 8fa9105151 + 16-bit and 8-bit CPU support added in the internal handling of read/readln/write/writeln %!s(int64=12) %!d(string=hai) anos
  Jonas Maebe e1e11f81e3 * fixed using readstr/writestr inside routines called from the parameter %!s(int64=12) %!d(string=hai) anos
  florian d5985b4f0e * patch by Christophe Staïesse to implement more ISO-like read behaviour in iso mode, resolves #24060 %!s(int64=12) %!d(string=hai) anos
  nickysn 573ea10ef3 * fixed val when the 'code' parameter is the same size as the native CPU int type, but unsigned %!s(int64=12) %!d(string=hai) anos