Skip to content

Issue/351#381

Merged
thirtytwobits merged 2 commits into3.0.previewfrom
issue/351
May 4, 2025
Merged

Issue/351#381
thirtytwobits merged 2 commits into3.0.previewfrom
issue/351

Conversation

@thirtytwobits
Copy link
Member

Generating _Static_assert unless c23 is specified.

@thirtytwobits thirtytwobits changed the base branch from main to 3.0.preview April 24, 2025 20:07
@thirtytwobits thirtytwobits force-pushed the issue/351 branch 6 times, most recently from ba47775 to e1909f7 Compare April 26, 2025 02:54
@thirtytwobits thirtytwobits marked this pull request as ready for review April 26, 2025 03:59
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR addresses Issue/351 by enhancing language standard support, including adding support for "c17" and "c23" and generating _Static_assert conditionally. Key changes include:

  • Adding a new test (test_option_override) to verify command‑line option overrides.
  • Updating language configuration and option override methods in nunavut/lang and nunavut/_generators.
  • Enhancing CLI parsers and updating workflow matrices to include the new C standards.

Reviewed Changes

Copilot reviewed 10 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/gentest_nnvg/test_nnvg.py Added test_option_override to verify --option argument processing.
test/gentest_lang/test_lang.py Removed the redundant test_lang_cpp_use_vector test case.
src/nunavut/lang/_language.py Updated _validate_language_options with inline tests in the docstring.
src/nunavut/lang/init.py Changed language configuration type and added add_target_language_option_override.
src/nunavut/cli/parsers.py Introduced MAX_LOG_ENTRY_LENGTH and a sanitization function for log messages.
src/nunavut/cli/init.py Improved the keyvalue argument parser and refined extension handling.
src/nunavut/_version.py Bumped version from 3.0.0.dev1 to 3.0.0.dev2.
src/nunavut/_generators.py Added support for the --option argument; updated additional configuration handling.
.github/workflows/test.yml Expanded the language matrix to include c-17 and c-23.
Files not reviewed (10)
  • README.rst: Language not supported
  • src/nunavut/lang/c/support/serialization.j2: Language not supported
  • src/nunavut/lang/c/templates/base.j2: Language not supported
  • src/nunavut/lang/c/templates/definitions.j2: Language not supported
  • src/nunavut/lang/c/templates/deserialization.j2: Language not supported
  • src/nunavut/lang/c/templates/serialization.j2: Language not supported
  • src/nunavut/lang/cpp/support/serialization.j2: Language not supported
  • src/nunavut/lang/properties.json: Language not supported
  • verification/CMakeLists.txt: Language not supported
  • verification/CMakePresetsVendorTemplate.json: Language not supported

Also adds --option argument and cpp_safe_c property to C header templates.
Copy link
Member

@pavel-kirienko pavel-kirienko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't get the header replacement part but overall no strong objections.

Per comments and recent ISO guidance.
@sonarqubecloud
Copy link

@thirtytwobits thirtytwobits merged commit ecc31fa into 3.0.preview May 4, 2025
48 checks passed
@thirtytwobits thirtytwobits deleted the issue/351 branch May 4, 2025 17:41
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.

2 participants