WIP - Broken Compile : Added pragma once and includes to all files + Parser fixes, and String improvements

Adding the pragma once and includes the files broke compilation, still diagnosing why.

- Some string functions were moved to the cpp, still need to do some more evaluation of it and the containers...
- Added support for forceinline and neverinline to parsing (untested)
- Added support for specifiers in operator cast such as explicit, inline/forceinline/neverinline, etc.
    - Before it only support const.
    - Still need to support volatile.
- Forceinline was not supported at all for tokenization, fixed that.
This commit is contained in:
2023-08-21 20:30:13 -04:00
parent 1241f44fd4
commit 050b00f28a
45 changed files with 326 additions and 165 deletions

View File

@ -4,6 +4,7 @@ Constexpr, constexpr
Constinit, constinit
Explicit, explicit
External_Linkage, extern
ForceInline, forceinline
Global, global
Inline, inline
Internal_Linkage, internal

1 Invalid INVALID
4 Constinit constinit
5 Explicit explicit
6 External_Linkage extern
7 ForceInline forceinline
8 Global global
9 Inline inline
10 Internal_Linkage internal

View File

@ -61,6 +61,7 @@ Spec_Constinit, "constinit"
Spec_Explicit, "explicit"
Spec_Extern, "extern"
Spec_Final, "final"
Spec_ForceInline, "forceinline"
Spec_Global, "global"
Spec_Inline, "inline"
Spec_Internal_Linkage, "internal"

1 Invalid __invalid__
61 Spec_Explicit explicit
62 Spec_Extern extern
63 Spec_Final final
64 Spec_ForceInline forceinline
65 Spec_Global global
66 Spec_Inline inline
67 Spec_Internal_Linkage internal