I see the definition of memmove() and memcpy() which both contain the line
__THROW __nonnull ((1, 2));
where can I find this defined ?
Asked
Active
Viewed 3,956 times
5

vaibhav.pnd
- 175
- 2
- 8
-
2That's non-standard. What compiler did you get those headers from? – Mat Mar 09 '13 at 11:39
-
4`nonnull` is a GCC function attribute (see [here](http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html)). `__nonnull((1, 2))` is a macro that probably expands to `__attribute__((nonnull(1, 2)))` on GCC and to an empty string on other compilers. – Hristo Iliev Mar 09 '13 at 11:46
-
`include/sys/cdefs.h` in uClibc defines those macros. – Mat Mar 09 '13 at 11:48
-
Just remove them. They're not needed. – R.. GitHub STOP HELPING ICE Mar 09 '13 at 14:29
-
And they are intended only for internal use in libc, not as public macros. You can tell this by the fact that they start with `__`. – R.. GitHub STOP HELPING ICE Mar 09 '13 at 14:31
-
where can i find the definition for __THROW ? – vaibhav.pnd Mar 09 '13 at 14:53