BUILD 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
  5. package(default_visibility = ["//visibility:public"])
  6. filegroup(
  7. name = "testdata",
  8. data = glob(["testdata/**/*.carbon"]),
  9. )
  10. cc_library(
  11. name = "diagnostic_emitter",
  12. srcs = [
  13. "diagnostic.cpp",
  14. "diagnostic_consumer.cpp",
  15. ],
  16. hdrs = [
  17. "diagnostic.h",
  18. "diagnostic_consumer.h",
  19. "diagnostic_converter.h",
  20. "diagnostic_emitter.h",
  21. ],
  22. deps = [
  23. ":diagnostic_kind",
  24. "//common:check",
  25. "//common:ostream",
  26. "@llvm-project//llvm:Support",
  27. ],
  28. )
  29. cc_test(
  30. name = "diagnostic_emitter_test",
  31. size = "small",
  32. srcs = ["diagnostic_emitter_test.cpp"],
  33. deps = [
  34. ":diagnostic_emitter",
  35. ":mocks",
  36. "//testing/base:gtest_main",
  37. "@googletest//:gtest",
  38. "@llvm-project//llvm:Support",
  39. ],
  40. )
  41. cc_library(
  42. name = "diagnostic_kind",
  43. srcs = ["diagnostic_kind.cpp"],
  44. hdrs = ["diagnostic_kind.h"],
  45. textual_hdrs = [
  46. "diagnostic_kind.def",
  47. ],
  48. deps = [
  49. "//common:enum_base",
  50. ],
  51. )
  52. cc_library(
  53. name = "null_diagnostics",
  54. hdrs = ["null_diagnostics.h"],
  55. deps = [
  56. ":diagnostic_emitter",
  57. "@llvm-project//llvm:Support",
  58. ],
  59. )
  60. cc_library(
  61. name = "sorting_diagnostic_consumer",
  62. hdrs = ["sorting_diagnostic_consumer.h"],
  63. deps = [
  64. ":diagnostic_emitter",
  65. "//common:check",
  66. "@llvm-project//llvm:Support",
  67. ],
  68. )
  69. cc_test(
  70. name = "sorting_diagnostic_consumer_test",
  71. size = "small",
  72. srcs = ["sorting_diagnostic_consumer_test.cpp"],
  73. deps = [
  74. ":diagnostic_emitter",
  75. ":mocks",
  76. ":sorting_diagnostic_consumer",
  77. "//testing/base:gtest_main",
  78. "@googletest//:gtest",
  79. "@llvm-project//llvm:Support",
  80. ],
  81. )
  82. cc_library(
  83. name = "mocks",
  84. testonly = 1,
  85. srcs = ["mocks.cpp"],
  86. hdrs = ["mocks.h"],
  87. deps = [
  88. ":diagnostic_emitter",
  89. "@googletest//:gtest",
  90. "@llvm-project//llvm:Support",
  91. ],
  92. )