Skip to content

Commit 4c8f57f

Browse files
author
Kyle Krueger
committed
move RecordsEntry constructors out of header
[172/6259] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Parser.cpp.o FAILED: [code=1] lib/TableGen/CMakeFiles/LLVMTableGen.dir/Parser.cpp.o /usr/bin/c++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/kykrueger/repos/llvm-project/build/lib/TableGen -I/Users/kykrueger/repos /llvm-project/llvm/lib/TableGen -I/Users/kykrueger/repos/llvm-project/build/include -I/Users/kykrueger/repos/llvm-project/llvm/include -isystem /opt/homebrew/include -fPIC -fvisibility-inlines-hidden -Werror=date-ti me -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered- switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -O3 -DNDEBUG -std=c++2b -ar ch arm64 -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/TableGen/CMakeFiles/LLVMTableGen.dir/Parser.cpp.o -MF lib/TableGen/CMakeFiles/LLVMTableGen.dir/Parser.cpp.o.d -o lib/TableGen/CMakeFiles/LLVMTableGen.d ir/Parser.cpp.o -c /Users/kykrueger/repos/llvm-project/llvm/lib/TableGen/Parser.cpp In file included from /Users/kykrueger/repos/llvm-project/llvm/lib/TableGen/Parser.cpp:10: In file included from /Users/kykrueger/repos/llvm-project/llvm/lib/TableGen/TGParser.h:16: In file included from /Users/kykrueger/repos/llvm-project/llvm/lib/TableGen/TGLexer.h:16: In file included from /Users/kykrueger/repos/llvm-project/llvm/include/llvm/ADT/SmallVector.h:19: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:1846: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h:28: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:79:19: error: invalid application of 'sizeof' to an incomplete type 'llvm::ForeachLoop' 79 | static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type"); | ^~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:293:7: note: in instantiation of member function 'std::default_delete<llvm::ForeachLoop>::operator()' requested here 293 | __ptr_.second()(__tmp); | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:262:71: note: in instantiation of member function 'std::unique_ptr<llvm::ForeachLoop>::reset' requested here 262 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } | ^ /Users/kykrueger/repos/llvm-project/llvm/lib/TableGen/TGParser.h:49:3: note: in instantiation of member function 'std::unique_ptr<llvm::ForeachLoop>::~unique_ptr' requested here 49 | RecordsEntry(std::unique_ptr<Record> Rec) : Rec(std::move(Rec)) {} | ^ /Users/kykrueger/repos/llvm-project/llvm/lib/TableGen/TGParser.h:24:8: note: forward declaration of 'llvm::ForeachLoop' 24 | struct ForeachLoop; | ^ 1 error generated.
1 parent 16ad202 commit 4c8f57f

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

llvm/lib/TableGen/TGParser.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ using namespace llvm;
3333

3434
namespace llvm {
3535

36+
RecordsEntry::RecordsEntry(std::unique_ptr<Record> Rec) : Rec(std::move(Rec)) {}
37+
RecordsEntry::RecordsEntry(std::unique_ptr<ForeachLoop> Loop) : Loop(std::move(Loop)) {}
38+
RecordsEntry::RecordsEntry(std::unique_ptr<Record::AssertionInfo> Assertion)
39+
: Assertion(std::move(Assertion)) {}
40+
RecordsEntry::RecordsEntry(std::unique_ptr<Record::DumpInfo> Dump)
41+
: Dump(std::move(Dump)) {}
42+
3643
struct SubClassReference {
3744
SMRange RefRange;
3845
const Record *Rec = nullptr;

llvm/lib/TableGen/TGParser.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,10 @@ struct RecordsEntry {
4646
void dump() const;
4747

4848
RecordsEntry() = default;
49-
RecordsEntry(std::unique_ptr<Record> Rec) : Rec(std::move(Rec)) {}
50-
RecordsEntry(std::unique_ptr<ForeachLoop> Loop) : Loop(std::move(Loop)) {}
51-
RecordsEntry(std::unique_ptr<Record::AssertionInfo> Assertion)
52-
: Assertion(std::move(Assertion)) {}
53-
RecordsEntry(std::unique_ptr<Record::DumpInfo> Dump)
54-
: Dump(std::move(Dump)) {}
49+
RecordsEntry(std::unique_ptr<Record> Rec);
50+
RecordsEntry(std::unique_ptr<ForeachLoop> Loop);
51+
RecordsEntry(std::unique_ptr<Record::AssertionInfo> Assertion);
52+
RecordsEntry(std::unique_ptr<Record::DumpInfo> Dump);
5553
};
5654

5755
/// ForeachLoop - Record the iteration state associated with a for loop.

0 commit comments

Comments
 (0)