Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Enhanced Support for Anonymous Structs #309

Merged
merged 1 commit into from
Jun 10, 2023
Merged

Conversation

recp
Copy link
Owner

@recp recp commented Jun 8, 2023

This update enhances the support for anonymous structs in the CGLM library. The changes increase the range of compilers and language standards with which anonymous structs can be used.

Changes include:

  1. Added checks for C11 and C++11, as these standards natively support anonymous structs.
  2. Enhanced compiler-specific support:
    • GCC: Extended support for versions 4.6 and onwards.
    • Clang: Extended support for versions 3.0 and onwards.
    • MSVC: Extended support for versions 1900 (Visual Studio 2015) and onwards.

If none of these conditions are met, the use of anonymous structs is disabled to maintain compatibility with older standards and compilers.

These improvements allow users to leverage the benefits of anonymous structs more widely, while also providing the option to disable this feature for backward compatibility or to comply with the language standard in use.

Please review and provide feedback.


generated by ChatGPT :)

@recp recp merged commit 2c39193 into master Jun 10, 2023
@recp recp deleted the anonymous-structs-check branch June 10, 2023 17:40
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this pull request Nov 9, 2023
https://build.opensuse.org/request/show/1124355
by user dirkmueller + anag+factory
- update to 0.9.1:
  * Now we have **mat2x3**, **mat2x4**, **mat3x2**, **mat3x4**,
    **mat4x2** and **mat4x3** types and its functions
  * README: add build docs for WebAssembly
  * io: fix test runner.c implicit declaration glm_arch_print
  * recp/cglm#309: fix and improve
    CGLM_USE_ANONYMOUS_STRUCT definition with more robust
    compiler version check
  * suppress sign conversion warnings
  * Implement missing 3D
    Affine Transforms in the Struct API
  * drop "-Werror" to allow skip warnings on production build
  * more robust __builtin_assume_aligned detection
  * reduce glms_mat[4|3|2]_make()'s dest parameter
  * fix and improve printing arch name in tests
  * make GLM_TESTS_NO_COLORFUL_OUTPUT work on non-test print
    colors too
  * Now we have WASM 128
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