if/while etc expressions decay their "argument"
__attribute__((weak)) skeleton
Emit .weak for weak attributed top-level decls
weak decls aren't constant address expressions
Darwin support for __attribute__((weak))
Skip tests on certain platforms
Make linkage vs. duration more explicit
Ensure __attribute__((weak)) is on symbols with external linkage
gen_asm_global_w_store to catch local decls with attributes

e.g.
main()
{
	extern int x __attribute__((weak)); // need .weak
}

Will come in handy for __attribute__((section)) too.
Added to extern-local test
Merge branch 'feature/weak'