<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/cmake/CompilerFlags.cmake, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2025-06-30T23:04:55+00:00</updated>
<entry>
<title>Allow a compiler warning on MacOS (#7561)</title>
<updated>2025-06-30T23:04:55+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-06-30T23:04:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7a6a455f182722a42fcba5a2fc57c0cd524c4764'/>
<id>urn:sha1:7a6a455f182722a42fcba5a2fc57c0cd524c4764</id>
<content type='text'>
This PR is to allow a compiler warning even when all warnings
are requested to be treated as errors.

The following pattern is very common in Slang code base:
  if (auto var = as&lt;...&gt;(...))
And when `var` is not used, the compiler prints a warning.

Alternatively we can remove `auto var =` part but there are too many.

Co-authored-by: Jay Kwak &lt;jkwak@jkwak-mlt.client.nvidia.com&gt;</content>
</entry>
<entry>
<title>Update C++ standard to C++20 (#6980)</title>
<updated>2025-05-06T11:45:03+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-05-06T11:45:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=91425ccb6ff0a416b67ef21eb3ecebb49ba3e748'/>
<id>urn:sha1:91425ccb6ff0a416b67ef21eb3ecebb49ba3e748</id>
<content type='text'>
* Correct incorrect enum usage on metal

* Update C++ standard to C++20

Closes https://github.com/shader-slang/slang/issues/6945

* use bit_cast</content>
</entry>
<entry>
<title>Fix compiler warning on Windows about -build-id (#6857)</title>
<updated>2025-04-19T10:26:12+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-04-19T10:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=136c989a261e036e98b45e69cf9288d750780062'/>
<id>urn:sha1:136c989a261e036e98b45e69cf9288d750780062</id>
<content type='text'>
This PR fixes the compiler warning like following,
lld-link: warning: ignoring unknown argument '--no-undefined'
lld-link: warning: ignoring unknown argument '--build-id', did you mean '-build-id'

chatGPT said that those options are for ELF and not for Windows:

These warnings happen because the Clang toolchain on Windows is invoking lld-link, which is the LLVM linker frontend for link.exe compatibility (i.e., it acts like the MSVC linker). The arguments --no-undefined and --build-id are ELF-specific flags, which are valid when targeting Linux, but not valid in the PE/COFF (Windows) environment.

Here's a breakdown:

⚠️ Warning messages explained:
lld-link: warning: ignoring unknown argument '--no-undefined'
→ This is a Linux/ELF flag. On Windows, this has no effect and is unknown.

lld-link: warning: ignoring unknown argument '--build-id', did you mean '-build-id'
→ Again, --build-id is for ELF binaries to include a unique build ID. Not valid for Windows targets.</content>
</entry>
<entry>
<title>Fix compiler warning with clang 18.1.8 on windows (#6843)</title>
<updated>2025-04-17T09:34:39+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-04-17T09:34:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=04db5a95657a8c1ad1db36570eadaeedbea01cbb'/>
<id>urn:sha1:04db5a95657a8c1ad1db36570eadaeedbea01cbb</id>
<content type='text'>
* Fix compiler warning with clang 18.1.8 on  windows</content>
</entry>
<entry>
<title>Fix and document static build (#6374)</title>
<updated>2025-02-19T07:51:22+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-02-19T07:51:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=5ceef13e2336dfa1c4de8fdb3a273d81add0a7ca'/>
<id>urn:sha1:5ceef13e2336dfa1c4de8fdb3a273d81add0a7ca</id>
<content type='text'>
* Set static stbi flag for static builds

* Add missing SYSTEM directive for external includes

* Add instructions for linking statically against slang

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Add SLANG_ENABLE_DXIL (#5853)</title>
<updated>2024-12-12T16:34:38+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-12T16:34:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=79dc7ef6992c761ad3bbb4d8a19f4d515d7b3d78'/>
<id>urn:sha1:79dc7ef6992c761ad3bbb4d8a19f4d515d7b3d78</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Set default hidden visibility for all source on gcc (#5850)</title>
<updated>2024-12-12T16:33:41+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-12T16:33:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7279c0419409dfe609b0f147df0a7ab357559e69'/>
<id>urn:sha1:7279c0419409dfe609b0f147df0a7ab357559e69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split debug info for all targets (#5732)</title>
<updated>2024-12-06T07:55:48+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-06T07:55:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=22b64a446c8c37cc0b3670eb117b64575fc54d2f'/>
<id>urn:sha1:22b64a446c8c37cc0b3670eb117b64575fc54d2f</id>
<content type='text'>
* Split debug info for all targets

Work towards https://github.com/shader-slang/slang/issues/5724

* release separate debug info

Closes https://github.com/shader-slang/slang/issues/5724

* Add split debug info support for MacOS

* Add SLANG_ENABLE_SPLIT_DEBUG_INFO option

* Sign and package debug info on MacOS

* Set --build-id where available

* Correct debug info installing

* Keep cpack macos signing workaround

* Neaten cmake

* Disable sccache if building split debug info on Windows

* Only repack necessary files on MacOS releases</content>
</entry>
<entry>
<title>Fix EHa flag compiler filtering (#5524)</title>
<updated>2024-11-08T16:15:08+00:00</updated>
<author>
<name>cheneym2</name>
<email>acheney@nvidia.com</email>
</author>
<published>2024-11-08T16:15:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=0f46ce82998b2b1cb68f04bef3a097ea850ad453'/>
<id>urn:sha1:0f46ce82998b2b1cb68f04bef3a097ea850ad453</id>
<content type='text'>
The previous attempt to enable Structured Exception Handling in
(only) MSVC using the /EHa compiler flag caused trouble with flags
defined with Cmake Generator Expressions. These expressions are
not fully resolved, and they fail validation checks in
check_cxx_compiler_flag(). The previous attempt at applying
/EHa to only MVSC involved refactoring a direct call to
target_compile_options() with a call to the Slang helper function
add_supported_cxx_flags() where an additional MSVC filter was
introduced, but the helper also calls check_cxx_compiler_flag() to
see if flags are supported. It was okay for /EHa, but not some
other flags that ended up getting newly validated.

The above issue is fixed by re-implementing the change that added
/EHa to only MSVC. This change goes back to adding compiler flags
without the helper function with its extra validation, instead using
an additional cmake generator expression to apply /EHa only to MSVC.</content>
</entry>
<entry>
<title>Catch all exceptions in render-test (#5495)</title>
<updated>2024-11-05T22:28:36+00:00</updated>
<author>
<name>cheneym2</name>
<email>acheney@nvidia.com</email>
</author>
<published>2024-11-05T22:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4fa76f374c0c35c9c7d186e8addf6861e98baaec'/>
<id>urn:sha1:4fa76f374c0c35c9c7d186e8addf6861e98baaec</id>
<content type='text'>
Catch all exceptions in render-test

In MSVC, the /EHsc flag is used by default,
it causes only C++ (synchronous) exceptions
to be caught by try/catch blocks.
The /EHa flag can instead be used to catch
both synchronous C++ exceptions as well
as structured asynchronous exceptions
such as those seen in segfaults or other
typical bugs.

Using /EHa allows render-test to not crash
completely if there is a buggy graphics driver in the system.

Issue 5275</content>
</entry>
</feed>
