Commit History

Автор SHA1 Съобщение Дата
  Jonas Maebe 7af95cbf06 * LLVM does not support 128 bits arithmetic on 32 bit platforms, which we преди 6 години
  Jonas Maebe 04d295f186 * first step towards supporting 32 bit targets with the LLVM code generator: преди 6 години
  Jonas Maebe d1361ca6ed * fixed adjustments of lower/upper bounds in range test optimization in case преди 6 години
  yury 4357caaad8 * Removed unused local vars. преди 6 години
  florian 116f36fe56 * avoid range check errors преди 6 години
  Jonas Maebe 0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the преди 6 години
  pierre 293973b306 Add missing setting of expectloc for multiplications преди 6 години
  florian 352fb866ef * is_range_test returns false if "lower" bound is greater than "upper" bound преди 6 години
  florian a34d4e715c Merged riscv_new branch преди 6 години
  florian a21397e356 + based on a patch by Laksen, optimize (v>=x) and (v<=y) into (v-x)<(y-x) преди 7 години
  svenbarth 32c307e9ce * fix for Mantis #34021: if one of the two operators is an array constructor try to use an operator overload for that first before converting it to a set преди 7 години
  florian 32a58ba7d1 * might_have_sideeffects gets flags: if mhs_exceptions is passed, nodes which might cause an exception are considered as having a side effect преди 7 години
  florian 52846df241 * fixed condition in getbestreal преди 7 години
  florian 0c6cf12fbf + support for the directive $EXCESSPRECISION преди 7 години
  svenbarth fa78bb0e89 * warn if the compiler hides an eventual "+" operator overload if modeswitch ArrayOperators is active преди 7 години
  svenbarth 97acf24290 + add a new modeswitch ArrayOperators which is set by default in Delphi modes that enables the internal array operators (currently only "+") преди 7 години
  svenbarth 9b45f58c0b + add flags that allow checking for overloads with isbinaryoverloaded() and isunaryoverloaded() without modifying the passed in node or even checking for normally non-overloadable operators преди 7 години
  svenbarth 199b5809a3 * optimize "dynarr := dynarr + [elem]" to "Insert(elem, dynarr, High(SizeInt))" and "dynarr := [elem] + dynarr" to "Insert(elem, dynarr, 0)" (we need to do this in the typecheck of taddnode as otherwise the array constructor is already converted) преди 7 години
  florian 71e71ad267 * fix currency division on non x86 32 bit targets преди 7 години
  florian b2825f2467 * scale constants if possible before currency multiplications to avoid overflows, resolves #33439 преди 7 години
  florian c230f81719 + support for <dyn. array>+<dyn. array>, resolves #30463 преди 7 години
  Jonas Maebe 1934285c20 * don't convert "int64(sint32) * cardinal_const" into a 32x32->64 преди 7 години
  pierre 59edd81a26 Disable some code using bestrealrec if macro FPC_SOFT_FPUX80 is defined преди 8 години
  Károly Balogh b755524c38 made it possible to override the decision from the cgs, if a certain muln needs a helper преди 8 години
  nickysn 34113b930b * removed the checkoverflow: boolean parameter of the software mul helpers; преди 8 години
  Károly Balogh 3e8ee48458 m68k: define cpurox and enabled the rotate-related optimizations on CPUs which support rotate instructionsoptions.pas преди 8 години
  nickysn efc5e339d0 * use an enum instead of integer constants to represent inline numbers преди 8 години
  florian b1dff29cbf * removed unused units преди 8 години
  nickysn 546e993c25 * use resultdef for the type of the resulting zero const from the '0*x' and преди 8 години
  nickysn f26a844b19 * only do the '0*x' and '0 and x' optimization if x has no side effects (except преди 8 години