diff options
author | Valentin Bartenev <vbart@nginx.com> | 2017-07-18 17:13:40 +0300 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2017-07-18 17:13:40 +0300 |
commit | 9d707800b0c7090424ae6426423041e8755623ce (patch) | |
tree | e5f74ba80479ecd97d937eade77f13026022fd00 | |
parent | beb4de21bb0709154b227821dd090e797d256ce5 (diff) | |
download | unit-9d707800b0c7090424ae6426423041e8755623ce.tar.gz unit-9d707800b0c7090424ae6426423041e8755623ce.tar.bz2 |
More accurate "packed" attribute declaration.
-rw-r--r-- | auto/clang | 15 | ||||
-rw-r--r-- | src/nxt_clang.h | 13 |
2 files changed, 26 insertions, 2 deletions
@@ -146,3 +146,18 @@ nxt_feature_test="#include <stdlib.h> return 0; }" . auto/feature + + +nxt_feature="GCC __attribute__ packed" +nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_PACKED +nxt_feature_run= +nxt_feature_path= +nxt_feature_libs= +nxt_feature_test="struct __attribute__ ((__packed__)) s { + char c; + }; + + int main() { + return 1; + }" +. auto/feature diff --git a/src/nxt_clang.h b/src/nxt_clang.h index 65bd7940..4b02b468 100644 --- a/src/nxt_clang.h +++ b/src/nxt_clang.h @@ -121,6 +121,17 @@ nxt_prefetch(a) #endif +#if (NXT_HAVE_GCC_ATTRIBUTE_PACKED) + +#define nxt_packed __attribute__((__packed__)) + +#else + +#define nxt_packed + +#endif + + #ifndef NXT_ALIGNMENT #if (NXT_SOLARIS) @@ -230,6 +241,4 @@ nxt_trunc_ptr(p, a) \ (u_char *) ((uintptr_t) (p) & ~((uintptr_t) (a) - 1)) -#define NXT_PACKED __attribute__((packed)) - #endif /* _NXT_CLANG_H_INCLUDED_ */ |