# 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__: