BUILD 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. hdrs = ["diagnostic_emitter.h"],
  13. deps = [
  14. ":diagnostic_kind",
  15. "//common:check",
  16. "@llvm-project//llvm:Support",
  17. ],
  18. )
  19. cc_test(
  20. name = "diagnostic_emitter_test",
  21. size = "small",
  22. srcs = ["diagnostic_emitter_test.cpp"],
  23. deps = [
  24. ":diagnostic_emitter",
  25. ":mocks",
  26. "//testing/base:gtest_main",
  27. "@com_google_googletest//:gtest",
  28. "@llvm-project//llvm:Support",
  29. ],
  30. )
  31. cc_library(
  32. name = "diagnostic_kind",
  33. srcs = ["diagnostic_kind.cpp"],
  34. hdrs = ["diagnostic_kind.h"],
  35. textual_hdrs = [
  36. "diagnostic_kind.def",
  37. ],
  38. deps = [
  39. "//common:enum_base",
  40. ],
  41. )
  42. cc_library(
  43. name = "null_diagnostics",
  44. hdrs = ["null_diagnostics.h"],
  45. deps = [
  46. ":diagnostic_emitter",
  47. "@llvm-project//llvm:Support",
  48. ],
  49. )
  50. cc_library(
  51. name = "sorting_diagnostic_consumer",
  52. hdrs = ["sorting_diagnostic_consumer.h"],
  53. deps = [
  54. ":diagnostic_emitter",
  55. "//common:check",
  56. "@llvm-project//llvm:Support",
  57. ],
  58. )
  59. cc_test(
  60. name = "sorting_diagnostic_consumer_test",
  61. size = "small",
  62. srcs = ["sorting_diagnostic_consumer_test.cpp"],
  63. deps = [
  64. ":diagnostic_emitter",
  65. ":mocks",
  66. ":sorting_diagnostic_consumer",
  67. "//testing/base:gtest_main",
  68. "@com_google_googletest//:gtest",
  69. "@llvm-project//llvm:Support",
  70. ],
  71. )
  72. cc_library(
  73. name = "mocks",
  74. testonly = 1,
  75. srcs = ["mocks.cpp"],
  76. hdrs = ["mocks.h"],
  77. deps = [
  78. ":diagnostic_emitter",
  79. "@com_google_googletest//:gtest",
  80. "@llvm-project//llvm:Support",
  81. ],
  82. )