Page MenuHomeFreeBSD

Define max_align_t for in-kernel use
Needs ReviewPublic

Authored by landonf on Jan 20 2017, 9:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 27 2023, 4:23 AM
Unknown Object (File)
Apr 9 2023, 6:28 AM
Unknown Object (File)
Mar 23 2023, 4:17 PM
Unknown Object (File)
Jan 23 2017, 10:55 AM
Subscribers
None

Details

Reviewers
adrian
Summary

Define max_align_t (using __max_align_t) in <sys/stddef.h>, add a common _MAX_ALIGN_T_DECLARED guard to <stddef.h> and <sys/stddef.h>

clang/gcc (<= 4.2) usage:

_Alignas(_Alignof(max_align_t))	uint8_t ivars[];

clang/gcc (>= 4.7) usage:

_Alignas(max_align_t)		uint8_t ivars[];
Test Plan
  • clang++ -std=c++11 -xc++ -c test.c
  • clang -std=c11 -c test.c
  • g++ -std=c++11 -xc++ -c test.c
  • gcc -std=c11 -c test.c

test.c:

#ifdef __cplusplus
#include <cstddef>
#else
#include <stddef.h>
#endif

struct foo {
    	_Alignas(_Alignof(max_align_t)) unsigned char ivars[32];
};

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 6912
Build 7100: arc lint + arc unit

Event Timeline

landonf retitled this revision from to Define max_align_t for in-kernel use.
landonf updated this object.
landonf edited the test plan for this revision. (Show Details)
landonf added a reviewer: adrian.
landonf edited the test plan for this revision. (Show Details)