- 01 Apr, 2019 1 commit
-
-
Kenton Varda authored
Not sure how this slipped by for so long!
-
- 19 Feb, 2019 1 commit
-
-
Kenton Varda authored
For trivial types, we already had this const_cast (line 622), but for non-trivial types it was missing.
-
- 07 Dec, 2018 1 commit
-
-
Max FERGER authored
-
- 02 Sep, 2018 1 commit
-
-
Harris Hancock authored
-
- 05 Aug, 2018 1 commit
-
-
Kenton Varda authored
-
- 01 Feb, 2018 1 commit
-
-
Kenton Varda authored
-
- 31 Jan, 2018 1 commit
-
-
Kenton Varda authored
Array::attach() is like Own::attach(). ArrayPtr::attach() promotes an ArrayPtr to an Array by attaching other objects to it. (Hopefully one of those objects actually owns the underlying array data.)
-
- 11 Jan, 2018 1 commit
-
-
Kenton Varda authored
@kloepper pointed out a while back that every compiler you've ever heard of supports this. Plus, it's more concise, it's not prone to copy-paste errors, and it looks nicer. At the time I wanted to remain consistent and I didn't feel like spending the time to update all my existing code. But, every time I've added a new header since I've cursed the include guard, so I finally broke down and changed it.
-
- 23 Oct, 2017 1 commit
-
-
Kenton Varda authored
-
- 12 Oct, 2017 1 commit
-
-
Edward Catmur authored
It is invalid to pass null as a pointer argument to memcpy/memcmp/memset, even if the count argument is zero: > Where an argument declared as size_t n specifies the length of the array for a function, n can have the value zero on a call to that function. Unless explicitly stated otherwise in the description of a particular function in this subclause, pointer arguments on such a call shall still have valid values [...] Detected by -fsanitize=nonnull-attribute.
-
- 03 Sep, 2017 1 commit
-
-
David Renshaw authored
ubsan complains about the invalid reference even if it is unused.
-
- 03 Jun, 2017 1 commit
-
-
Kenton Varda authored
-
- 02 Jun, 2017 2 commits
-
-
Kenton Varda authored
std::initializer_list is problematic because it insists that its elements be const, meaning among other things that you can't move from them. So, an std::initializer_list<kj::String> is often useless. With kj::arr you can do like: kj::Array<String> = kj::arr(kj::mv(string1), kj::mv(string2)); This requires C++17 due to the fold expression. This could maybe be worked around using some ugly recursion but I'm writing C++17 these days so meh.
-
Kenton Varda authored
I'm increasingly thinking that maybe kj::Array itself should support Vector semantics, but for now this change makes it easier to write code that uses Vector instead of Array.
-
- 07 Apr, 2017 2 commits
-
-
Kenton Varda authored
I'm not really sure how Cap'n Proto has worked at all on GCC 5. For some reason this only ended up being tickled after e6e29122. Fixes #442.
-
Kenton Varda authored
-
- 02 Feb, 2017 1 commit
-
-
Harris Hancock authored
Closes #408. Perhaps the same bug as in commit cff9ba05?
-
- 26 Jan, 2017 1 commit
-
-
Kenton Varda authored
-
- 24 Jan, 2017 1 commit
-
-
Kenton Varda authored
-
- 29 Jul, 2015 1 commit
-
-
Kenton Varda authored
Example: const data :Data = embed "some-file.dat"; Files are looked up the same way an import would be. You can use embed when Data or Text is expected. You can also use it when a struct type is expected -- the file will be interpreted as a message using standard binary serialization.
-
- 29 Nov, 2014 1 commit
-
-
Kenton Varda authored
Add asBytes() and asChars() methods to array classes to reinterpret-cast to bytes / chars, since this happens all the time and is otherwise a huge pain. Use the new methods in a bunch of places.
-
- 23 Nov, 2014 1 commit
-
-
Kenton Varda authored
Thanks to Bryan Boreham <bjboreham@gmail.com> for much help getting this started.
-
- 22 Nov, 2014 1 commit
-
-
Kenton Varda authored
This prevents the compiler from reporting warnings in these headers while compiling application code. Hopefully this will stem the never-ending stream of complaints from people who enable pedantic warnings.
-
- 20 Oct, 2014 1 commit
-
-
Kenton Varda authored
More refactoring is needed, but this at least makes "using" aliases work correctly with generics.
-
- 20 Jun, 2014 1 commit
-
-
Kenton Varda authored
For portions currently copyright by Kenton (most of it), transfer copyright to Sandstorm Development Group, Inc. (Kenton's company). The license change is practically meaningless, as MIT and BSD 2-clause are legally equivalent. However, the BSD 2-clause license is sometimes confused for its ugly siblings, BSD 3-clause and BSD 4-clause. The MIT license is more immediately recognizeable for what it is. Rémy Blank and Jason Choy (the two non-trivial contributors) are on record as approving this change: https://groups.google.com/d/msg/capnproto/xXDd2HUOCcc/gbe_COIuXKYJ
-
- 10 Dec, 2013 1 commit
-
-
Kenton Varda authored
-
- 19 Nov, 2013 1 commit
-
-
Kenton Varda authored
-
- 12 Nov, 2013 1 commit
-
-
Kenton Varda authored
-
- 25 Oct, 2013 1 commit
-
-
Kenton Varda authored
-
- 23 Aug, 2013 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
- 09 Aug, 2013 1 commit
-
-
Kenton Varda authored
-
- 07 Aug, 2013 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
Pull TextBlob out of capnpc-capnp and into KJ as kj::StringTree. Use it in the stringification code to make that code cleaner and avoid using iostreams.
-
- 01 Aug, 2013 1 commit
-
-
Kenton Varda authored
Add utility code for really nice command-line option parsing and start using it in the compiler (still WIP).
-
- 25 Jul, 2013 1 commit
-
-
Kenton Varda authored
-
- 17 Jul, 2013 1 commit
-
-
Kenton Varda authored
Implement mutex and once-init synchronization primitives. Wrap pthreads for now, but plan on raw futexes later.
-
- 10 Jul, 2013 1 commit
-
-
Kenton Varda authored
-
- 03 Jul, 2013 1 commit
-
-
Kenton Varda authored
-
- 12 Jun, 2013 1 commit
-
-
Kenton Varda authored
Enable some useful Clang warnings, fix some bugs it detected. Especially, eliminate all dynamic initializers.
-