Skip to content

Commit 42b4644

Browse files
committed
Disable another clang warning
1 parent c50e999 commit 42b4644

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/koga/units.lisp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,24 @@
163163
(defmethod configure-unit (configuration (unit (eql :base)))
164164
"Add base cflags and ldflags."
165165
(message :emph "Configuring base")
166+
;; Some explanation as to the warnings we allow:
167+
;; invalid-offsetof means we use offsetof on non-standard-layout classes.
168+
;; This is I think required for precise GC, and should be okay since we're
169+
;; clang-only and clang lets us do this.
170+
;; mismatched-tags means we sometimes declare classes in one place with
171+
;; "struct" and some with "class". This is okay in C++, but the Microsoft
172+
;; ABI apparently mangles names differently for some ungodly reason.
173+
;; To keep things consistent we'd probably have to track struct vs. class
174+
;; in the scraper codegen.
175+
;; deprecated-enum-enum-conversion is triggered by Clang's own source code
176+
;; for the time being. This conversion is only deprecated as of C++20, so
177+
;; clang has probably just not kept up.
178+
;; The othere warnings I'm not sure about.
166179
(append-cflags configuration
167180
(format nil "-Wall -Wno-return-type-c-linkage ~
168181
-Wno-invalid-offsetof -Wno-inconsistent-missing-override ~
169182
-Wno-mismatched-tags -Wno-overloaded-virtual ~
183+
-Wno-deprecated-enum-enum-conversion ~
170184
-Wno-delete-non-abstract-non-virtual-dtor"))
171185
(loop for variant in (variants configuration)
172186
do (append-cflags variant (format nil "-I~a" (variant-bitcode-name variant)))

0 commit comments

Comments
 (0)