# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

CompileFlags:
  # Workaround for https://github.com/clangd/clangd/issues/1582
  Remove: [-march=*]
Diagnostics:
  # `unneeded-internal-declaration`, `unused-function`, `unused-includes`,
  # `unused-template`: These all have false positives due to not performing
  # template instantiation. We get a more reliable version of these warnings
  # from the compiler.
  Suppress: [unneeded-internal-declaration, unused-function, unused-includes, unused-template]

---

# Suppress common diagnostics for x-macro files.
If:
  PathMatch: .*\.def
Diagnostics:
  Suppress:
    # The `#error` requiring a macro definition.
    - pp_hash_error

---

# Suppress diagnostics for template source files.
If:
  PathMatch: .*\.tpl\.h
Diagnostics:
  Suppress:
    - undeclared_var_use
