Skip to content

Commit

Permalink
Treat external repositories as system headers for warning purposes.
Browse files Browse the repository at this point in the history
This should reduce the noise necessary to disable warnings.
  • Loading branch information
phst committed Mar 3, 2024
1 parent a424fe1 commit 82a97b6
Show file tree
Hide file tree
Showing 11 changed files with 14 additions and 127 deletions.
1 change: 1 addition & 0 deletions REPO.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ repo(
default_applicable_licenses = [":license"],
default_visibility = ["//visibility:private"],
features = [
"external_include_paths",
# On Windows, Bazel generates incorrectly-escaped parameter files. See
# https://github.com/bazelbuild/bazel/issues/21029.
"-compiler_param_file",
Expand Down
16 changes: 0 additions & 16 deletions elisp/binary.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,8 @@

#include <initializer_list>

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#include "elisp/platform.h"
#include "elisp/process.h"
Expand Down
16 changes: 0 additions & 16 deletions elisp/emacs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,8 @@

#include <initializer_list>

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#include "elisp/platform.h"
#include "elisp/process.h"
Expand Down
16 changes: 0 additions & 16 deletions elisp/launcher.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,12 @@

#include <cstdlib>

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/container/fixed_array.h"
#include "absl/log/log.h"
#include "absl/meta/type_traits.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#include "elisp/platform.h"
#include "elisp/main.h"
Expand Down
16 changes: 0 additions & 16 deletions elisp/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,8 @@

#include <initializer_list>

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#include "elisp/platform.h"

Expand Down
16 changes: 0 additions & 16 deletions elisp/process.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,6 @@
#include <utility>
#include <vector>

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/algorithm/container.h"
#include "absl/base/attributes.h"
#include "absl/base/nullability.h"
Expand All @@ -78,12 +68,6 @@
#include "absl/strings/str_join.h"
#include "absl/types/span.h"
#include "tools/cpp/runfiles/runfiles.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#ifdef __APPLE__
# include <crt_externs.h> // for _NSGetEnviron
Expand Down
16 changes: 0 additions & 16 deletions elisp/process.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,8 @@
#include <initializer_list>
#include <string_view> // IWYU pragma: keep

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#include "elisp/platform.h"

Expand Down
15 changes: 0 additions & 15 deletions elisp/proto/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,15 +131,6 @@
# error Emacs module header too old
#endif

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
# pragma warning(disable : 4090 4244 4267 4334)
#endif
#include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "google/protobuf/any.upb.h"
Expand All @@ -165,12 +156,6 @@
#include "upb/util/required_fields.h"
#include "upb/wire/decode.h"
#include "upb/wire/encode.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

/// Global variables

Expand Down
16 changes: 0 additions & 16 deletions elisp/test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,8 @@

#include <initializer_list>

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Woverflow"
#endif
#ifdef _MSC_VER
# pragma warning(push, 3)
#endif
#include "absl/status/statusor.h"
#include "absl/types/span.h"
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
# pragma warning(pop)
#endif

#include "elisp/platform.h"
#include "elisp/process.h"
Expand Down
1 change: 1 addition & 0 deletions examples/ext/REPO.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ repo(
default_applicable_licenses = ["@phst_rules_elisp//:license"],
default_visibility = ["//visibility:private"],
features = [
"external_include_paths",
# On Windows, Bazel generates incorrectly-escaped parameter files. See
# https://github.com/bazelbuild/bazel/issues/21029.
"-compiler_param_file",
Expand Down
12 changes: 12 additions & 0 deletions private/defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,7 @@ def run_emacs(
# there, and remove them from BUILD files.
PACKAGE_FEATURES = [
"no_copts_tokenization",
"external_include_paths",
# On Windows, Bazel generates incorrectly-escaped parameter files. See
# https://github.com/bazelbuild/bazel/issues/21029.
"-compiler_param_file",
Expand Down Expand Up @@ -425,6 +426,8 @@ COPTS = select({
Label("//private:msvc-cl"): [
"/WX",
"/W4",
"/external:W3", # TODO: shouldn’t be needed; file bug against Bazel
"/external:Iexternal", # TODO: shouldn’t be needed; file bug against Bazel
"/utf-8",
"/permissive-",
"/Zc:__cplusplus",
Expand All @@ -440,6 +443,15 @@ COPTS = select({
"-pedantic",
"-pedantic-errors",
],
}) + select({
Label("//private:clang"): [
# This shouldn’t be needed, but the external_include_paths feature
# doesn’t work on macOS.
# TODO: File bug against Bazel.
"--system-header-prefix=absl/",
"--system-header-prefix=upb/",
],
Label("//conditions:default"): [],
})

CXXOPTS = select({
Expand Down

0 comments on commit 82a97b6

Please sign in to comment.