diff --git a/include/math.h b/include/math.h
index 071e3daa7cf21b98119f06d262deca1655807b8d..7b69f5f073fed9112f0ee10e057e6038e61470d4 100644
--- a/include/math.h
+++ b/include/math.h
@@ -1,3 +1,4 @@
 #define OPENLIBM_USE_HOST_FENV_H 1
 #include <openlibm.h>
 #undef I
+#undef complex
diff --git a/src/stdlib/src/lib.rs b/src/stdlib/src/lib.rs
index de7735ecd3b2a12c0bdcb27f9f8e4a26f43b80c8..c83bcdd0445b5c0f4c8b4fd3edf3b5607a1dd1d7 100644
--- a/src/stdlib/src/lib.rs
+++ b/src/stdlib/src/lib.rs
@@ -728,7 +728,9 @@ pub fn convert_integer(s: *const c_char, base: c_int) -> Option<(c_ulong, isize,
     let mut overflowed = false;
 
     loop {
-        let val = unsafe { LOOKUP_TABLE[*s.offset(idx) as usize] };
+        // `-1 as usize` is -1
+        // `-1 as u8 as usize` is 255
+        let val = unsafe { LOOKUP_TABLE[*s.offset(idx) as u8 as usize] };
         if val == -1 || val as c_int >= base {
             break;
         } else {
diff --git a/src/time/src/constants.rs b/src/time/src/constants.rs
index 814d7c8379f301e69ba11b1d2b3e5f49285a5e24..d677f91b50f32eb5c7bc78de1ded1d3cbea9d185 100644
--- a/src/time/src/constants.rs
+++ b/src/time/src/constants.rs
@@ -48,4 +48,5 @@ pub const CLOCK_MONOTONIC: clockid_t = 1;
 pub(crate) const CLOCK_PROCESS_CPUTIME_ID: clockid_t = 2;
 pub(crate) const CLOCK_THREAD_CPUTIME_ID: clockid_t = 3;
 
-pub(crate) const CLOCKS_PER_SEC: time_t = 1_000_000;
+// Can't be time_t because cbindgen UGH
+pub(crate) const CLOCKS_PER_SEC: c_long = 1_000_000;