aboutsummaryrefslogtreecommitdiff
path: root/src/entity.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-06-05 17:22:39 +0100
committergingerBill <bill@gingerbill.org>2021-06-05 17:22:39 +0100
commit599d18f26f25ca29e704190f25adcaa0bb9ed4f5 (patch)
tree11a65c0a536f0b3dc299b0043645f5b334a2ff7f /src/entity.cpp
parent61084d832d893eac2f22e79797cfc5dd55570973 (diff)
Experimental support for inline swizzling for array types of len <= 4 e.g. `v.xyz`, `v.argb`, `v.xxx`
Diffstat (limited to 'src/entity.cpp')
-rw-r--r--src/entity.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/entity.cpp b/src/entity.cpp
index 173a3fcd0..30bbef9dc 100644
--- a/src/entity.cpp
+++ b/src/entity.cpp
@@ -40,27 +40,28 @@ enum EntityFlag : u64 {
EntityFlag_Param = 1ull<<4,
EntityFlag_Result = 1ull<<5,
EntityFlag_ArrayElem = 1ull<<6,
- EntityFlag_Ellipsis = 1ull<<7,
- EntityFlag_NoAlias = 1ull<<8,
- EntityFlag_TypeField = 1ull<<9,
- EntityFlag_Value = 1ull<<10,
- EntityFlag_Sret = 1ull<<11,
- EntityFlag_ByVal = 1ull<<12,
- EntityFlag_BitFieldValue = 1ull<<13,
- EntityFlag_PolyConst = 1ull<<14,
- EntityFlag_NotExported = 1ull<<15,
- EntityFlag_ConstInput = 1ull<<16,
+ EntityFlag_ArraySwizzle = 1ull<<7,
+ EntityFlag_Ellipsis = 1ull<<8,
+ EntityFlag_NoAlias = 1ull<<9,
+ EntityFlag_TypeField = 1ull<<10,
+ EntityFlag_Value = 1ull<<11,
+ EntityFlag_Sret = 1ull<<12,
+ EntityFlag_ByVal = 1ull<<13,
+ EntityFlag_BitFieldValue = 1ull<<14,
+ EntityFlag_PolyConst = 1ull<<15,
+ EntityFlag_NotExported = 1ull<<16,
+ EntityFlag_ConstInput = 1ull<<17,
- EntityFlag_Static = 1ull<<17,
+ EntityFlag_Static = 1ull<<18,
- EntityFlag_ImplicitReference = 1ull<<18, // NOTE(bill): equivalent to `const &` in C++
+ EntityFlag_ImplicitReference = 1ull<<19, // NOTE(bill): equivalent to `const &` in C++
- EntityFlag_SoaPtrField = 1ull<<19, // to allow s.x[0] where `s.x` is a pointer rather than a slice
+ EntityFlag_SoaPtrField = 1ull<<20, // to allow s.x[0] where `s.x` is a pointer rather than a slice
- EntityFlag_ProcBodyChecked = 1ull<<20,
+ EntityFlag_ProcBodyChecked = 1ull<<21,
- EntityFlag_CVarArg = 1ull<<21,
- EntityFlag_AutoCast = 1ull<<22,
+ EntityFlag_CVarArg = 1ull<<22,
+ EntityFlag_AutoCast = 1ull<<23,
EntityFlag_Disabled = 1ull<<24,
EntityFlag_Cold = 1ull<<25, // procedure is rarely called