-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
static/extern keyword #1
Comments
Thank you for inaugurating github issues! This issue made me notice that storage classes worth being exposed as fields in This should be fixed in #2: as soon as CI is happy, I will update the snapshot branch. (You may have a try to the branch fix.1.storage_class directly, but you need to bootstrap it first with |
Fix #1: storage classes (functions and vars) are exposed and printed
Thanks once again for your lightning fast answer and fix. |
rsaill reported in #1 that `AlwaysInline` has disappeared.
Nice catch: no, it wasn't expected. It is now fixed in snapshot. Thank you very much! |
This commit pushes a new release of clangml.4.8.0, compatible with the upcoming LLVM/Clang 15. Changes are: - Support for Clang/LLVM 15.0.0 - `Ast.character_kind` and `Ast.string_kind` are now distinct types (aliases for `Clang.clang_ext_characterkind` and `Clang.clang_ext_stringkind` respectively. The constructor `Ordinary` replaced the former constructor `Ascii` for `string_kind`, to match the new convention used by `clang::StringLiteral::StringKind` from Clang 15.0.0. The constructor `Ascii` for `character_kind` is left unchanged. - #1, #2: `Ast.Var` and `Ast.Function` constructors now have a `storage` field in addition to the computed `linkage`, exposing the value previously accessible via `cursor_get_storage_class`. The storage classes are now correctly printed by the printer. (reported by Ronan, rsaill/n47, thierry-martinez/clangml#1) - #3, ocaml#4: fix `Clang.Expr.radix_of_integer_literal` when the literal comes from a macro expansion, and fix printing of unsigned/long integer literals with `Clang.Printer`. (reported by Ronan, rsaill/n47, thierry-martinez/clangml#3)
Trying to parse (with Clang.Ast.parse_file) and immediately print (with Clang.Printer.translation_unit) the following C program:
I get
The keyword extern is missing for the variable g3 and static is missing for the variable s.
Ronan (alias n47).
The text was updated successfully, but these errors were encountered: