Better description for cast-expressions
Don't warn about assignments "inside" casts
Correct handling of long-long types in printf checks

Also split out and correct size_t testing.
Correct printing of "%lld" in printf warning
Pull out warning for missing-struct-init
Change cc1_warn_at() -> separate macro and function
Check test script may have a check-prefix
Don't warn about missing initialisers for "= { 0 }"
Differentiate between "%l ..." and "%l" (missing vs unknown)
Only emit non-empty sections
Always emit .text and .debug_line in debug mode
Don't emit debug info for proto-funcs and uninit-decls
Merge asm/section emitting changes
Handle constructor/destructor __attribute__

Includes correct ctors/dtors section names for Darwin and Linux targets
Constructor/destructor attribute tests
Only emit ctor/dtor references for implemented functions
Merge branch 'master' into feature/ctor-dtor

This brings in the empty-section no-emit changes, and more importantly
the asm_section_empty() for emitting .align just once per ctor section.
Only emit ctor/dtor alignment once

This fixes ".align 8" adding zero-padding causing the libc init to
call (void (*)())0x0.
Parse and check ctor/dtor priority
Constructor/destructor prioritisation