Jason Heeris
6661fc9d2d
Fix code generation for nested unions.
...
When a union is nested inside another union, it must be enclosed in a struct
so that its "which" member is not overlapping with its other members.
2021-01-14 10:43:46 +08:00
Joel Carlson
9053ebe6ee
compiler/str.h: include stdarg.h for va_list
...
With some toolchains, compilation of str.c produced the following error:
compiler/str.h:56:50: error: unknown type name ‘va_list’
int str_vaddf(struct str *v, const char *format, va_list ap) ATTR(2,0);
^~~~~~~
One toolchain had the following in its stdarg.h:
"We deliberately do not define va_list when called from
stdio.h, because ANSI C says that stdio.h is not supposed to
define va_list."
str.c includes stdio.h, but none of the prior includes result in the
inclusion of stdarg.h. Therefore, explicitly include it in str.h to fix
the issue on toolchains following this ANSI C rule.
Signed-off-by: Joel Carlson <JoelsonCarl@gmail.com>
2019-04-22 20:58:49 +01:00
Alexis Ballier
704a34fa65
Use proper format specifiers for size_t.
2017-05-19 19:26:47 +02:00
David Lamparter
aa1f31d401
Silence empty struct warning
...
Last but not least, -Wpedantic warns about empty structs. With this,
-Wpedantic build is now clean of warnings on gcc 5.4.0 and clang 4.0.
2017-05-19 09:45:01 +02:00
David Lamparter
b0810da2c3
Silence warning on unused struct parameter
...
When generating code for an empty struct, the read_/write_ functions
would print warnings about the unused "s" pointer. Silence these.
2017-05-19 09:40:37 +02:00
David Lamparter
99e9412c02
Silence GCC unnamed union warning
...
We need the unnamed struct/union support, this is user-facing API.
So, silence the -Wpedantic warning.
2017-05-19 09:35:09 +02:00
Alex Helfet
989acc3414
Most .capnp files use "/c.capnp".fieldgetset. Recompile from schema files.
2017-03-26 23:40:55 +01:00
Alex Helfet
a379aa89ac
Compiler generates absolute #include paths from .capnp imports with leading /'s.
...
As specified in https://capnproto.org/language.html#imports and implemented
in the C++ compiler output plugin.
2017-03-26 18:43:57 +01:00
Alex Helfet
6b52d615a2
Add all .capnp files to make dist archive.
2017-03-26 15:23:35 +01:00
Alex Helfet
362173091d
compiler: If an explicit symbol wasn't provided, make generated capn_val%d variables static.
2017-03-23 20:18:29 +00:00
Alex Helfet
f16fae57b3
Fix GCC warnings in initializers for capn_val0 and capn_seg.
2017-03-22 06:48:58 +00:00
David Lamparter
54a7bb7ffb
compiler: drop outdated find_node comment & IDs
2016-07-20 08:48:22 +02:00
David Lamparter
c322bc9618
compiler: apply name infix on include filenames
...
This fixes #include output when $C.nameinfix is used.
2016-07-19 15:21:56 +02:00
David Lamparter
da663f83ef
compiler: add annotation to enable field get/set
...
Generating per-field getters/setters adds a lot of functions; this makes
them switchable with an annotation in the source schema.
2016-07-19 15:21:05 +02:00
David Lamparter
52ca907f14
compiler: add find_node_mayfail(), remove hack
...
Fixes github issue #11 , also makes it easier to use annotations.
2016-07-19 15:14:00 +02:00
David Lamparter
5d787b698e
compiler: add "C::nameinfix" annotation
...
allows changing output filenames from "foo.capnp.c" to
"foo.capnpSOMETHING.c" where SOMETHING is the argument to the
annotation.
2016-06-22 15:16:40 +02:00
David Lamparter
87591da455
Update autogenerated files
2016-06-22 14:24:28 +02:00
David Lamparter
48535d02bd
whitespace fixes
2016-06-22 13:44:56 +02:00
Michael Gartsbein
05f5884385
add u to avoid undefined shl
2016-05-05 11:40:13 +03:00
Michael Gartsbein
12ad949df8
working with stricter compiler flags
2016-04-28 12:01:08 +03:00
David Lamparter
e9df12b387
don't write out empty structs
...
"struct { } foo" is not valid ISO C99; while gcc/clang/icc support it,
other compilers and tools don't (e.g. pycparser)
2016-04-06 14:18:29 -03:00
Michael Gartsbein
61a43a4998
static const instead of function in size getters
2016-03-29 10:25:33 +03:00
Michael Gartsbein
e870b5d605
generate setter and getter
2016-03-27 16:35:11 +03:00
David Lamparter
4de69a555d
test.schema: drop interface & generic, regenerate
2016-03-19 00:46:05 +01:00
David Lamparter
7ecadefbfd
compiler: fix remaining warnings
2016-03-19 00:39:30 +01:00
David Lamparter
811d3046e1
rename to "[lib]capnp_c", use lib/ subdir
2016-03-19 00:39:29 +01:00
David Lamparter
d3b1cad50f
compiler: regenerate schema.c with enum/int cast
2016-03-19 00:39:25 +01:00
David Lamparter
41462901df
lib: fix warning on uint16->enum cast
2016-03-19 00:36:24 +01:00
David Lamparter
ae746a3e08
add approprate per-file license headers
2016-02-28 12:47:42 +01:00
David Lamparter
b55d847db6
Re-fix signed/unsigned warnings
2016-02-28 12:42:52 +01:00
David Lamparter
02268ff818
Merge branch 'kylemanna' into merge
...
Conflicts: (manually resolved)
capn-malloc.c
capn-stream.c
capn-test.cpp
capn.c
capn.h
compiler/capnpc-c.c
2016-02-28 12:32:59 +01:00
David Lamparter
0ddba4f2f1
Merge branch 'baruch' into merge
...
Conflicts:
Makefile -- manually resolved
compiler/schema.capnp -- used from liamstask
compiler/test.capnp -- used from liamstask
2016-02-28 12:17:57 +01:00
Kyle Manna
376b63fb81
signedness: Fix less obvious issues
...
* My compilers mark these as errors
* Attempt to be more correct
* Tested on gcc-5.2.0 and clang-3.6.2
2015-08-17 18:52:36 -07:00
Kyle Manna
e933510236
compiler: Fix missing comments
...
* Later versions of compilers/pre-processors are upset about the syntax
* Bracket unterminated string with proper comment tags
2015-08-17 18:50:53 -07:00
Kyle Manna
7d2e122f2f
signedness: Fix obvious sign problems
...
* These should be easily verified as correct.
* Tested on gcc-5.2.0 and clang-3.6.2
2015-08-17 18:48:17 -07:00
Liam Staskawicz
cdf7e1f007
compiler: notes on updating from upstream
2015-08-04 12:04:49 -07:00
Liam Staskawicz
560366c7d4
compiler: introduce workaround for annotation ids in nestednode list (see comments), and regenerate schema .{c|h} files based on capnproto v0.5.2
2015-08-04 11:56:00 -07:00
Liam Staskawicz
98c2d02744
compiler: update schemas from v0.5.2
2015-08-04 11:55:23 -07:00
Liam Staskawicz
0b6f95294e
all: use unsigned types for more variables that represent length
...
resolve build warnings on multiple platforms/toolchains
2015-08-04 10:44:22 -07:00
Liam Staskawicz
125c638c11
unreal: gcc complains about missing ‘ character in #if 0 block
2015-08-04 10:25:08 -07:00
Baruch Even
d785521932
Recompile capnpc schemas for capnpc 0.4
2014-08-03 23:22:28 +03:00
Johan De Claville Christiansen
d84a635fb0
Fixed compilation by removing 32-bit padding
2014-03-25 19:12:58 +01:00
Johan De Claville Christiansen
bf5eb7f92c
Added gtest 1.6.0, since the included version lacked the headers
2014-03-25 18:55:18 +01:00
Johan De Claville Christiansen
1d79a28091
Fixed: missing terminating ' character
2014-03-25 17:50:39 +01:00
James McKaskill
ff44e4df26
remove CAPN_COMPOSITE_LIST and add capn_len
2013-09-16 16:53:33 -04:00
James McKaskill
59f827e93d
change ptrsz to ptrs to free up space in capn_ptr
2013-09-13 10:02:03 -04:00
James McKaskill
7b0bfece26
add version checks
2013-09-12 23:28:36 -04:00
James McKaskill
081c783bbf
don't autoresolve pointers
2013-09-12 17:26:51 -04:00
James McKaskill
bba43e67ea
Add test schema
2013-09-12 14:55:42 -04:00
James McKaskill
9682fb2611
list out constants in declaration order
2013-09-12 14:48:11 -04:00