Skip to content

Move clspv_options PROPERTY out of COMPILER_AVAILABLE flag#869

Open
rjodinchr wants to merge 1 commit into
kpet:mainfrom
rjodinchr:clspv-options
Open

Move clspv_options PROPERTY out of COMPILER_AVAILABLE flag#869
rjodinchr wants to merge 1 commit into
kpet:mainfrom
rjodinchr:clspv-options

Conversation

@rjodinchr
Copy link
Copy Markdown
Contributor

@rjodinchr rjodinchr commented May 8, 2026

As other flags regarding clspv options like
non_uniform_decoration_broken, we can keep them defined even if the
compiler is not available.

It cleans device_properties a bit by removing the preprocessor macros.
I think config PROPERTY should be always defined to avoid having to
deal with macro in device_properties.

Also it makes me realize that since we refactor the config management,
we were adding the clspv_options twice without good reason, thus I
removed once instance of it to avoid duplicate options.

This patch also adds a warning message when a device property is
explicitly overwritten by a configuration value.

The warning is restricted to string, uint32, and boolean types because
these types perform a direct replacement. Other types are excluded from
this warning as they merge the configuration with the device property
rather than overwritting it entirely.

Additionally, print_option() now returns a std::string instead of a
char*. This refactor simplifies string management and improves memory
safety across the configuration logging logic.

@rjodinchr
Copy link
Copy Markdown
Contributor Author

I need to add a warning when the default value from device_properties is overwritten.

As other flags regarding clspv options like
non_uniform_decoration_broken, we can keep them defined even if the
compiler is not available.

It cleans device_properties a bit by removing the preprocessor macros.
I think config PROPERTY should be always defined to avoid having to
deal with macro in device_properties.

Also it makes me realize that since we refactor the config management,
we were adding the clspv_options twice without good reason, thus I
removed once instance of it to avoid duplicate options.

This patch also adds a warning message when a device property is
explicitly overwritten by a configuration value.

The warning is restricted to string, uint32, and boolean types because
these types perform a direct replacement. Other types are excluded from
this warning as they merge the configuration with the device property
rather than overwritting it entirely.

Additionally, `print_option()` now returns a `std::string` instead of a
`char*`. This refactor simplifies string management and improves memory
safety across the configuration logging logic.
@rjodinchr
Copy link
Copy Markdown
Contributor Author

Warning message added. PR description updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant