Goose  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

12 check-ins using file bs/builtins/statements/while.cpp version 06a244597d

2019-08-25
02:15
Small cleanups and re-enable llvm optimizations when compiling. check-in: dc199732f8 user: achavasse tags: trunk
01:54
  • Got rid of the LoadConstInt instruction and directly handle integer constants in codegen. The old system didn't work for compile-time evaluated runtime integers.
  • Added missing implementations for unsigned comparison, that were somehow forgotten.
  • Implemented the nullptr constant.
  • Made a test version of the mandelbrot sample that gets both compiled and interpreted and whose results are compared with the same reference file, as a sanity test that interpreted and compiled code behave identically.
check-in: 9a68159d52 user: achavasse tags: trunk
2019-08-24
22:05
Added a sample program that renders an ascii art mandelbrot. check-in: 05234fc5f0 user: achavasse tags: trunk
20:41
Make cast() eagerly evaluated once again, it was removed by mistake. check-in: 7fa6ff1937 user: achavasse tags: trunk
19:33
More cleanup around which builtin functions should be intrinsics/eager/non eager. check-in: fece958df9 user: achavasse tags: trunk
16:54
  • ExecuteFile is now a regular builtin function.
  • Added #Include, which works the same as the old ExecuteFile.
  • Added a CreateConstant() builtin func.
  • Used the above to cleanup the command line parsing code in empathy.em.
check-in: f1cab5f761 user: achavasse tags: trunk
13:42
Factored out the common code of Compiler::execute(), ExecuteFile() and #CompileFileToFunction(). check-in: 0c5641877d user: achavasse tags: trunk
12:58
Removed unnecessary sema tests dependencies. check-in: 64fbc04864 user: achavasse tags: trunk
12:04
Vscode syntax highlighter tweak. check-in: 9969a33d0a user: achavasse tags: trunk
2019-08-23
20:18
  • Added a default InitializeVar() overload allowing any builtin type to be stored in a local variable during compile time.
  • Remplaced a lot of hackish uses of using with local variables, now that they work.
  • Changed several eager-evaluated bultin function to normal builtin functions, thanks to the above cleanup.
  • Eager-evaluated builtin functions are all now prefixed with a # symbol to indicate their "compiler directive" nature and make it clearer that they are evaluated during the translation phase of the program, rather than its execution (even compile time execution).
  • A few build and testing scripts fixes.
check-in: 133303cbbf user: achavasse tags: trunk
2019-08-22
13:23
You have failed me for the last time, CMake. check-in: e38aee1ca0 user: achavasse tags: trunk
2019-08-21
13:38
  • Automatically compile the samples during the build.
  • Added a --forcecolors to the front-end, since it can't detect whether colors are allowed when launched by Ninja.
  • while: if the condition evaluates to constant true and there is no break statement in the body, use a different code generation strategy to avoid generating a continuation block which makes a return statement mandatory after the loop even though it's unreachable.
check-in: 20d317a921 user: achavasse tags: trunk