Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/memstr.h

    r9d58539 r53031c2  
    3737
    3838#include <typedefs.h>
     39#include <cc.h>
     40
     41#ifdef CONFIG_LTO
     42#define DO_NOT_DISCARD ATTRIBUTE_USED
     43#else
     44#define DO_NOT_DISCARD
     45#endif
    3946
    4047#define memset(dst, val, cnt)  __builtin_memset((dst), (val), (cnt))
    4148#define memcpy(dst, src, cnt)  __builtin_memcpy((dst), (src), (cnt))
    4249
    43 extern void memsetb(void *, size_t, uint8_t);
    44 extern void memsetw(void *, size_t, uint16_t);
    45 extern void *memmove(void *, const void *, size_t);
     50extern void memsetb(void *, size_t, uint8_t)
     51    __attribute__((nonnull(1)));
     52extern void memsetw(void *, size_t, uint16_t)
     53    __attribute__((nonnull(1)));
     54extern void *memmove(void *, const void *, size_t)
     55    __attribute__((nonnull(1, 2))) DO_NOT_DISCARD;
    4656
    4757#endif
Note: See TracChangeset for help on using the changeset viewer.