summaryrefslogtreecommitdiff
path: root/slang.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2022-02-10 13:57:59 -0500
committerGitHub <noreply@github.com>2022-02-10 13:57:59 -0500
commit15f07d14b5f048dc355536cbdf5cf9c10291b13b (patch)
treea60f6b7929d6cf1301c8b0dff57f675df8ee5339 /slang.h
parentb8982fcf43b86c1e39dcc3dd19bff2821633eda6 (diff)
Fix MacOSX build issues (#2124)
* #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes. Added compiler crash with generic defined in a function. Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint. * Add comment about crash. * Disable crashing test. * Fixes to make compile on OSX. * Add github build for OSX. * Make premake generator a utility. * Fix osx compilation issue. * More fixes for OSX build. * OSX fix due to ambiguity around size_t and integer types. * Disable xlib on build on osx. * Use 'prebuildcommands' to make prebuild make utility projects do something. * Small fixes for premake so utility works on linux/osx. * Another hack to try and make generators run when 'utility' * Fix typo in macos.yml. * Revert premake to old style, and disable stdlib embedding on OSX.
Diffstat (limited to 'slang.h')
-rw-r--r--slang.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/slang.h b/slang.h
index cdc0daeab..83b10fc74 100644
--- a/slang.h
+++ b/slang.h
@@ -490,13 +490,20 @@ extern "C"
// Use SLANG_PTR_ macros to determine SlangInt/SlangUInt types.
// This is used over say using size_t/ptrdiff_t/intptr_t/uintptr_t, because on some targets, these types are distinct from
- // their uint_t/int_t equivalents and so produce ambiguity with function overloading.
+ // their uint_t/int_t equivalents and so produce ambiguity with function overloading.
+ //
+ // SlangSizeT is helpful as on some compilers size_t is distinct from a regular integer type and so overloading doesn't work.
+ // Casting to SlangSizeT works around this.
#if SLANG_PTR_IS_64
typedef int64_t SlangInt;
typedef uint64_t SlangUInt;
+
+ typedef uint64_t SlangSizeT;
#else
typedef int32_t SlangInt;
typedef uint32_t SlangUInt;
+
+ typedef uint32_t SlangSizeT;
#endif
typedef bool SlangBool;