Files
carbon-lang/toolchain/diagnostics/BUILD
T
Richard Smith 92860c56b4 Include parse node being checked in crash backtrace. (#3926)
When we crash, include the source location of the parse node that we
were handling, as well as the name of the check function that we were
calling. Also include the source snippet, since it's easy to do so, and
may avoid the need to look at the input file in some cases.
2024-05-01 15:42:53 +00:00

103 lines
2.2 KiB
Python

# 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
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
package(default_visibility = ["//visibility:public"])
filegroup(
name = "testdata",
data = glob(["testdata/**/*.carbon"]),
)
cc_library(
name = "diagnostic_emitter",
srcs = [
"diagnostic.cpp",
"diagnostic_consumer.cpp",
],
hdrs = [
"diagnostic.h",
"diagnostic_consumer.h",
"diagnostic_converter.h",
"diagnostic_emitter.h",
],
deps = [
":diagnostic_kind",
"//common:check",
"//common:ostream",
"@llvm-project//llvm:Support",
],
)
cc_test(
name = "diagnostic_emitter_test",
size = "small",
srcs = ["diagnostic_emitter_test.cpp"],
deps = [
":diagnostic_emitter",
":mocks",
"//testing/base:gtest_main",
"@googletest//:gtest",
"@llvm-project//llvm:Support",
],
)
cc_library(
name = "diagnostic_kind",
srcs = ["diagnostic_kind.cpp"],
hdrs = ["diagnostic_kind.h"],
textual_hdrs = [
"diagnostic_kind.def",
],
deps = [
"//common:enum_base",
],
)
cc_library(
name = "null_diagnostics",
hdrs = ["null_diagnostics.h"],
deps = [
":diagnostic_emitter",
"@llvm-project//llvm:Support",
],
)
cc_library(
name = "sorting_diagnostic_consumer",
hdrs = ["sorting_diagnostic_consumer.h"],
deps = [
":diagnostic_emitter",
"//common:check",
"@llvm-project//llvm:Support",
],
)
cc_test(
name = "sorting_diagnostic_consumer_test",
size = "small",
srcs = ["sorting_diagnostic_consumer_test.cpp"],
deps = [
":diagnostic_emitter",
":mocks",
":sorting_diagnostic_consumer",
"//testing/base:gtest_main",
"@googletest//:gtest",
"@llvm-project//llvm:Support",
],
)
cc_library(
name = "mocks",
testonly = 1,
srcs = ["mocks.cpp"],
hdrs = ["mocks.h"],
deps = [
":diagnostic_emitter",
"@googletest//:gtest",
"@llvm-project//llvm:Support",
],
)