core_interface_kind.def 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. //
  5. // This is an X-macro header. It does not use `#include` guards, and instead is
  6. // designed to be `#include`ed after the x-macro is defined in order for its
  7. // inclusion to expand to the desired output. Macro definitions are cleaned up
  8. // at the end of this file.
  9. //
  10. // Supported x-macro is:
  11. // - CARBON_SEM_IR_CORE_INTERFACE_KIND(Name)
  12. // Defines a core interface.
  13. #ifndef CARBON_SEM_IR_CORE_INTERFACE_KIND
  14. #error "Must define CARBON_SEM_IR_CORE_INTERFACE_KIND x-macro to use this file."
  15. #define CARBON_SEM_IR_CORE_INTERFACE_KIND(Name)
  16. #endif
  17. CARBON_SEM_IR_CORE_INTERFACE_KIND(AddAssignWith)
  18. CARBON_SEM_IR_CORE_INTERFACE_KIND(AddWith)
  19. CARBON_SEM_IR_CORE_INTERFACE_KIND(Copy)
  20. CARBON_SEM_IR_CORE_INTERFACE_KIND(CppUnsafeDeref)
  21. CARBON_SEM_IR_CORE_INTERFACE_KIND(Dec)
  22. CARBON_SEM_IR_CORE_INTERFACE_KIND(Default)
  23. CARBON_SEM_IR_CORE_INTERFACE_KIND(Destroy)
  24. CARBON_SEM_IR_CORE_INTERFACE_KIND(DivAssignWith)
  25. CARBON_SEM_IR_CORE_INTERFACE_KIND(DivWith)
  26. CARBON_SEM_IR_CORE_INTERFACE_KIND(Inc)
  27. CARBON_SEM_IR_CORE_INTERFACE_KIND(IntFitsIn)
  28. CARBON_SEM_IR_CORE_INTERFACE_KIND(ModAssignWith)
  29. CARBON_SEM_IR_CORE_INTERFACE_KIND(ModWith)
  30. CARBON_SEM_IR_CORE_INTERFACE_KIND(MulAssignWith)
  31. CARBON_SEM_IR_CORE_INTERFACE_KIND(MulWith)
  32. CARBON_SEM_IR_CORE_INTERFACE_KIND(Negate)
  33. CARBON_SEM_IR_CORE_INTERFACE_KIND(SubAssignWith)
  34. CARBON_SEM_IR_CORE_INTERFACE_KIND(SubWith)
  35. CARBON_SEM_IR_CORE_INTERFACE_KIND(Unknown)
  36. #undef CARBON_SEM_IR_CORE_INTERFACE_KIND