Commit graph

70 commits

Author SHA1 Message Date
Alexandre Snarskii
72efa0bb27 Allow field name to be 'p'. 2021-02-01 13:43:04 +03: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