[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master adcaef29 06/17: Establish a framework for cla
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master adcaef29 06/17: Establish a framework for clang warnings |
Date: |
Sat, 2 Jul 2022 21:42:14 -0400 (EDT) |
branch: master
commit adcaef298aca9e059f6aca14bf7cb2f97bef7050
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Establish a framework for clang warnings
---
compiler_clang.make | 4 ++--
compiler_clang_warnings.make | 30 ++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/compiler_clang.make b/compiler_clang.make
index 4305bb94..3bf6e19d 100644
--- a/compiler_clang.make
+++ b/compiler_clang.make
@@ -141,14 +141,14 @@ REQUIRED_COMPILER_FLAGS := \
# C compiler flags.
-REQUIRED_CFLAGS = -std=c99 $(REQUIRED_COMPILER_FLAGS)
+REQUIRED_CFLAGS = -std=c99 $(C_WARNINGS) $(REQUIRED_COMPILER_FLAGS)
# Better to leave this unset, and specify optimization elsewhere?
CFLAGS = $(optimization_flag)
# C++ compiler flags.
-REQUIRED_CXXFLAGS = -std=c++20 $(REQUIRED_COMPILER_FLAGS)
+REQUIRED_CXXFLAGS = -std=c++20 $(CXX_WARNINGS) $(REQUIRED_COMPILER_FLAGS)
# Write '-Wno' options at the end, with a rationale here.
#
diff --git a/compiler_clang_warnings.make b/compiler_clang_warnings.make
index 6aa26a34..a6583410 100644
--- a/compiler_clang_warnings.make
+++ b/compiler_clang_warnings.make
@@ -22,3 +22,33 @@
# Don't remake this makefile.
$(srcdir)/compiler_clang_warnings.make:: ;
+
+# Warnings for clang.
+
+clang_version_specific_c_warnings :=
+clang_version_specific_cxx_warnings :=
+
+treat_warnings_as_errors := -pedantic-errors -Werror
+
+clang_common_warnings := \
+ $(treat_warnings_as_errors) \
+
+clang_c_warnings := \
+ $(clang_common_warnings) \
+
+clang_cxx_warnings := \
+ $(clang_common_warnings) \
+
+# Keep version-specific warnings last, so that they override others.
+
+C_WARNINGS = \
+ $(clang_c_warnings) \
+ $(clang_common_extra_warnings) \
+ $(clang_version_specific_c_warnings) \
+
+CXX_WARNINGS = \
+ $(clang_cxx_warnings) \
+ $(clang_common_extra_warnings) \
+ $(clang_version_specific_cxx_warnings) \
+
+# This file does not end in backslash-newline.
- [lmi-commits] [lmi] master updated (61ff010d -> ec379f81), Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 4d58421b 05/17: Increase concinnity, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 8429817f 04/17: Increase concinnity, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 1018709f 07/17: Move a warning option to its proper place, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master f708d833 12/17: Override flags for product files more appropriately, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master acfa77b0 08/17: Simplify, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 6896ec57 03/17: Explain uniformly why pointer-{compare, subtract} aren't used, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 05ef210f 01/17: Remove obsolete '.patch' files, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master be64abf0 11/17: Establish general compiler flags earlier, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 0e3c2fbb 02/17: Don't let makefiles end in an empty line, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master adcaef29 06/17: Establish a framework for clang warnings,
Greg Chicares <=
- [lmi-commits] [lmi] master e4abb6e1 14/17: Don't specify nonempty $CFLAGS or $CXXFLAGS, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master ec379f81 17/17: Use an updated XRC schema, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 89e37e40 13/17: Resolve a latent makefile issue, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 5971b763 09/17: Use $(tutelary_flag) to work around compiler breakage, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 8ece241a 10/17: Fix defect introduced 20190327T2239Z: incomplete override, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 9a5cf902 16/17: Repeat '-fno-omit-frame-pointer' less often, Greg Chicares, 2022/07/02
- [lmi-commits] [lmi] master 1368400b 15/17: Deactivate old workarounds for product-file generation, Greg Chicares, 2022/07/02