Merge "Add BIONIC_COMPLICATED_NULLNESS as _Null_unspecified" am: b8a7a2ffbc

Original change: https://android-review.googlesource.com/c/platform/bionic/+/2408893

Change-Id: I7048e75f3ee00d30926293a03e2e0848d041c382
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-02-01 02:11:33 +00:00 committed by Automerger Merge Worker
commit 35f70dbd1f
3 changed files with 11 additions and 3 deletions

View file

@ -149,7 +149,7 @@ int open64(const char* _Nonnull __path, int __flags, ...) __INTRODUCED_IN(21);
*
* Available since API level 21.
*/
ssize_t splice(int __in_fd, off64_t* _Null_unspecified __in_offset, int __out_fd, off64_t* _Null_unspecified __out_offset, size_t __length, unsigned int __flags) __INTRODUCED_IN(21);
ssize_t splice(int __in_fd, off64_t* __BIONIC_COMPLICATED_NULLNESS __in_offset, int __out_fd, off64_t* __BIONIC_COMPLICATED_NULLNESS __out_offset, size_t __length, unsigned int __flags) __INTRODUCED_IN(21);
/**
* [tee(2)](http://man7.org/linux/man-pages/man2/tee.2.html)

View file

@ -49,8 +49,8 @@ typedef ssize_t regoff_t;
typedef struct {
int re_magic;
size_t re_nsub; /* number of parenthesized subexpressions */
const char * _Null_unspecified re_endp; /* end pointer for REG_PEND */
struct re_guts * _Null_unspecified re_g; /* none of your business :-) */
const char * __BIONIC_COMPLICATED_NULLNESS re_endp; /* end pointer for REG_PEND */
struct re_guts * __BIONIC_COMPLICATED_NULLNESS re_g; /* none of your business :-) */
} regex_t;
typedef struct {

View file

@ -62,6 +62,14 @@
#define __BIONIC_ALIGN(__value, __alignment) (((__value) + (__alignment)-1) & ~((__alignment)-1))
/*
* The nullness constraints of this parameter or return value are
* quite complex. This is used to highlight spots where developers
* are encouraged to read relevant manuals or code to understand
* the full picture of nullness for this pointer.
*/
#define __BIONIC_COMPLICATED_NULLNESS _Null_unspecified
/*
* The __CONCAT macro is used to concatenate parts of symbol names, e.g.
* with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.