mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-02 12:48:14 +00:00
Disable default struct field values; Update README.md
This commit is contained in:
@@ -61,6 +61,8 @@ main :: proc() {
|
|||||||
* [when, for & procedure overloading](https://www.youtube.com/watch?v=OzeOekzyZK8)
|
* [when, for & procedure overloading](https://www.youtube.com/watch?v=OzeOekzyZK8)
|
||||||
* [Context Types, Unexported Entities, Labelled Branches](https://www.youtube.com/watch?v=CkHVwT1Qk-g)
|
* [Context Types, Unexported Entities, Labelled Branches](https://www.youtube.com/watch?v=CkHVwT1Qk-g)
|
||||||
* [Bit Fields, i128 & u128, Syntax Changes](https://www.youtube.com/watch?v=NlTutcLyF64)
|
* [Bit Fields, i128 & u128, Syntax Changes](https://www.youtube.com/watch?v=NlTutcLyF64)
|
||||||
|
* [Default and Named Arguments; Explicit Parametric Polymorphism](https://www.youtube.com/watch?v=-XQZE6S6zUU)
|
||||||
|
* [Loadsachanges](https://www.youtube.com/watch?v=ar0vFMoMtrI)
|
||||||
|
|
||||||
## Requirements to build and run
|
## Requirements to build and run
|
||||||
|
|
||||||
@@ -86,24 +88,3 @@ main :: proc() {
|
|||||||
|
|
||||||
* This is still highly in development and the language's design is quite volatile.
|
* This is still highly in development and the language's design is quite volatile.
|
||||||
* Syntax is not fixed.
|
* Syntax is not fixed.
|
||||||
|
|
||||||
## Roadmap
|
|
||||||
|
|
||||||
Not in any particular order and not be implemented
|
|
||||||
|
|
||||||
* Compile Time Execution (CTE)
|
|
||||||
- More metaprogramming madness
|
|
||||||
- Compiler as a library
|
|
||||||
- AST inspection and modification
|
|
||||||
* CTE-based build system
|
|
||||||
* Replace LLVM backend with my own custom backend
|
|
||||||
* Improve SSA design to accommodate for lowering to a "bytecode"
|
|
||||||
* SSA optimizations
|
|
||||||
* Documentation Generator for "Entities"
|
|
||||||
* Multiple Architecture support
|
|
||||||
* Debug Information
|
|
||||||
- pdb format too
|
|
||||||
* Command Line Tooling
|
|
||||||
* Compiler Internals:
|
|
||||||
- Big numbers library
|
|
||||||
- Multithreading for performance increase
|
|
||||||
|
|||||||
+1
-1
@@ -2908,7 +2908,7 @@ bool check_builtin_procedure(Checker *c, Operand *operand, AstNode *call, i32 id
|
|||||||
operand->mode = Addressing_Value;
|
operand->mode = Addressing_Value;
|
||||||
} else if (name == "assert") {
|
} else if (name == "assert") {
|
||||||
if (ce->args.count != 1) {
|
if (ce->args.count != 1) {
|
||||||
error(call, "'#assert' expects at 1 argument, got %td", ce->args.count);
|
error(call, "'#assert' expects 1 argument, got %td", ce->args.count);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!is_type_boolean(operand->type) && operand->mode != Addressing_Constant) {
|
if (!is_type_boolean(operand->type) && operand->mode != Addressing_Constant) {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
// #define NO_ARRAY_BOUNDS_CHECK
|
// #define NO_ARRAY_BOUNDS_CHECK
|
||||||
#define NO_POINTER_ARITHMETIC
|
#define NO_POINTER_ARITHMETIC
|
||||||
// #define NO_DEFAULT_STRUCT_VALUES
|
#define NO_DEFAULT_STRUCT_VALUES
|
||||||
|
|
||||||
#include "common.cpp"
|
#include "common.cpp"
|
||||||
#include "timings.cpp"
|
#include "timings.cpp"
|
||||||
|
|||||||
Reference in New Issue
Block a user