remove namespace qualifiers from with-c-layout

This commit is contained in:
Kristin Rutenkolk 2024-10-11 15:17:54 +02:00
parent d04a9f6286
commit df29b16d71

View file

@ -1558,19 +1558,19 @@
fields (nth struct-spec 1)] fields (nth struct-spec 1)]
(if (seq fields) (if (seq fields)
(let [[[_ type :as field] & fields] fields (let [[[_ type :as field] & fields] fields
size (mem/size-of type) size (size-of type)
align (mem/align-of type) align (align-of type)
r (rem offset align)] r (rem offset align)]
(recur (cond-> (+ offset size) (recur (cond-> (+ offset size)
(pos? r) (+ (- align r))) (pos? r) (+ (- align r)))
(cond-> aligned-fields (cond-> aligned-fields
(pos? r) (conj [::padding [::mem/padding (- align r)]]) (pos? r) (conj [::padding [::padding (- align r)]])
:always (conj field)) :always (conj field))
fields)) fields))
(let [strongest-alignment (reduce max (map (comp mem/align-of second) (nth struct-spec 1))) (let [strongest-alignment (reduce max (map (comp align-of second) (nth struct-spec 1)))
r (rem offset strongest-alignment)] r (rem offset strongest-alignment)]
(cond-> aligned-fields (cond-> aligned-fields
(pos? r) (conj [::padding [::mem/padding (- strongest-alignment r)]])))))] (pos? r) (conj [::padding [::padding (- strongest-alignment r)]])))))]
(assoc struct-spec 1 aligned-fields))) (assoc struct-spec 1 aligned-fields)))
(defn- typename->coffi-typename [_type] (defn- typename->coffi-typename [_type]