Commit ead1a3b3 authored by Kenton Varda's avatar Kenton Varda

MSVC: Work around constexpr bugs in generated code.

parent 428f1313
......@@ -1786,8 +1786,13 @@ private:
structNode.getPointerCount(), ")\n");
kj::StringTree defineText = kj::strTree(
"// ", fullName, "\n",
templates, "constexpr ::capnp::_::StructSize ", fullName, "::_capnpPrivate::structSize;\n",
"// ", fullName, "\n"
// TODO(msvc): MSVC doen't expect constexprs to have definitions. Remove #if once
// MSVC catches up on constexpr.
"#if !_MSC_VER\n",
templates, "constexpr uint16_t ", fullName, "::_capnpPrivate::dataWordSize;\n",
templates, "constexpr uint16_t ", fullName, "::_capnpPrivate::pointerCount;\n"
"#endif\n",
"#if !CAPNP_LITE\n",
templates, "constexpr ::capnp::Kind ", fullName, "::_capnpPrivate::kind;\n",
templates, "constexpr ::capnp::_::RawSchema const* ", fullName, "::_capnpPrivate::schema;\n",
......@@ -2221,7 +2226,6 @@ private:
const char* linkage = scope.size() == 0 ? "extern " : "static ";
switch (type.which()) {
case schema::Value::VOID:
case schema::Value::BOOL:
case schema::Value::INT8:
case schema::Value::INT16:
......@@ -2231,17 +2235,35 @@ private:
case schema::Value::UINT16:
case schema::Value::UINT32:
case schema::Value::UINT64:
case schema::Value::FLOAT32:
case schema::Value::FLOAT64:
case schema::Value::ENUM:
return ConstText {
false,
kj::strTree("static constexpr ", typeName_, ' ', upperCase, " = ",
literalValue(schema.getType(), constProto.getValue()), ";\n"),
scope.size() == 0 ? kj::strTree() : kj::strTree(
"constexpr ", typeName_, ' ', scope, upperCase, ";\n")
// TODO(msvc): MSVC doesn't like definitions of constexprs, but other compilers and
// the standard require them.
"#if !_MSC_VER\n"
"constexpr ", typeName_, ' ', scope, upperCase, ";\n"
"#endif\n")
};
case schema::Value::VOID:
case schema::Value::FLOAT32:
case schema::Value::FLOAT64: {
// TODO(msvc): MSVC doesn't like float- or class-typed constexprs. As soon as this is fixed,
// treat VOID, FLOAT32, and FLOAT64 the same as the other primitives.
kj::String value = literalValue(schema.getType(), constProto.getValue()).flatten();
return ConstText {
false,
kj::strTree("static KJ_CONSTEXPR(const) ", typeName_, ' ', upperCase,
" CAPNP_NON_INT_CONSTEXPR_DECL_INIT(", value, ");\n"),
scope.size() == 0 ? kj::strTree() : kj::strTree(
"KJ_CONSTEXPR(const) ", typeName_, ' ', scope, upperCase,
" CAPNP_NON_INT_CONSTEXPR_DEF_INIT(", value, ");\n")
};
}
case schema::Value::TEXT: {
kj::String constType = kj::strTree(
"::capnp::_::ConstText<", schema.as<Text>().size(), ">").flatten();
......
This diff is collapsed.
......@@ -463,7 +463,10 @@ namespace capnp {
namespace compiler {
// Token
constexpr ::capnp::_::StructSize Token::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Token::_capnpPrivate::dataWordSize;
constexpr uint16_t Token::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Token::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Token::_capnpPrivate::schema;
......@@ -471,7 +474,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Token::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Statement
constexpr ::capnp::_::StructSize Statement::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Statement::_capnpPrivate::dataWordSize;
constexpr uint16_t Statement::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Statement::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Statement::_capnpPrivate::schema;
......@@ -479,7 +485,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Statement::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// LexedTokens
constexpr ::capnp::_::StructSize LexedTokens::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t LexedTokens::_capnpPrivate::dataWordSize;
constexpr uint16_t LexedTokens::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind LexedTokens::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* LexedTokens::_capnpPrivate::schema;
......@@ -487,7 +496,10 @@ constexpr ::capnp::_::RawBrandedSchema const* LexedTokens::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// LexedStatements
constexpr ::capnp::_::StructSize LexedStatements::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t LexedStatements::_capnpPrivate::dataWordSize;
constexpr uint16_t LexedStatements::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind LexedStatements::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* LexedStatements::_capnpPrivate::schema;
......
......@@ -458,6 +458,17 @@ inline constexpr uint sizeInWords() {
} // namespace capnp
#if _MSC_VER
// MSVC doesn't understand floating-point constexpr yet.
//
// TODO(msvc): Remove this hack when MSVC is fixed.
#define CAPNP_NON_INT_CONSTEXPR_DECL_INIT(value)
#define CAPNP_NON_INT_CONSTEXPR_DEF_INIT(value) = value
#else
#define CAPNP_NON_INT_CONSTEXPR_DECL_INIT(value) = value
#define CAPNP_NON_INT_CONSTEXPR_DEF_INIT(value)
#endif
#if CAPNP_LITE
#define CAPNP_DECLARE_SCHEMA(id) \
......@@ -469,14 +480,20 @@ inline constexpr uint sizeInWords() {
static constexpr uint64_t typeId = 0x##id; \
static inline ::capnp::word const* encodedSchema() { return bp_##id; } \
}
#if _MSC_VER
// TODO(msvc): MSVC dosen't expect constexprs to have definitions.
#define CAPNP_DEFINE_ENUM(type, id)
#else
#define CAPNP_DEFINE_ENUM(type, id) \
constexpr uint64_t EnumInfo<type>::typeId
#endif
#define CAPNP_DECLARE_STRUCT_HEADER(id, dataWordSize, pointerCount) \
#define CAPNP_DECLARE_STRUCT_HEADER(id, dataWordSize_, pointerCount_) \
struct IsStruct; \
static constexpr uint64_t typeId = 0x##id; \
static constexpr ::capnp::_::StructSize structSize = ::capnp::_::StructSize( \
dataWordSize * ::capnp::WORDS, pointerCount * ::capnp::POINTERS); \
static constexpr uint16_t dataWordSize = dataWordSize_; \
static constexpr uint16_t pointerCount = pointerCount_; \
static inline ::capnp::word const* encodedSchema() { return ::capnp::schemas::bp_##id; }
#else // CAPNP_LITE
......@@ -496,12 +513,12 @@ inline constexpr uint sizeInWords() {
constexpr uint64_t EnumInfo<type>::typeId; \
constexpr ::capnp::_::RawSchema const* EnumInfo<type>::schema
#define CAPNP_DECLARE_STRUCT_HEADER(id, dataWordSize, pointerCount) \
#define CAPNP_DECLARE_STRUCT_HEADER(id, dataWordSize_, pointerCount_) \
struct IsStruct; \
static constexpr uint64_t typeId = 0x##id; \
static constexpr ::capnp::Kind kind = ::capnp::Kind::STRUCT; \
static constexpr ::capnp::_::StructSize structSize = ::capnp::_::StructSize( \
dataWordSize * ::capnp::WORDS, pointerCount * ::capnp::POINTERS); \
static constexpr uint16_t dataWordSize = dataWordSize_; \
static constexpr uint16_t pointerCount = pointerCount_; \
static inline ::capnp::word const* encodedSchema() { return ::capnp::schemas::bp_##id; } \
static constexpr ::capnp::_::RawSchema const* schema = &::capnp::schemas::s_##id;
......
......@@ -178,16 +178,9 @@ struct StructSize {
: data(data), pointers(pointers) {}
};
template <typename T> struct StructSize_;
// Specialized for every struct type with member: static constexpr StructSize value"
template <typename T, typename = typename StructSize_<T>::Exists>
inline constexpr StructSize structSize() {
return StructSize_<T>::value;
}
template <typename T, typename CapnpPrivate = typename T::_capnpPrivate, bool = false>
template <typename T, typename CapnpPrivate = typename T::_capnpPrivate>
inline constexpr StructSize structSize() {
return CapnpPrivate::structSize;
return StructSize(CapnpPrivate::dataWordSize * WORDS, CapnpPrivate::pointerCount * POINTERS);
}
// -------------------------------------------------------------------
......@@ -630,7 +623,6 @@ private:
friend class StructBuilder;
friend struct WireHelpers;
friend class OrphanBuilder;
friend class AnyStruct;
};
class ListReader {
......
......@@ -649,8 +649,12 @@ inline typename ::capnp::Persistent<SturdyRef>::Client& Persistent<SturdyRef>::
#endif // !CAPNP_LITE
// Persistent<SturdyRef>::SaveParams
#if !_MSC_VER
template <typename SturdyRef>
constexpr ::capnp::_::StructSize Persistent<SturdyRef>::SaveParams::_capnpPrivate::structSize;
constexpr uint16_t Persistent<SturdyRef>::SaveParams::_capnpPrivate::dataWordSize;
template <typename SturdyRef>
constexpr uint16_t Persistent<SturdyRef>::SaveParams::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename SturdyRef>
constexpr ::capnp::Kind Persistent<SturdyRef>::SaveParams::_capnpPrivate::kind;
......@@ -725,8 +729,12 @@ inline ::capnp::Orphan<SturdyRef> Persistent<SturdyRef>::SaveResults::Builder::d
}
// Persistent<SturdyRef>::SaveResults
#if !_MSC_VER
template <typename SturdyRef>
constexpr ::capnp::_::StructSize Persistent<SturdyRef>::SaveResults::_capnpPrivate::structSize;
constexpr uint16_t Persistent<SturdyRef>::SaveResults::_capnpPrivate::dataWordSize;
template <typename SturdyRef>
constexpr uint16_t Persistent<SturdyRef>::SaveResults::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename SturdyRef>
constexpr ::capnp::Kind Persistent<SturdyRef>::SaveResults::_capnpPrivate::kind;
......@@ -941,8 +949,12 @@ inline ::capnp::Orphan<typename ::capnp::Persistent<InternalRef>::SaveParams> R
}
// RealmGateway<InternalRef, ExternalRef>::ImportParams
#if !_MSC_VER
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::StructSize RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::structSize;
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::dataWordSize;
template <typename InternalRef, typename ExternalRef>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::kind;
......@@ -1064,8 +1076,12 @@ inline ::capnp::Orphan<typename ::capnp::Persistent<ExternalRef>::SaveParams> R
}
// RealmGateway<InternalRef, ExternalRef>::ExportParams
#if !_MSC_VER
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::StructSize RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::structSize;
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::dataWordSize;
template <typename InternalRef, typename ExternalRef>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::kind;
......
......@@ -351,7 +351,10 @@ namespace rpc {
namespace twoparty {
// VatId
constexpr ::capnp::_::StructSize VatId::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t VatId::_capnpPrivate::dataWordSize;
constexpr uint16_t VatId::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind VatId::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* VatId::_capnpPrivate::schema;
......@@ -359,7 +362,10 @@ constexpr ::capnp::_::RawBrandedSchema const* VatId::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// ProvisionId
constexpr ::capnp::_::StructSize ProvisionId::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t ProvisionId::_capnpPrivate::dataWordSize;
constexpr uint16_t ProvisionId::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind ProvisionId::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* ProvisionId::_capnpPrivate::schema;
......@@ -367,7 +373,10 @@ constexpr ::capnp::_::RawBrandedSchema const* ProvisionId::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// RecipientId
constexpr ::capnp::_::StructSize RecipientId::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t RecipientId::_capnpPrivate::dataWordSize;
constexpr uint16_t RecipientId::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind RecipientId::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* RecipientId::_capnpPrivate::schema;
......@@ -375,7 +384,10 @@ constexpr ::capnp::_::RawBrandedSchema const* RecipientId::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// ThirdPartyCapId
constexpr ::capnp::_::StructSize ThirdPartyCapId::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t ThirdPartyCapId::_capnpPrivate::dataWordSize;
constexpr uint16_t ThirdPartyCapId::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind ThirdPartyCapId::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* ThirdPartyCapId::_capnpPrivate::schema;
......@@ -383,7 +395,10 @@ constexpr ::capnp::_::RawBrandedSchema const* ThirdPartyCapId::_capnpPrivate::br
#endif // !CAPNP_LITE
// JoinKeyPart
constexpr ::capnp::_::StructSize JoinKeyPart::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t JoinKeyPart::_capnpPrivate::dataWordSize;
constexpr uint16_t JoinKeyPart::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind JoinKeyPart::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* JoinKeyPart::_capnpPrivate::schema;
......@@ -391,7 +406,10 @@ constexpr ::capnp::_::RawBrandedSchema const* JoinKeyPart::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// JoinResult
constexpr ::capnp::_::StructSize JoinResult::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t JoinResult::_capnpPrivate::dataWordSize;
constexpr uint16_t JoinResult::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind JoinResult::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* JoinResult::_capnpPrivate::schema;
......
......@@ -1871,7 +1871,10 @@ namespace capnp {
namespace rpc {
// Message
constexpr ::capnp::_::StructSize Message::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Message::_capnpPrivate::dataWordSize;
constexpr uint16_t Message::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Message::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Message::_capnpPrivate::schema;
......@@ -1879,7 +1882,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Message::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Bootstrap
constexpr ::capnp::_::StructSize Bootstrap::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Bootstrap::_capnpPrivate::dataWordSize;
constexpr uint16_t Bootstrap::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Bootstrap::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Bootstrap::_capnpPrivate::schema;
......@@ -1887,7 +1893,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Bootstrap::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Call
constexpr ::capnp::_::StructSize Call::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Call::_capnpPrivate::dataWordSize;
constexpr uint16_t Call::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Call::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Call::_capnpPrivate::schema;
......@@ -1895,7 +1904,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Call::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Call::SendResultsTo
constexpr ::capnp::_::StructSize Call::SendResultsTo::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Call::SendResultsTo::_capnpPrivate::dataWordSize;
constexpr uint16_t Call::SendResultsTo::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Call::SendResultsTo::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Call::SendResultsTo::_capnpPrivate::schema;
......@@ -1903,7 +1915,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Call::SendResultsTo::_capnpPrivate
#endif // !CAPNP_LITE
// Return
constexpr ::capnp::_::StructSize Return::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Return::_capnpPrivate::dataWordSize;
constexpr uint16_t Return::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Return::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Return::_capnpPrivate::schema;
......@@ -1911,7 +1926,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Return::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Finish
constexpr ::capnp::_::StructSize Finish::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Finish::_capnpPrivate::dataWordSize;
constexpr uint16_t Finish::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Finish::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Finish::_capnpPrivate::schema;
......@@ -1919,7 +1937,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Finish::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Resolve
constexpr ::capnp::_::StructSize Resolve::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Resolve::_capnpPrivate::dataWordSize;
constexpr uint16_t Resolve::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Resolve::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Resolve::_capnpPrivate::schema;
......@@ -1927,7 +1948,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Resolve::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Release
constexpr ::capnp::_::StructSize Release::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Release::_capnpPrivate::dataWordSize;
constexpr uint16_t Release::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Release::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Release::_capnpPrivate::schema;
......@@ -1935,7 +1959,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Release::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Disembargo
constexpr ::capnp::_::StructSize Disembargo::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Disembargo::_capnpPrivate::dataWordSize;
constexpr uint16_t Disembargo::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Disembargo::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Disembargo::_capnpPrivate::schema;
......@@ -1943,7 +1970,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Disembargo::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Disembargo::Context
constexpr ::capnp::_::StructSize Disembargo::Context::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Disembargo::Context::_capnpPrivate::dataWordSize;
constexpr uint16_t Disembargo::Context::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Disembargo::Context::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Disembargo::Context::_capnpPrivate::schema;
......@@ -1951,7 +1981,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Disembargo::Context::_capnpPrivate
#endif // !CAPNP_LITE
// Provide
constexpr ::capnp::_::StructSize Provide::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Provide::_capnpPrivate::dataWordSize;
constexpr uint16_t Provide::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Provide::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Provide::_capnpPrivate::schema;
......@@ -1959,7 +1992,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Provide::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Accept
constexpr ::capnp::_::StructSize Accept::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Accept::_capnpPrivate::dataWordSize;
constexpr uint16_t Accept::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Accept::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Accept::_capnpPrivate::schema;
......@@ -1967,7 +2003,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Accept::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// Join
constexpr ::capnp::_::StructSize Join::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Join::_capnpPrivate::dataWordSize;
constexpr uint16_t Join::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Join::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Join::_capnpPrivate::schema;
......@@ -1975,7 +2014,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Join::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// MessageTarget
constexpr ::capnp::_::StructSize MessageTarget::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t MessageTarget::_capnpPrivate::dataWordSize;
constexpr uint16_t MessageTarget::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind MessageTarget::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* MessageTarget::_capnpPrivate::schema;
......@@ -1983,7 +2025,10 @@ constexpr ::capnp::_::RawBrandedSchema const* MessageTarget::_capnpPrivate::bran
#endif // !CAPNP_LITE
// Payload
constexpr ::capnp::_::StructSize Payload::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Payload::_capnpPrivate::dataWordSize;
constexpr uint16_t Payload::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Payload::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Payload::_capnpPrivate::schema;
......@@ -1991,7 +2036,10 @@ constexpr ::capnp::_::RawBrandedSchema const* Payload::_capnpPrivate::brand;
#endif // !CAPNP_LITE
// CapDescriptor
constexpr ::capnp::_::StructSize CapDescriptor::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t CapDescriptor::_capnpPrivate::dataWordSize;
constexpr uint16_t CapDescriptor::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind CapDescriptor::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* CapDescriptor::_capnpPrivate::schema;
......@@ -1999,7 +2047,10 @@ constexpr ::capnp::_::RawBrandedSchema const* CapDescriptor::_capnpPrivate::bran
#endif // !CAPNP_LITE
// PromisedAnswer
constexpr ::capnp::_::StructSize PromisedAnswer::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t PromisedAnswer::_capnpPrivate::dataWordSize;
constexpr uint16_t PromisedAnswer::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind PromisedAnswer::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* PromisedAnswer::_capnpPrivate::schema;
......@@ -2007,7 +2058,10 @@ constexpr ::capnp::_::RawBrandedSchema const* PromisedAnswer::_capnpPrivate::bra
#endif // !CAPNP_LITE
// PromisedAnswer::Op
constexpr ::capnp::_::StructSize PromisedAnswer::Op::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t PromisedAnswer::Op::_capnpPrivate::dataWordSize;
constexpr uint16_t PromisedAnswer::Op::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind PromisedAnswer::Op::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* PromisedAnswer::Op::_capnpPrivate::schema;
......@@ -2015,7 +2069,10 @@ constexpr ::capnp::_::RawBrandedSchema const* PromisedAnswer::Op::_capnpPrivate:
#endif // !CAPNP_LITE
// ThirdPartyCapDescriptor
constexpr ::capnp::_::StructSize ThirdPartyCapDescriptor::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t ThirdPartyCapDescriptor::_capnpPrivate::dataWordSize;
constexpr uint16_t ThirdPartyCapDescriptor::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind ThirdPartyCapDescriptor::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* ThirdPartyCapDescriptor::_capnpPrivate::schema;
......@@ -2023,7 +2080,10 @@ constexpr ::capnp::_::RawBrandedSchema const* ThirdPartyCapDescriptor::_capnpPri
#endif // !CAPNP_LITE
// Exception
constexpr ::capnp::_::StructSize Exception::_capnpPrivate::structSize;
#if !_MSC_VER
constexpr uint16_t Exception::_capnpPrivate::dataWordSize;
constexpr uint16_t Exception::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
constexpr ::capnp::Kind Exception::_capnpPrivate::kind;
constexpr ::capnp::_::RawSchema const* Exception::_capnpPrivate::schema;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment