Goose  Diff

Differences From Artifact [c301420a90]:

  • File tests/g0/function/c-fail-calling-compiletime-func.g0 — part of check-in [45f663093d] at 2021-09-12 13:42:15 on branch trunk — Adopted a new convention for source extensions: .g0 for prelude code (where most language features won't be available), .g1 for user code (user: achavasse size: 127)
  • File tests/noprelude/diagnostics/compile-calling-compiletime-func.em — part of check-in [d2c3ec7961] at 2019-08-20 23:48:37 on branch trunk — Removed an irrelevant comment. (user: achavasse size: 127)
  • File tests/noprelude/diagnostics/compile-calling-compiletime-func.g — part of check-in [af650a9e95] at 2019-09-22 14:37:55 on branch trunk — Project renaming. (user: achavasse size: 127)
  • File tests/noprelude/function/c-fail-calling-compiletime-func.g — part of check-in [5e757567a6] at 2021-03-01 12:32:32 on branch trunk — Reorganized tests, they are now grouped by language feature. (user: achavasse size: 127)

To Artifact [e33e5c667f]:

  • File tests/noprelude/diagnostics/compile-calling-compiletime-func.em — part of check-in [133303cbbf] at 2019-08-23 20:18:37 on branch trunk —
    • 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.
    (user: achavasse size: 128)

1
2
3
4
5
6
7
8
using putchar = ExternalFunction( uint(32) ( uint(8) c ), "putchar" )

void put( ct_char c )
{
    putchar( 10 )
}

put( 'g' )
|







1
2
3
4
5
6
7
8
using putchar = #ExternalFunction( uint(32) ( uint(8) c ), "putchar" )

void put( ct_char c )
{
    putchar( 10 )
}

put( 'g' )