mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[AutoDiff] Fix "'alignof' to an incomplete type" error in AutoDiff.h. (#29983)
Using `DenseMap<SILAutoDiffDerivativeFunctionKey, ...>` in a file that includes AutoDiff.h but not Types.h produced the following error: ``` error: invalid application of 'alignof' to an incomplete type 'swift::SILFunctionType' ``` Fix the error by: - Including TypeAlignments.h in AutoDiff.h. - Adding an alignment forward declaration for `SILFunctionType` to TypeAlignments.h.
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "swift/AST/Identifier.h"
|
||||
#include "swift/AST/IndexSubset.h"
|
||||
#include "swift/AST/Type.h"
|
||||
#include "swift/AST/TypeAlignments.h"
|
||||
#include "swift/Basic/Range.h"
|
||||
#include "swift/Basic/SourceLoc.h"
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace swift {
|
||||
class ProtocolDecl;
|
||||
class ProtocolConformance;
|
||||
class SILFunction;
|
||||
class SILFunctionType;
|
||||
class Stmt;
|
||||
class TypeVariableType;
|
||||
class TypeBase;
|
||||
@@ -100,6 +101,8 @@ LLVM_DECLARE_TYPE_ALIGNMENT(swift::ExtensionDecl, swift::DeclAlignInBits)
|
||||
LLVM_DECLARE_TYPE_ALIGNMENT(swift::TypeBase, swift::TypeAlignInBits)
|
||||
LLVM_DECLARE_TYPE_ALIGNMENT(swift::ArchetypeType, swift::TypeAlignInBits)
|
||||
LLVM_DECLARE_TYPE_ALIGNMENT(swift::TypeVariableType, swift::TypeVariableAlignInBits)
|
||||
LLVM_DECLARE_TYPE_ALIGNMENT(swift::SILFunctionType,
|
||||
swift::TypeVariableAlignInBits)
|
||||
|
||||
LLVM_DECLARE_TYPE_ALIGNMENT(swift::Stmt, swift::StmtAlignInBits)
|
||||
LLVM_DECLARE_TYPE_ALIGNMENT(swift::BraceStmt, swift::StmtAlignInBits)
|
||||
|
||||
Reference in New Issue
Block a user