<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVMuy2jgQ_Rqz6cJlBDjchRcJGVJZJTVJ1axlubE1V7YUSYbLfP0cCd_XJptUUUjQr9PndKu13a35SoO8MAU7MunReXvhkadIuDkbpKGz9RQHpqKulHPKeu5n3bHRE4f1KJW36znInmEnNbB6LOmkfYiFONJXkiP9mnVkUnY6z4E7am_P6Y7J-yhd-DaZWwq3Lmo7lQiLg54es9_ZGmOveuqRYTYIf4HZFduPRfW5qJbvNf3gSDpSx2c5m0jR0k8_cwIy2UgnaQKX9J2tM0z85FjBZ5DxDjsQT-hVMUnq9YUneumTZKDe2i6dICXoFgnQx1KopG8ZODI86ZDrdnzREl2fvR1zG6-ckZw68mzkUzKMCd110Gqg63N_yV_JAIxlX8IIKHqK3nazSjxkc0KMf5GMLKKU7bhFSPmekE-MSpMcQTtAJY0TsT2NUBEYg_IayCF_whSc0Zk_FLMkFjUCXXUcyIKFgFA07mYPEsDk37ofIqi9JrnC4p-EBlaDPgvxsHCaav71o9yKXKhNBumcuaX_r9JPOENCmMdpqSiNAQsOeX2S711nmCsT7DIlQHynbpSPfG8t8AT6kFB5TjIEdtKny13pxDmk9G_wv1Aa3kAW5GfDAXOW0W8y-txHST9vTitgzNPsMWQf0DFt4LsBEOdSfMvxylBvma8sfEqYd0reoZ4xE-veSxwdSkuMViFOnQ7pRva8BGMpYq6hJxAcMGZpSdOkLZ55gY_OHZH0y-uw3ethGJf-nkXVEzLILhVIxnuWhHlxfEf3P2lJOks3O985L7anVddsu4ftg1zJOQ7WN0p6Y0MvzYX_c6vZm2aI0SXy0A8-PUSd21JZjPzJmMvzscYy_4tVxE8dwgy6xWm_3W7Eamjqut7uuGvFWdQ71bYHUcu6FnK7PzzIfXVeGdmyCU2x_1QIMfGVcgrci_3n1Z8j0I2ohKg2oqoOu6qqy05seFfv6406fNjV9aHYVTxKbcqUp7S-X_kmp2znPsBoIFR4NUq8Hf3EnAEDYdTRcPP97VP75g2-z8lvH91VBtxktP8D5QQAlQ>53312</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Proposal for improvements for cppcoreguidelines-macro-usage
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          carlosgalvezp
      </td>
    </tr>
</table>

<pre>
    I have some improvement proposal for the `cppcoreguidelines-macro-usage` check. First, I am quite confused by the `CheckCapsOnly` option. I think the following could be improved:

- Set it default to True, not False. People expect that checks enforce a given guideline as good as possible by default. Options exist to deviate from the guidelines and relax them, which would be the case e.g. when introducing the check in an old codebase.

- Be renamed to something more descriptive and split it into 2 options with one single purpose. Right now this option controls a) enforcing ES.32 and b) applying warnings to macros with all caps or not.

I also think it would make more sense to create separate checks, as right now the check is enforcing 2 rules: ES.31 and ES.32. Typically there's a 1:1 mapping between checks and rules for a more fine-grained enable/disable of checks. It's inconsistent to disable some CppCoreGuidelines rules via check options instead of via disabling a check.

What do you think?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9VMuO4zYQ_Br50rCgh8eeOeiQ9cbBnnaRXSBnimpLzFAkQ1L2OF-fIq15XQIYJu1-VVV3s7fDrftGk7gwBTszqdl5e-GZTSTcnA1C09l6ihNTsa-kc9J6Hhc1sFaGw3YW0tvtEsTIsJOcWD6XdFI-xKI50jcSM_2zqMgkrTkvgQfqb6_pjsn7KFz4bvQthVsXlTUlwuKkzHP2O1ut7VWZERkWjfA3mEPR_lZUX4tq_d7ST46kIg18FouOFC398gsnIMZGOgkduKQfbJ1m4hfHEj6TiHfYgdiAq2QSNKoLG3rjSSLQaO2QTogSVI8E4LEWKul7Bo4MLyrkugNflADrs7dzpvGuGQkzkGctXpJhTuiuk5ITXV_5JX8pAjCWYwkjoCgTvR0WmXTI5oQY_yIZWURJO3CPkPKzIF8YlYyYITtApR4nYUea0UVgDNIrIEf7E6bgtMr6oZilZu1GoKuKE1moEBAK4m7xEAFK_qnGKULaa2pXWP1To4FVg2fRPK2appq__yzbJhfqk0E4p2_p_6vwBmdICPM4rRWF1lDBIa9P7fvEDHOlg12nBIjv0s3ime_UAhvIh4TSc2pDYCd8utw7nTRHK_0H_G-Shg-QG_KL5oA5y-jrjD7zKOnXzSkJjHmaPYbsAMZUw7cGEOdSfM_xyujeOl-58Slh3ilxh3rGTGxHL3AMKC0wWkVzGlRIN7LnNRhLEXMNZSBwwJilJU2TtnrmBT46d0TSP96H7V4Pw7jye22qMsgghlQgGe9ZEubV8ZPcf6UlGSzd7HLXvGhPm6Frh6f2SWyiipq7Hx_fiw8PyZ3s_74cm8XrborRJaVBHp8RE7D0pbTYj5PWl9dji7x_Y2_xU4WwoDfN6aFt62YzdQdZN0LuG9k-PlbtvmfZcl03h6raiao6PG206FmHrnj4UjSN4SvlFLgXD183qmuqpqnqpqoed1W1L4em5t3-YV_Lx8Nuv38sdhXPQuky4SitHze-y5D6ZQwwavQkvBsFnonRMOdyyC-WOFnfSeG1DaPQF_7XbTKALhP4D81t6p8">