Commit History

Author SHA1 Message Date
  florian f813703cf3 * fixes several issues with loop unrolling 10 years ago
  florian f630fb94b5 * do not warn when internally generated if nodes are simplified 10 years ago
  nickysn e6c5c35d65 * tarraydef.create_from_pointer changed to require the actual pointerdef as a 11 years ago
  Jonas Maebe ea0b9efd20 + support for simplifying empty try-except statements 11 years ago
  nickysn be08957a96 * use voidcodepointertype in traisenode.pass_typecheck to avoid ifdef i8086 11 years ago
  Jonas Maebe b57c95043f + support overriding tdef/tsym methods with target-specific functionality: 11 years ago
  florian 08a4e1efe1 * handle for ... in on arrays of constant correctly, resolves also #25838 11 years ago
  florian e5aa0e4316 * set pi_uses_exceptions flag only if the try...finally frame is not an implicit frame 11 years ago
  florian 1df293679d * fixed setting of pi_uses_exception flags and unified usage, they should be set in pass_1 11 years ago
  florian b0441e1d64 * move setting of lnf_testatbegin into tfornode.simplify because it is a simplification 11 years ago
  sergei 1ee9373fa6 * Changed function create_pd into method of ttryfinallynode, so it can be reused for Win32 SEH and, in the future, for DWARF-based exception handling on other targets. 11 years ago
  sergei 0e0273d53f * Partially reverted r26192, preserving registers in presence of exceptions needs a different solution. 11 years ago
  sergei e26ce9e442 * Fix code generation of for-loops. Keeping a copy of to-value in register during pass 2 is basically a hack, because register may be destroyed if an exception is raised and handled in loop body. This went unnoticed because generic setjmp-based exception handling is restoring registers to the state at entry to try block, and Win64 SEH also has some register-preserving features. However, for Win32 SEH it is not true. 11 years ago
  florian 99eadb91b3 * run CheckAndWarn to get proper locations for warnings about uninitialized variables 11 years ago
  florian 89f34965e9 * fix dfa of for nodes, loopiteration node introduced to get proper life information for the loop 11 years ago
  nickysn 5973b231ec * traisenode.pass_typecheck: in the case of 'raise X at addr,frame' require 'addr' to be a far pointer in i8086 far code memory models 12 years ago
  florian cfcb4cab26 * simplify body of for loop before unrolling 12 years ago
  svenbarth 407e9d173b Fix for Mantis #17598. When extended syntax is off allow the result of constructors to be dropped when the constructor is called as an instance method instead of a class method. 12 years ago
  florian ab39e6f7d8 * fix parameter order for compilerproc created by raise nodes 12 years ago
  florian 0e41df598e * merge i8086 branch by Nikolay Nikolov 12 years ago
  florian 709ba5e053 + introduce cnf_call_never_returns to signal the dfa if a call node never returns 12 years ago
  florian 075abd6220 + support of stackframesize for arm thumb 12 years ago
  Jonas Maebe dc7760bda0 * let type conversion nodes handle type checking for if/while/repeat 12 years ago
  florian fce9e953b4 + nested exit support 12 years ago
  sergei c766c50907 * Proper fix for SPARC cycling with -dCHECK_PIC, pi_needs_got additionally must be set in following cases: 12 years ago
  Jonas Maebe 29095e9dd3 * fixed if-simplication for C-style booleans by considering all values 12 years ago
  Jonas Maebe 5929ec5592 * turned getpropaccesslist, add_parameters and add_index_parameter into 12 years ago
  florian 6c8eed21c4 + implement auto inlining (-Ooautoinline) 13 years ago
  Jonas Maebe aee5380ae0 * merged trunk up to r20882 13 years ago
  sergei 6cb6569d51 * Set pi_uses_exceptions flag when creating/firstpassing ttryexceptnode or ttryfinallynode, not when parsing try statements. It ensures that procedures with exception handling nodes created by compiler (constructors in the first place, but also for..in loops with TObject iterators, etc.) are handled the same way as ones containing exception nodes from user code. 13 years ago