Distinguish between attributes explicitly written at the request of the user, and attributes implicitly generated to assist in bookkeeping by the compiler. This is done so by table generating a CreateImplicit method for each attribute.

Additionally, remove the optional nature of the spelling list index when creating attributes. This is supported by table generating a Spelling enumeration when the spellings for an attribute are distinct enough to warrant it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199378 91177308-0d34-0410-b5e6-96231b3b80d8
Giving the asm attribute some keyword spellings based off of GCC's documentation. No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199382 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Describe online/offline symbolization of reports, mention dsymutil.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199383 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Typo fix (symbolize=0 disables online symbolization)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199385 91177308-0d34-0410-b5e6-96231b3b80d8