# gccrs syncup: Semantics checking
Rolling agenda.
## 2024-11-18
- repr(align) and repr(packed) do not work
- https://godbolt.org/z/rornPra3c
- Nobel will open issues on gccrs repo
- Cannot convert pointer types to integer types
- `ptr as usize` doesn't work
- Same for float to integer and vice versa
- Nobel to open up issues on the gccrs repo
-
## 2024-10-28
- A few errors have been found. Bitwise NOT is not working at all.
- https://godbolt.org/z/cxGEhfKGW
- https://docs.rs/libc/latest/libc/enum.c_void.html
- https://doc.rust-lang.org/src/core/ffi/mod.rs.html#193-208
- https://doc.rust-lang.org/std/marker/trait.Sized.html
code to add:
```rust
#[lang = "sized"]
pub trait Sized {}
```
- intrinsics issue: https://github.com/Rust-GCC/gccrs/issues/658
## 2024-10-14
No call, per Nobel: "Sorry folks, but due to the ongoing festive season in Nepal I won't be able to make it this week."
## 2024-09-30
No call, per Nobel: "We had a syncup last Monday so this won't be necessary."
## 2024-09-23
- handling optimizations
- compare every optimization against each optimization for each compiler.
- Expected fail cases
- link them from projects issues to gccrs issue
- Checking Invarints
- Fine as it is (Output to stdout).
__Actions__:
## 2024-08-21
- how to bring printing functionality into gccrs
```rust=
extern "C" {
fn printf(fmt: *const i8, ...);
}
fn format_option(option: &Option<i32>) -> &'static str {
match option {
Some(_) => "Some",
None => "None",
}
}
fn main() {
let s = "Nobel";
unsafe { printf("%s\n\0", s as *const str as *const i8) }
}
```
- Possible bug:
```rust
fn main() {
let foo: i32 = -2147483648;
}
```
- Review Actions
__Actions__:
- Nobel to open up issues for possible issues
__Report issue__:
- handling type limits.
- handling module from non-main files.
## 2024-07-22
- Fuzzing or manual testcases?
- manual testcases would be better for now, since the compiler is not super stable
- since we are interested in semantic differences, it's better to have tailored testcases
- fuzzing my be useful to come up with test cases to put into the regression test suite
- using C FFI for functionality that is not present in gccrs for uniform test cases across rustc and gccrs.
__Actions__: