1. 29 Apr, 2017 2 commits
  2. 28 Apr, 2017 23 commits
  3. 27 Apr, 2017 3 commits
  4. 26 Apr, 2017 8 commits
  5. 25 Apr, 2017 4 commits
    • Kenton Varda's avatar
      Work around ABI incompatibility between GCC and Clang. · 336f6bd7
      Kenton Varda authored
      Fixes #212
      336f6bd7
    • Kenton Varda's avatar
      Work around Clang and GCC disagreeing on name mangling. · bcd9e553
      Kenton Varda authored
      Specifically, consider:
      
          capnp::BuilderFor<capnp::DynamicStruct> capnp::Orphan<capnp::AnyPointer>::getAs<capnp::DynamicStruct>(capnp::StructSchema)
      
      Note that `BuilderFor` is a "template using" directive which expands into something more complicated.
      
      GCC mangles the symbol as:
      
          _ZN5capnp6OrphanINS_10AnyPointerEE5getAsINS_13DynamicStructEEENS_11BuilderFor_IT_Xcl4kindIS6_EEEE4TypeENS_12StructSchemaE
      
      Which `c++filt` decodes as:
      
          capnp::BuilderFor_<capnp::DynamicStruct, (kind<capnp::DynamicStruct>)()>::Type capnp::Orphan<capnp::AnyPointer>::getAs<capnp::DynamicStruct>(capnp::StructSchema)
      
      Note that `BuilderFor_<...>::Type` here ends up being a typedef for `DynamicStruct::Builder`. It seems weird to me that the symbol name would not substitute this typedef.
      
      Clang, meanwhile, mangles the symbol as:
      
          _ZN5capnp6OrphanINS_10AnyPointerEE5getAsINS_13DynamicStructEEENS_11BuilderFor_IT_Xclgssr5capnpE4kindIS6_EEEE4TypeENS_12StructSchemaE
      
      Which `c++filt` does not seem to be able to demangle at all. But, it looks like `capnp::kind` is in there, suggesting that, again, the typedef wasn't substituted.
      
      I don't know who is right, but if we inline the whole thing, the problem goes away.
      bcd9e553
    • Kenton Varda's avatar
      Don't report missing file ID error after parse error. · 880bbbbe
      Kenton Varda authored
      Fixes #251
      880bbbbe
    • Kenton Varda's avatar
      Fix dynamic pipelining on 'Capability' type. · 559a592b
      Kenton Varda authored
      Fixes #336
      559a592b