ForNeVeR / ForNeVeR/Cesium

Allow storage classes other than static

Open
#343 5 comments 0 reactions 0 assignees View on GitHub
area:compiler good-first-issue kind:feature status:help-wanted
Dominant language
C#
Stars
451
Forks
49
Avg merge
13h 59m
Merged PRs (30d)
6

Description

C standard (**6.7.1 Storage-class specifiers**) defines the following storage classes:
- `typedef` (not a real storage class)
- `extern`
- `static`
- `_Thread_local`
- `auto`
- `register`

Only one storage class per declaration is allowed (with an exception of `_Thread_local` with either `static` or `extern`).

We should allow these storage classes in the `Cesium.CodeGen.Ir.Declarations.ScopedIdentifierDeclaration`.

When implementing this, find the number `343` in the sources.

This issue doesn't include full processing of these storage classes, but only allowing them in the IR classes and proper parsing.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.