click-mkmindriver: Correct usage nit.
Linuxmodule: Install Click kernel symbol CRC file.

And refer to it when building a package.

Unfortunately this is not good enough in practice, because Linux only
supports symbols that are 60 characters long (on 32-bit machines; on
64-bit machines the max length is 56 characters), and some Click symbols,
being C++ mangled, are longer.

It looks like, if you want to use Click packages on patchless, you need
to use a kernel configured without modversions.
The samplepackage is GPL compatible.
click-buildtool: Generate a helpful message about CONFIG_MODVERSIONS.
NumericTraits: Add new template class defining interesting integer facts.

NumericTraits<T> (where T is integral) defines:
- const bool is_numeric = true
- const bool is_integer = true
- const T const_min (minimum value of the type)
- const T const_max (maximum value of the type)
- const bool is_signed (true if type is signed)
- typedef signed_type (signed version of the type)
- typedef unsigned_type (unsigned version of the type)

NumericTraits<T> (where T is not integral) defines:
- const bool is_numeric = false
- const bool is_integer = false

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Correct Bigint::set.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Don't lose dependency information when making a .ii or .s file.
Fix memory leak caught by valgrind.
Add .gitignores.
glue: include stddef.h

In gcc-4.6, this is no longer included by default from other headers.  Without
this, we run into problems with ptrdiff_t.

Signed-off-by: Cliff Frey <cliff@meraki.com>
Add type_traits.hh header file.

type_traits defines integral_constant, true_type, false_type, and
has_trivial_copy template classes with the same interfaces as those in
Boost.  The NumericTraits template is moved from integers.hh to
type_traits.hh and renamed numeric_traits for parity with Boost and the
upcoming C++ standard.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Add assign_consume() template function.

assign_consume(x, y) is like x = y, except when it is like x.swap(y)
because x.swap(y) is faster.
Improve user-level ControlSocket test reliability.
IP6Address: Unparse according to the RFC 5952 rules.
Add CLICK_NOINLINE macro.

Because "noinline" is a macro itself in Linux.
Configury: Check availability of constexpr.

Define it to "const" if not available.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Configury: Check whether the C++ compiler defines static_assert.

Like "g++ -std=gnu++0x" might.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Use the native static_assert if it is available.

The native static_assert in C++0x takes two arguments, the second a helpful
string.  Change our static_asserts to that syntax.  However, the glue.hh
static_assert macro simply ignores the second argument.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Correct char vs. unsigned char error.
Type traits: Rename to integer_traits, add make_[un]signed and conditional.

And use constexpr.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>