# 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:
  # `unused-function`: has false positives due to not performing template
  #   instantiation. We get a more reliable version of this warning from the
  #   compiler.
  # `unused-includes`: has false positives, reporting includes unused when
  #   they are used. Probably the same root cause as unused-function.
  Suppress: [unused-function, unused-includes]

---

# 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
