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

C23 standard compatibility #62

Open
15 of 39 tasks
ForNeVeR opened this issue Jan 16, 2022 · 0 comments
Open
15 of 39 tasks

C23 standard compatibility #62

ForNeVeR opened this issue Jan 16, 2022 · 0 comments
Labels
area:standard-support Related to the C standard support kind:feature New feature or request

Comments

@ForNeVeR
Copy link
Owner

ForNeVeR commented Jan 16, 2022

At this point, Cesium aims to be fully C23-compliant. There's a long way ahead, though.

Here, I'll enumerate the standard sections and show their current status. The current version of the standard draft we're working on should be mentioned in the README.

I'll map the standard sections here in a lazy way: i.e. only those sections where certain work is done will be "expanded".

If there's more to say on any particular section than just its name and the implementation status, it'll go to a separate issue.

  • [N/A] 1 Scope
  • [N/A] 2 Normative references
  • [N/A] 3 Terms, definitions, and symbols
  • 4 Conformance: Standard section 4: Conformance #63
  • 5 Environment
    • 5.1 Conceptual models
      • 5.1.1 Translation environment
      • 5.1.2 Execution environments
    • 5.2 Environmental considerations
      • 5.2.1 Character sets
      • 5.2.2 Character display semantics
      • 5.2.3 Signals and interrupts
      • 5.2.4 Environmental limits
  • 6 Language: C23-compliant parser #78
    • [N/A] 6.1 Notation
    • 6.2 Concepts
    • 6.3 Conversions
    • 6.4 Lexical elements: C23-compliant lexer #76
    • 6.5 Expressions
    • 6.6 Constant expressions
    • 6.7 Declarations
    • 6.8 Statements and blocks
    • 6.9 External definitions
    • 6.10 Preprocessing directives: C23-compliant preprocessor #77
    • 6.11 [N/A] Future language directions
  • 7 Library
  • [N/A] Annex A (informative) Language syntax summary
  • [N/A] Annex B (informative) Library summary
  • [N/A] Annex C (informative) Sequence points
  • [N/A] Annex D (informative) Universal character names for identifiers
  • [N/A] Annex E (informative) Implementation limits
  • Annex F (normative) IEC 60559 floating-point arithmetic
  • Annex G (normative) IEC 60559-compatible complex arithmetic
  • Annex H (normative) IEC 60559 interchange and extended types
  • [N/A] Annex I (informative) Common warnings
  • [N/A] Annex J (informative) Portability issues
  • Annex K (normative) Bounds-checking interfaces
  • Annex L (normative) Analyzability
  • [N/A] Annex M (informative) Change History
@ForNeVeR ForNeVeR added kind:feature New feature or request area:standard-support Related to the C standard support labels Jan 16, 2022
@ForNeVeR ForNeVeR changed the title C17 standard compatibility C23 standard compatibility Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:standard-support Related to the C standard support kind:feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant