Commit History

Author SHA1 Message Date
  nickysn e1332304ef * when converting Hi() to a shr node, convert the right shr const parameter to 11 years ago
  Jonas Maebe d2b8275b99 + support for arbitrary encodings in readstr/writestr 11 years ago
  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. 11 years ago
  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. 11 years ago
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 years ago
  florian 412dc6586f * the writestr helper initializes the target string, so mark it as being written 11 years ago
  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. 11 years ago
  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. 12 years ago
  florian a2a405581c * don't call the ansistring val variant for a zero based array if not necessary to avoid ansistring usage in embedded applications 12 years ago
  masta b81f746e05 Inline Length(DynamicArray) 12 years ago
  Jonas Maebe fb8fb29574 * record/use the code page of string constants typecasted to an ansistring 12 years ago
  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. 12 years ago
  sergei cc8772cf92 * sizeof(x), typeof(x): if "x" is typenode, request GOT for PIC because a global VMT label will be loaded. 12 years ago
  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 12 years ago
  nickysn a86cb5c600 + far pointer fixes in the internal compiler handling of ptr(const,const) 12 years ago
  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 12 years ago
  florian 0e41df598e * merge i8086 branch by Nikolay Nikolov 12 years ago
  nickysn 3c6df5bedc * use is_nativeuint() in ninl.get_str_int_func(), instead of the ifdef sequence 12 years ago
  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 12 years ago
  nickysn 91038d6d0a * prevent compilation warning due to function result not being set in tinlinenode.first_seg 12 years ago
  nickysn be761ba232 * sequences that check for cpu64bitaddr made to also check for cpu32bitaddr instead of cpu32bitalu. this fixes ppcjvm compilation 12 years ago
  nickysn 917a1eb0f2 * the default Seg() handling moved to virtual methods, so that they can be overriden in the i8086 code generator 12 years ago
  nickysn 615d6e4a51 * internal compiler handling of Val() fixed for 16/8-bit CPUs 12 years ago
  nickysn 53ad3fc662 + Str() handling in the compiler fixed for 16/8-bit CPU support 12 years ago
  nickysn 8fa9105151 + 16-bit and 8-bit CPU support added in the internal handling of read/readln/write/writeln 12 years ago
  Jonas Maebe e1e11f81e3 * fixed using readstr/writestr inside routines called from the parameter 12 years ago
  florian d5985b4f0e * patch by Christophe Staïesse to implement more ISO-like read behaviour in iso mode, resolves #24060 12 years ago
  nickysn 573ea10ef3 * fixed val when the 'code' parameter is the same size as the native CPU int type, but unsigned 12 years ago
  nickysn fdf831b4c6 * i8086 fix in tinlinenode.pass_typecheck for trunc and round 12 years ago
  florian b43b4bb455 + pseudo procedure aligned: tells the compiler to assume that the given parameter is naturally aligned, counterpart of unaligned 12 years ago