From d4ed6b1083e9708de28ba6c7167a16745572c880 Mon Sep 17 00:00:00 2001 From: Geoff Romer Date: Mon, 26 Jul 2021 11:42:38 -0700 Subject: [PATCH] Enable some additional warnings. (#675) --- bazel/cc_toolchains/clang_cc_toolchain_config.bzl | 2 ++ executable_semantics/interpreter/stack.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/bazel/cc_toolchains/clang_cc_toolchain_config.bzl b/bazel/cc_toolchains/clang_cc_toolchain_config.bzl index 4706c4e72613..702c0107d8da 100644 --- a/bazel/cc_toolchains/clang_cc_toolchain_config.bzl +++ b/bazel/cc_toolchains/clang_cc_toolchain_config.bzl @@ -124,6 +124,8 @@ def _impl(ctx): "-Wextra", "-Wthread-safety", "-Wself-assign", + "-Wimplicit-fallthrough", + "-Wctad-maybe-unsupported", # Unfortunately, LLVM isn't clean for this warning. "-Wno-unused-parameter", # We use partial sets of designated initializers in diff --git a/executable_semantics/interpreter/stack.h b/executable_semantics/interpreter/stack.h index 6be13a929aa1..e2e14117a2e3 100644 --- a/executable_semantics/interpreter/stack.h +++ b/executable_semantics/interpreter/stack.h @@ -72,6 +72,11 @@ struct Stack { std::vector elements; }; +// Explicitly enable CTAD to silence warnings. +// TODO: consider removing this (and perhaps the associated constructor). +template +Stack(T x) -> Stack; + } // namespace Carbon #endif // EXECUTABLE_SEMANTICS_INTERPRETER_CONS_LIST_H_