scons: Disable some warnings in clang.

The defaulted-function-deleted warning triggers in generated code which
would be very tricky to address.

The c99-designator refers to using an array index to specify which
element of an array is being initialized. This makes the code more
clear and is supported by both g++ and clang++. Designated initializers
for structures are being introduced in C++20, but there is no word I
could find on arrays. This warning option seems to only exist in clang
versions 10 and up, so we can only use it on those versions.

Change-Id: I8fb858e643814638c552a49336db2672be8e43c8
Reviewed-by: Jason Lowe-Power <>
Maintainer: Bobby R. Bruce <>
Tested-by: kokoro <>
diff --git a/SConstruct b/SConstruct
index 82fad3b..142800e 100755
--- a/SConstruct
+++ b/SConstruct
@@ -475,7 +475,10 @@
                          # use struct hash and class hash
                          # interchangeably.
+                         '-Wno-defaulted-function-deleted',
+    if compareVersions(clang_version, "10.0") >= 0:
+        main.Append(CCFLAGS=['-Wno-c99-designator'])