From 83d8d9ccc984b47294608f26567489958d5cb172 Mon Sep 17 00:00:00 2001 From: xlauko Date: Mon, 9 Sep 2024 13:26:53 +0200 Subject: [PATCH] treewide: Clean up type definition interfaces. --- .../Dialect/Core/Interfaces/CMakeLists.txt | 2 +- .../Core/Interfaces/TypeDefinition.hpp | 16 -------- .../Interfaces/TypeDefinitionInterface.hpp} | 18 ++++++--- ...finition.td => TypeDefinitionInterface.td} | 28 ++++++++++++-- .../vast/Dialect/HighLevel/HighLevelOps.hpp | 3 +- .../vast/Dialect/HighLevel/HighLevelOps.td | 38 ++++++++----------- .../vast/Dialect/HighLevel/HighLevelUtils.hpp | 20 +++++----- .../AggregateTypeDefinitionInterface.td | 33 ---------------- include/vast/Interfaces/CMakeLists.txt | 1 - lib/vast/Dialect/Core/CMakeLists.txt | 2 + .../Dialect/Core/Interfaces/CMakeLists.txt | 3 ++ .../Interfaces/TypeDefinitionInterface.cpp | 10 +++++ lib/vast/Dialect/HighLevel/HighLevelOps.cpp | 6 --- lib/vast/Dialect/HighLevel/Transforms/UDE.cpp | 17 ++++++--- .../AggregateTypeDefinitionInterface.cpp | 10 ----- lib/vast/Interfaces/CMakeLists.txt | 5 --- 16 files changed, 90 insertions(+), 122 deletions(-) delete mode 100644 include/vast/Dialect/Core/Interfaces/TypeDefinition.hpp rename include/vast/{Interfaces/AggregateTypeDefinitionInterface.hpp => Dialect/Core/Interfaces/TypeDefinitionInterface.hpp} (53%) rename include/vast/Dialect/Core/Interfaces/{TypeDefinition.td => TypeDefinitionInterface.td} (55%) delete mode 100644 include/vast/Interfaces/AggregateTypeDefinitionInterface.td create mode 100644 lib/vast/Dialect/Core/Interfaces/CMakeLists.txt create mode 100644 lib/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.cpp delete mode 100644 lib/vast/Interfaces/AggregateTypeDefinitionInterface.cpp diff --git a/include/vast/Dialect/Core/Interfaces/CMakeLists.txt b/include/vast/Dialect/Core/Interfaces/CMakeLists.txt index cc97d1c7d9..a2de145423 100644 --- a/include/vast/Dialect/Core/Interfaces/CMakeLists.txt +++ b/include/vast/Dialect/Core/Interfaces/CMakeLists.txt @@ -1,5 +1,5 @@ +add_vast_op_interface(TypeDefinitionInterface) add_vast_op_interface(SymbolInterface) add_vast_op_interface(SymbolTableInterface) add_vast_attr_interface(SymbolRefInterface) -add_vast_op_interface(TypeDefinition) diff --git a/include/vast/Dialect/Core/Interfaces/TypeDefinition.hpp b/include/vast/Dialect/Core/Interfaces/TypeDefinition.hpp deleted file mode 100644 index 998b550ec9..0000000000 --- a/include/vast/Dialect/Core/Interfaces/TypeDefinition.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2024, Trail of Bits, Inc. - -#pragma once - -#include "vast/Util/Warnings.hpp" - -VAST_RELAX_WARNINGS -#include -#include -#include -#include -#include -VAST_RELAX_WARNINGS - -/// Include the generated interface declarations. -#include "vast/Dialect/Core/Interfaces/TypeDefinition.h.inc" diff --git a/include/vast/Interfaces/AggregateTypeDefinitionInterface.hpp b/include/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.hpp similarity index 53% rename from include/vast/Interfaces/AggregateTypeDefinitionInterface.hpp rename to include/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.hpp index 12bbabea47..991c5a9002 100644 --- a/include/vast/Interfaces/AggregateTypeDefinitionInterface.hpp +++ b/include/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2024-present, Trail of Bits, Inc. +// Copyright (c) 2024, Trail of Bits, Inc. #pragma once @@ -9,13 +9,13 @@ VAST_RELAX_WARNINGS #include #include #include +#include VAST_RELAX_WARNINGS #include "vast/Util/Common.hpp" - #include -namespace vast { +namespace vast::core { struct field_info_t { @@ -23,8 +23,14 @@ namespace vast { mlir_type type; }; -} // namespace vast - +} // namespace vast::core /// Include the generated interface declarations. -#include "vast/Interfaces/AggregateTypeDefinitionInterface.h.inc" +#include "vast/Dialect/Core/Interfaces/TypeDefinitionInterface.h.inc" + +namespace vast::core { + + using type_definition_interface = TypeDefinitionInterface; + using aggregate_interface = AggregateTypeDefinitionInterface; + +} // namespace vast::core diff --git a/include/vast/Dialect/Core/Interfaces/TypeDefinition.td b/include/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.td similarity index 55% rename from include/vast/Dialect/Core/Interfaces/TypeDefinition.td rename to include/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.td index ff526c333b..cbe3e8188d 100644 --- a/include/vast/Dialect/Core/Interfaces/TypeDefinition.td +++ b/include/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.td @@ -8,7 +8,7 @@ include "mlir/IR/OpBase.td" include "vast/Dialect/Core/CoreTraits.td" include "vast/Dialect/Core/Interfaces/Common.td" -def Core_TypeDefinition : Core_OpInterface< "TypeDefinition" > { +def Core_TypeDefinition : Core_OpInterface< "TypeDefinitionInterface" > { let description = [{ This interface allows to retrieve defined type by an operations and its name. }]; @@ -22,18 +22,40 @@ def Core_TypeDefinition : Core_OpInterface< "TypeDefinition" > { mlir::SymbolTable::getSymbolAttrName() ).getValue(); } + + VAST_FATAL("Operation does not have a defined name."); }] >, InterfaceMethod<"Returns the defined type by this operation.", "mlir::Type", "getDefinedType", (ins), [{}], /*defaultImplementation=*/ [{ auto op = this->getOperation(); - return op->template getAttrOfType< mlir::Type >( + return op->template getAttrOfType< mlir::TypeAttr >( "type" - ); + ).getValue(); }] > ]; } +def Core_AggregateTypeDefinition : Core_OpInterface< + "AggregateTypeDefinitionInterface", [Core_TypeDefinition] +> { + let description = [{ + This operation is encoding of a type. + }]; + + let methods = [ + InterfaceMethod< "Returns element in order of their declaration.", + "gap::generator< mlir::Type >", "getFieldTypes", (ins), [{}] >, + + InterfaceMethod< "Return all elements in order of their declaration.", + "gap::generator< vast::core::field_info_t >", "getFieldsInfo", (ins), [{}] >, + + InterfaceMethod< "Return all nested definitions", + "gap::generator< vast::core::AggregateTypeDefinitionInterface >", + "getNestedDeclarations", (ins), [{}] >, + ]; +} + #endif // VAST_CORE_TYPE_DEFINITION diff --git a/include/vast/Dialect/HighLevel/HighLevelOps.hpp b/include/vast/Dialect/HighLevel/HighLevelOps.hpp index 53162c133d..a8b3a91faa 100644 --- a/include/vast/Dialect/HighLevel/HighLevelOps.hpp +++ b/include/vast/Dialect/HighLevel/HighLevelOps.hpp @@ -19,7 +19,8 @@ VAST_UNRELAX_WARNINGS #include "vast/Dialect/Core/SymbolTable.hpp" #include "vast/Dialect/Core/Interfaces/SymbolInterface.hpp" -#include "vast/Interfaces/AggregateTypeDefinitionInterface.hpp" +#include "vast/Dialect/Core/Interfaces/TypeDefinitionInterface.hpp" + #include "vast/Interfaces/TypeTraitExprInterface.hpp" #include "vast/Interfaces/AST/DeclInterface.hpp" diff --git a/include/vast/Dialect/HighLevel/HighLevelOps.td b/include/vast/Dialect/HighLevel/HighLevelOps.td index aeb25c848e..ffa883e40b 100644 --- a/include/vast/Dialect/HighLevel/HighLevelOps.td +++ b/include/vast/Dialect/HighLevel/HighLevelOps.td @@ -8,10 +8,10 @@ include "mlir/IR/BuiltinAttributes.td" include "mlir/Interfaces/CastInterfaces.td" -include "vast/Interfaces/AggregateTypeDefinitionInterface.td" include "vast/Interfaces/TypeTraitExprInterface.td" include "vast/Dialect/Core/Interfaces/SymbolInterface.td" include "vast/Dialect/Core/Interfaces/SymbolTableInterface.td" +include "vast/Dialect/Core/Interfaces/TypeDefinitionInterface.td" include "vast/Dialect/HighLevel/HighLevelCF.td" @@ -105,7 +105,10 @@ def HighLevel_TypeDeclOp } def HighLevel_TypeDefOp - : HighLevel_Op< "typedef", [Core_TypeSymbol] > + : HighLevel_Op< "typedef", [ + Core_TypeSymbol, Core_TypeDefinition, + DeclareOpInterfaceMethods< Core_TypeDefinition, ["getDefinedType"] > + ] > , Arguments<(ins SymbolNameAttr:$sym_name, TypeAttr:$type)> { let summary = "VAST typedef operation"; @@ -117,15 +120,11 @@ def HighLevel_TypeDefOp This operation corresponds to `clang::TypedefDecl`. }]; - let extraClassDeclaration = [{ - mlir_type getDefinedType(); - }]; - let assemblyFormat = [{ $sym_name attr-dict `:` $type }]; } def HighLevel_TypeAliasOp - : HighLevel_Op< "alias", [Core_TypeSymbol] > + : HighLevel_Op< "alias", [Core_TypeSymbol, Core_TypeDefinition] > , Arguments<(ins SymbolNameAttr:$sym_name, TypeAttr:$type)> { let summary = "VAST type alias operation"; @@ -133,10 +132,6 @@ def HighLevel_TypeAliasOp This operation corresponds to `clang::TypeAliasDecl`. }]; - let extraClassDeclaration = [{ - mlir_type getDefinedType(); - }]; - let assemblyFormat = [{ $sym_name attr-dict `:` $type }]; } @@ -213,7 +208,7 @@ def HighLevel_EnumConstantOp def HighLevel_EnumRegion : Region< Core_HasOneBlock, "enum constants region" >; def HighLevel_EnumDeclOp - : HighLevel_Op< "enum", [NoTerminator, Core_TypeSymbol] > + : HighLevel_Op< "enum", [NoTerminator, Core_TypeSymbol, Core_TypeDefinition] > , Arguments<(ins SymbolNameAttr:$name, OptionalAttr:$type)> { let summary = "VAST enum declaration"; @@ -253,8 +248,9 @@ def HighLevel_EnumDeclOp class HighLevel_RecordLikeDeclOp< string mnemonic, list< Trait > traits = [] > : HighLevel_Op< mnemonic, !listconcat(traits, [ - NoTerminator, Core_TypeSymbol, - DeclareOpInterfaceMethods< AggregateTypeDefinition > + NoTerminator, Core_TypeSymbol, Core_AggregateTypeDefinition, + DeclareOpInterfaceMethods< Core_AggregateTypeDefinition >, + DeclareOpInterfaceMethods< Core_TypeDefinition, ["getDefinedType"] >, ]) > , Arguments<(ins SymbolNameAttr:$sym_name)> @@ -285,16 +281,14 @@ class HighLevel_RecordLikeDeclOp< string mnemonic, list< Trait > traits = [] > return hl::get_field_types(*this); } - gap::generator< vast::field_info_t > $cppClass::getFieldsInfo() { + gap::generator< vast::core::field_info_t > $cppClass::getFieldsInfo() { return hl::get_fields_info(*this); } - gap::generator< vast::AggregateTypeDefinitionInterface > $cppClass::getNestedDeclarations() { + gap::generator< vast::core::aggregate_interface > $cppClass::getNestedDeclarations() { return hl::get_nested_declarations(*this); } - llvm::StringRef $cppClass::getDefinedName() { return this->getSymName(); } - mlir::Type $cppClass::getDefinedType() { return hl::RecordType::get(getContext(), getDefinedName()); } @@ -304,9 +298,7 @@ class HighLevel_RecordLikeDeclOp< string mnemonic, list< Trait > traits = [] > } def HighLevel_StructDeclOp - : HighLevel_RecordLikeDeclOp< "struct", [ - DeclareOpInterfaceMethods< VAST_RecordDeclInterface > - ] > + : HighLevel_RecordLikeDeclOp< "struct" > { let summary = "VAST struct declaration"; let description = [{ VAST struct declaration }]; @@ -327,8 +319,8 @@ def HighLevel_FieldDeclOp let description = [{ VAST record field declaration }]; let extraClassDeclaration = [{ - vast::AggregateTypeDefinitionInterface getParentAggregate() { - return mlir::dyn_cast< vast::AggregateTypeDefinitionInterface >((*this)->getParentOp()); + vast::core::aggregate_interface getAggregate() { + return mlir::dyn_cast< vast::core::aggregate_interface >((*this)->getParentOp()); } }]; diff --git a/include/vast/Dialect/HighLevel/HighLevelUtils.hpp b/include/vast/Dialect/HighLevel/HighLevelUtils.hpp index 4782f138ab..45401e60f7 100644 --- a/include/vast/Dialect/HighLevel/HighLevelUtils.hpp +++ b/include/vast/Dialect/HighLevel/HighLevelUtils.hpp @@ -22,18 +22,16 @@ namespace vast::hl { - using aggregate_interface = AggregateTypeDefinitionInterface; - static inline gap::generator< mlir_type > get_field_types(auto op) { for (auto &&[_, type] : get_fields_info(op)) { co_yield type; } } - gap::generator< field_info_t > get_fields_info(auto op) { + gap::generator< core::field_info_t > get_fields_info(auto op) { for (auto &maybe_field : op.getOps()) { // Definition of nested structure, we ignore not a field. - if (mlir::isa< aggregate_interface >(maybe_field)) { + if (mlir::isa< core::aggregate_interface >(maybe_field)) { continue; } @@ -43,9 +41,9 @@ namespace vast::hl { } } - gap::generator< aggregate_interface > get_nested_declarations(auto op) { + gap::generator< core::aggregate_interface > get_nested_declarations(auto op) { for (auto &maybe_field : op.getOps()) { - if (auto casted = mlir::dyn_cast< aggregate_interface >(maybe_field)) { + if (auto casted = mlir::dyn_cast< core::aggregate_interface >(maybe_field)) { co_yield casted; } } @@ -54,12 +52,12 @@ namespace vast::hl { // TODO(hl): This is a placeholder that works in our test cases so far. // In general, we will need generic resolution for scoping that // will be used instead of this function. - aggregate_interface definition_of(mlir_type ty, auto scope) { + core::aggregate_interface definition_of(mlir_type ty, auto scope) { auto type_name = hl::name_of_record(ty); VAST_CHECK(type_name, "hl::name_of_record failed with {0}", ty); - aggregate_interface out; - auto walker = [&](aggregate_interface op) { + core::aggregate_interface out; + auto walker = [&](core::aggregate_interface op) { if (op.getDefinedName() == type_name) { out = op; return walk_result::interrupt(); @@ -122,7 +120,7 @@ namespace vast::hl { } } // namespace detail - static inline auto field_index(string_ref name, aggregate_interface agg) + static inline auto field_index(string_ref name, core::aggregate_interface agg) -> std::optional< std::size_t > { for (const auto &field : llvm::enumerate(detail::to_vector(agg.getFieldsInfo()))) { @@ -150,7 +148,7 @@ namespace vast::hl { }, scope, std::forward< decltype(yield) >(yield)); } - walk_result users(aggregate_interface op, auto scope, auto &&yield) { + walk_result users(core::aggregate_interface op, auto scope, auto &&yield) { return type_users([&](mlir_type ty) { if (auto rt = mlir::dyn_cast< RecordType >(ty)) return rt.getName() == op.getDefinedName(); diff --git a/include/vast/Interfaces/AggregateTypeDefinitionInterface.td b/include/vast/Interfaces/AggregateTypeDefinitionInterface.td deleted file mode 100644 index 0b52903ccd..0000000000 --- a/include/vast/Interfaces/AggregateTypeDefinitionInterface.td +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) 2024-present, Trail of Bits, Inc. - -#ifndef VAST_INTERFACES_AGGREGATE_TYPE_DEFINITION_INTERFACE -#define VAST_INTERFACES_AGGREGATE_TYPE_DEFINITION_INTERFACE - -include "mlir/IR/OpBase.td" -include "vast/Interfaces/Common.td" - -def AggregateTypeDefinition : VastOpInterface< "AggregateTypeDefinitionInterface" > { - let description = [{ - This operation is encoding of a type. - }]; - - let methods = [ - InterfaceMethod< "Returns element in order of their declaration.", - "gap::generator< mlir::Type >", "getFieldTypes", (ins), [{}] >, - - InterfaceMethod< "Return all elements in order of their declaration.", - "gap::generator< vast::field_info_t >", "getFieldsInfo", (ins), [{}] >, - - InterfaceMethod< "Return all nested definitions", - "gap::generator< vast::AggregateTypeDefinitionInterface >", - "getNestedDeclarations", (ins), [{}] >, - - InterfaceMethod< "Get name of the defined type", - "llvm::StringRef", "getDefinedName", (ins), [{}] >, - - InterfaceMethod< "Get defined type", - "mlir::Type", "getDefinedType", (ins), [{}] > - ]; -} - -#endif // VAST_INTERFACES_AGGREGATE_TYPE_DEFINITION_INTERFACE diff --git a/include/vast/Interfaces/CMakeLists.txt b/include/vast/Interfaces/CMakeLists.txt index c334ad41c7..748904fee1 100644 --- a/include/vast/Interfaces/CMakeLists.txt +++ b/include/vast/Interfaces/CMakeLists.txt @@ -1,4 +1,3 @@ -add_vast_op_interface(AggregateTypeDefinitionInterface) add_vast_op_interface(TypeTraitExprInterface) add_vast_attr_interface(TypeQualifiersInterfaces) add_vast_type_interface(AliasTypeInterface) diff --git a/lib/vast/Dialect/Core/CMakeLists.txt b/lib/vast/Dialect/Core/CMakeLists.txt index e97f003d35..57edcd697c 100644 --- a/lib/vast/Dialect/Core/CMakeLists.txt +++ b/lib/vast/Dialect/Core/CMakeLists.txt @@ -12,3 +12,5 @@ add_vast_dialect_library(Core LINK_LIBS PRIVATE VASTAliasTypeInterface ) + +add_subdirectory(Interfaces) diff --git a/lib/vast/Dialect/Core/Interfaces/CMakeLists.txt b/lib/vast/Dialect/Core/Interfaces/CMakeLists.txt new file mode 100644 index 0000000000..f0b93cf62c --- /dev/null +++ b/lib/vast/Dialect/Core/Interfaces/CMakeLists.txt @@ -0,0 +1,3 @@ +add_vast_interface_library(TypeDefinitionInterface + TypeDefinitionInterface.cpp +) diff --git a/lib/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.cpp b/lib/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.cpp new file mode 100644 index 0000000000..59743aff3b --- /dev/null +++ b/lib/vast/Dialect/Core/Interfaces/TypeDefinitionInterface.cpp @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Trail of Bits, Inc. + +#include "vast/Dialect/Core/Interfaces/TypeDefinitionInterface.hpp" + +//===----------------------------------------------------------------------===// +// Type Definition Interface +//===----------------------------------------------------------------------===// + +/// Include the generated interface. +#include "vast/Dialect/Core/Interfaces/TypeDefinitionInterface.cpp.inc" diff --git a/lib/vast/Dialect/HighLevel/HighLevelOps.cpp b/lib/vast/Dialect/HighLevel/HighLevelOps.cpp index 1e58366446..bbba0cdf9f 100644 --- a/lib/vast/Dialect/HighLevel/HighLevelOps.cpp +++ b/lib/vast/Dialect/HighLevel/HighLevelOps.cpp @@ -454,12 +454,6 @@ namespace vast::hl detail::build_record_like_decl(bld, st, name, fields); } - std::vector< vast::ast::VAST_FieldDeclInterface > StructDeclOp::fields() - { - std::vector< vast::ast::VAST_FieldDeclInterface > result; - return result; - } - void UnionDeclOp::build( Builder &bld, State &st, llvm::StringRef name, maybe_builder_callback_ref fields diff --git a/lib/vast/Dialect/HighLevel/Transforms/UDE.cpp b/lib/vast/Dialect/HighLevel/Transforms/UDE.cpp index ea62a41ef1..ddd6666bf4 100644 --- a/lib/vast/Dialect/HighLevel/Transforms/UDE.cpp +++ b/lib/vast/Dialect/HighLevel/Transforms/UDE.cpp @@ -14,7 +14,7 @@ VAST_UNRELAX_WARNINGS #include #include -#include +#include #include @@ -38,7 +38,7 @@ namespace vast::hl { template< typename yield_t > walk_result users(hl::FieldDeclOp decl, auto scope, yield_t &&yield) { - return hl::users(decl.getParentAggregate(), scope, std::forward< yield_t >(yield)); + return hl::users(decl.getAggregate(), scope, std::forward< yield_t >(yield)); } struct UDE : UDEBase< UDE > @@ -47,12 +47,15 @@ namespace vast::hl { std::unordered_set< operation > unused_cached; - bool keep(aggregate_interface op, auto scope) const { return keep_only_if_used; } + bool keep(core::aggregate_interface op, auto scope) const { + return keep_only_if_used; + } + bool keep(hl::TypeDefOp op, auto scope) const { return keep_only_if_used; } bool keep(hl::TypeDeclOp op, auto scope) const { return keep_only_if_used; } // Mark field to be kept if the parent aggregate is kept - bool keep(hl::FieldDeclOp op, auto scope) const { return keep(op.getParentAggregate(), scope); } + bool keep(hl::FieldDeclOp op, auto scope) const { return keep(op.getAggregate(), scope); } bool keep(hl::FuncOp op, auto scope) const { return !op.isDeclaration() && !util::has_attr< hl::AlwaysInlineAttr >(op); @@ -114,7 +117,9 @@ namespace vast::hl { VAST_UDE_DEBUG("processing: {0}", *op); bool result = llvm::TypeSwitch< operation, bool >(op) - .Case([&](aggregate_interface op) { return is_unused_impl(op, scope, seen); }) + .Case([&](core::aggregate_interface op) { + return is_unused_impl(op, scope, seen); + }) .Case([&](hl::FieldDeclOp op) { return is_unused_impl(op, scope, seen); }) .Case([&](hl::TypeDefOp op) { return is_unused_impl(op, scope, seen); }) .Case([&](hl::TypeDeclOp op) { return is_unused_impl(op, scope, seen); }) @@ -151,7 +156,7 @@ namespace vast::hl { unused_types.insert(td.getDefinedType()); } - if (auto agg = mlir::dyn_cast< aggregate_interface >(op)) { + if (auto agg = mlir::dyn_cast< core::aggregate_interface >(op)) { unused_types.insert(agg.getDefinedType()); } diff --git a/lib/vast/Interfaces/AggregateTypeDefinitionInterface.cpp b/lib/vast/Interfaces/AggregateTypeDefinitionInterface.cpp deleted file mode 100644 index 194e616a7a..0000000000 --- a/lib/vast/Interfaces/AggregateTypeDefinitionInterface.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) 2023-present, Trail of Bits, Inc. - -#include "vast/Interfaces/AggregateTypeDefinitionInterface.hpp" - -//===----------------------------------------------------------------------===// -// Aggregate Type Definition Interface -//===----------------------------------------------------------------------===// - -/// Include the generated interface. -#include "vast/Interfaces/AggregateTypeDefinitionInterface.cpp.inc" diff --git a/lib/vast/Interfaces/CMakeLists.txt b/lib/vast/Interfaces/CMakeLists.txt index 3d6b3fbd32..87b800cd3e 100644 --- a/lib/vast/Interfaces/CMakeLists.txt +++ b/lib/vast/Interfaces/CMakeLists.txt @@ -1,5 +1,4 @@ set(VAST_OPTIONAL_SOURCES - AggregateTypeDefinitionInterface.cpp AliasTypeInterface.cpp DefaultDataLayoutTypeInterface.cpp ElementTypeInterface.cpp @@ -10,10 +9,6 @@ set(VAST_OPTIONAL_SOURCES TypeTraitExprInterface.cpp ) -add_vast_interface_library(AggregateTypeDefinitionInterface - AggregateTypeDefinitionInterface.cpp -) - add_vast_interface_library(AliasTypeInterface AliasTypeInterface.cpp )