compiler: RETURNS_NONNULL macro Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ccan/compiler: add cpu_supports() macro. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
compiler: allow NON_NULL_ARGS with only a single argument. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
compiler: add more attributes. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
compiler: avoid barfing when config.h & the current -std= mode mismatch Add a bunch of __ for all the attribute members. Lets us keep working even if configurator is called with different CFLAGS than the build of a file which includes compiler.h Idealy, we (people using ccan) wouldn't let this happen, however I don't see any reason /not/ to avoid build breakage in the above case. Long term, it might make sense to plug some logic into configurator's config.h (or a cc wrapper, so something else) to warn when the current flags don't look the same as the ones used to generate config.h CC: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
compiler: Add PURE_FUNCTION CC: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Relicense all public domain modules to CC0. I wrote all of most of them, for the others, here's the CCAN mailing list thread authorizing it: From: Timothy B. Terriberry <tterribe@xiph.org> Subject: Re: [ccan] Changing from Public Domain to CC0 To: Rusty Russell <rusty@rustcorp.com.au> Cc: ccan@ozlabs.org Date: Wed, 31 Oct 2012 02:53:50 -0400 Rusty Russell <rusty@rustcorp.com.au> wrote: > I want to change the License string (and add a symlink) to the following > trivial modules. Please Ack. > isaac Ack. From: Alessandro Guido <ag@alessandroguido.name> Subject: Re: Changing from Public Domain to CC0 To: Rusty Russell <rusty@rustcorp.com.au> Date: Wed, 31 Oct 2012 10:59:53 +0100 Acked-by: Alessandro Guido <ag@alessandroguido.name> From: Brad Hards <bradh@frogmouth.net> Subject: Re: Changing from Public Domain to CC0 To: Rusty Russell <rusty@rustcorp.com.au> Cc: Joey Adams <joeyadams3.14159@gmail.com>, Alessandro Guido <ag@alessandroguido.name>, Andreas Schlick <schlick@lavabit.com>, ccan@ozlabs.org Date: Wed, 31 Oct 2012 23:43:24 +1100 On 31/10/12 17:43, Rusty Russell wrote: > Damn lawyers! > > Since Public Domain is a slippery concept outside certain countries, it > has been suggested that I formalize it to Creative Commons Zero. > > I want to change the License string (and add a symlink) to the following > trivial modules. Please Ack. Ack. More generally, anything I've put into CCAN is so trivial that you can relicense it (to any Free / Open Source license) as part of any relicensing you can otherwise get agreement to. Brad [Sorry if this comes out in HTML - I'm stuck with unsat tools while travelling]. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
compiler, ilog: IDEMPOTENT "idempotent does not mean what you think it means" Actually, I don't even think it means that. But rename it to something which is sane. Thanks to David Gibson for reporting.
compiler: don't override existing definitions. It's common when integrating CCAN into existing projects that they define such constants for themselves. In an ideal world, the entire project switches to one set of definitions, but for large projects (eg SAMBA) that's not realistic and conflicts with the aim of making CCAN modules easy to "drop in" to existing code. (This is a generalization of Douglas Bagnell's patch sent in Message-ID: <4DB8D00D.8000800@paradise.net.nz>).
compiler: fix -Wwrite-strings warning in example.
compiler: NORETURN
compiler: shorten names of attributes, add UNUSED The long names were unwieldy in practice; at risk of clashing, replace with shorter versions.
compiler, list, noerr, sparse_bsearch, str, str_talloc, stringmap, talloc_link, tdb, tdb2, typesafe_cb: fix examples Phew, now they call compile!
compiler, talloc: warn if return from realloc-like functions isn't used. This hit my doc extraction tool, so fix it!
modules: update documentation examples so they compile under ccanlint. This is everything up to the list module... now it's time for sleep.
compiler: use everywhere. This includes renaming ATTRIBUTE_UNLIKELY_FUNCTION to ATTRIBUTE_COLD, and removing unlikely_func macro from ccan/likely.
compiler: header for compiler-specific wrappers. Currently they sit in each module.