diff options
| author | Paul Eggert | 2020-05-05 00:48:48 -0700 |
|---|---|---|
| committer | Paul Eggert | 2020-05-05 00:51:24 -0700 |
| commit | daab2d3a62ac8fb1c74987e614cee93dc79fab74 (patch) | |
| tree | fc99d947426af5724655edfd671a467430f7c7df /src | |
| parent | 2db70edd9cc8b52cb32c97fe2ff0ae008f02a31c (diff) | |
| download | emacs-daab2d3a62ac8fb1c74987e614cee93dc79fab74.tar.gz emacs-daab2d3a62ac8fb1c74987e614cee93dc79fab74.zip | |
Fix typos in recent attribute.h simplification
Problem reported by Andreas Schwab in:
https://lists.gnu.org/r/emacs-devel/2020-05/msg00650.html
* src/conf_post.h (HAS_ATTR_no_sanitize): Define to false in case
cpp is picky, fixing a longstanding glitch here.
(ATTRIBUTE_NO_SANITIZE_ADDRESS, ATTRIBUTE_NO_SANITIZE_UNDEFINED):
Use HAS_ATTRIBUTE, not __has_attribute.
Diffstat (limited to 'src')
| -rw-r--r-- | src/conf_post.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/conf_post.h b/src/conf_post.h index 953b783ebea..1ef4ff33428 100644 --- a/src/conf_post.h +++ b/src/conf_post.h | |||
| @@ -77,6 +77,7 @@ typedef bool bool_bf; | |||
| 77 | # define HAS_ATTRIBUTE(a) HAS_ATTR_##a | 77 | # define HAS_ATTRIBUTE(a) HAS_ATTR_##a |
| 78 | # define HAS_ATTR_cleanup GNUC_PREREQ (3, 4, 0) | 78 | # define HAS_ATTR_cleanup GNUC_PREREQ (3, 4, 0) |
| 79 | # define HAS_ATTR_no_address_safety_analysis false | 79 | # define HAS_ATTR_no_address_safety_analysis false |
| 80 | # define HAS_ATTR_no_sanitize false | ||
| 80 | # define HAS_ATTR_no_sanitize_address GNUC_PREREQ (4, 8, 0) | 81 | # define HAS_ATTR_no_sanitize_address GNUC_PREREQ (4, 8, 0) |
| 81 | # define HAS_ATTR_no_sanitize_undefined GNUC_PREREQ (4, 9, 0) | 82 | # define HAS_ATTR_no_sanitize_undefined GNUC_PREREQ (4, 9, 0) |
| 82 | #endif | 83 | #endif |
| @@ -294,10 +295,10 @@ extern int emacs_setenv_TZ (char const *); | |||
| 294 | /* Attribute of functions whose code should not have addresses | 295 | /* Attribute of functions whose code should not have addresses |
| 295 | sanitized. */ | 296 | sanitized. */ |
| 296 | 297 | ||
| 297 | #if __has_attribute (no_sanitize_address) | 298 | #if HAS_ATTRIBUTE (no_sanitize_address) |
| 298 | # define ATTRIBUTE_NO_SANITIZE_ADDRESS \ | 299 | # define ATTRIBUTE_NO_SANITIZE_ADDRESS \ |
| 299 | __attribute__ ((no_sanitize_address)) ADDRESS_SANITIZER_WORKAROUND | 300 | __attribute__ ((no_sanitize_address)) ADDRESS_SANITIZER_WORKAROUND |
| 300 | #elif __has_attribute (no_address_safety_analysis) | 301 | #elif HAS_ATTRIBUTE (no_address_safety_analysis) |
| 301 | # define ATTRIBUTE_NO_SANITIZE_ADDRESS \ | 302 | # define ATTRIBUTE_NO_SANITIZE_ADDRESS \ |
| 302 | __attribute__ ((no_address_safety_analysis)) ADDRESS_SANITIZER_WORKAROUND | 303 | __attribute__ ((no_address_safety_analysis)) ADDRESS_SANITIZER_WORKAROUND |
| 303 | #else | 304 | #else |
| @@ -306,9 +307,9 @@ extern int emacs_setenv_TZ (char const *); | |||
| 306 | 307 | ||
| 307 | /* Attribute of functions whose undefined behavior should not be sanitized. */ | 308 | /* Attribute of functions whose undefined behavior should not be sanitized. */ |
| 308 | 309 | ||
| 309 | #if __has_attribute (no_sanitize_undefined) | 310 | #if HAS_ATTRIBUTE (no_sanitize_undefined) |
| 310 | # define ATTRIBUTE_NO_SANITIZE_UNDEFINED __attribute__ ((no_sanitize_undefined)) | 311 | # define ATTRIBUTE_NO_SANITIZE_UNDEFINED __attribute__ ((no_sanitize_undefined)) |
| 311 | #elif __has_attribute (no_sanitize) | 312 | #elif HAS_ATTRIBUTE (no_sanitize) |
| 312 | # define ATTRIBUTE_NO_SANITIZE_UNDEFINED \ | 313 | # define ATTRIBUTE_NO_SANITIZE_UNDEFINED \ |
| 313 | __attribute__ ((no_sanitize ("undefined"))) | 314 | __attribute__ ((no_sanitize ("undefined"))) |
| 314 | #else | 315 | #else |