Merge remote-tracking branch 'github/cm-11.0' into cm11mod
ADB: Don't force -O2 if something else is provided instead.
<utils/Errors.h>: Fix c++11 narrowing

Summary:
C style casting opposed to static casting was used here due to Errors.h being included by C as well.

Depends on D309

Test Plan: verified

Reviewers: randall.rushing, jriordan001

Reviewed By: randall.rushing

Differential Revision: http://review.codefirex.com/D310

Change-Id: Iedbcb817ef20a49e215e7ed6bd535a0a63125baf
Signed-off-by: DHOMD <DHO@dho.im>
<system/audio.h>: do not use GNU old-style field designators

Avoiding the use of GCC extensions improves code
portability

Change-Id: I896118eb30951903b562bab95de3bc18d22db98a
Signed-off-by: DHOMD <DHO@dho.im>
<utils/Macros.h>: introduce

Summary:
Issue:
These macros are non-standard to the C standard, but standard in GCC.
This causes issues since compiler-rt assumes we provide these when built with
LLVM Clang.

Solution:
Include these macros as a easy to utilize header.

Test Plan: verification is a WIP

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D107

Change-Id: If4f06e75f0b42f9656618ee3dad6f8a4a997a377
Signed-off-by: DHOMD <DHO@dho.im>