Gregory Nutt
67ec3d7926
Remove CONFIG_CAN_PASS_STRUCT
...
This commit resolves issue #620 :
Remove CONFIG_CAN_PASS_STRUCTS #620
The configuration option CONFIG_CAN_PASS_STRUCTS was added many years ago to support an old version of the SDCC compiler. That compiler is currently used only with the Z80 and Z180 targets. The limitation of that old compiler was that it could not pass structures or unions as either inputs or outputs. For example:
#ifdef CONFIG_CAN_PASS_STRUCTS
struct mallinfo mallinfo(void);
#else
int mallinfo(FAR struct mallinfo *info);
#endif
And even leads to violation of a few POSIX interfaces like:
#ifdef CONFIG_CAN_PASS_STRUCTS
int sigqueue(int pid, int signo, union sigval value);
#else
int sigqueue(int pid, int signo, FAR void *sival_ptr);
#endif
This breaks the 1st INVIOLABLES rule:
Strict POSIX compliance
-----------------------
o Strict conformance to the portable standard OS interface as defined at
OpenGroup.org.
o A deeply embedded system requires some special support. Special
support must be minimized.
o The portable interface must never be compromised only for the sake of
expediency.
o Expediency or even improved performance are not justifications for
violation of the strict POSIX interface
Also, it appears that the current SDCC compilers have resolve this issue and so, perhaps, this is no longer a problem: z88dk/z88dk#1132
NOTE: This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.
2020-04-11 21:19:47 +01:00
Xiang Xiao
cde88cabcc
Run codespell -w with the latest dictonary again
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Gregory Nutt
ace25a78d9
include/cxx/ctime: Remove gititimer and setitimer. These are prototyped in sys/time.h, not time.h. Alternatively, ctime could include sys/time.h. Those APIs should also be in the std namespace.
2019-11-13 14:01:25 -06:00
liuhaitao
9b75ef06ea
include/sys/time.h, libs/libc/unistd, sched/timer: Implement alarm(), setitimer() and getitimer() APIs.
2019-11-13 08:10:16 -06:00
athan Hartman
6d7e0feea1
Remove 'executable' bit on several files
2019-08-01 14:13:55 -06:00
junmin-kim
9e78931b91
include/cxx/cstddef: Add C11++ std::nullptr_t
2019-07-11 06:07:34 -06:00
Gregory Nutt
eef5e777c9
include/cxx/cstdlib: Add std::random()
2019-04-21 15:11:24 -06:00
Gregory Nutt
ccabac3eb6
More fixes for compilation with current SDCC compiler
2017-09-30 15:28:04 -06:00
David Sidrane
d0023038a5
cwchar:Use CONFIG_LIBC_WCHAR to only export the wc/mb functions
...
When a build does not want to use wide or multibyte char
CONFIG_LIBC_WCHAR is not set. Therefore we should to only
export the wc/mb functions when defined.
Regardless of the stat of CONFIG_LIBC_WCHAR the non mb/wc
definitions such as mbstate_t, wint_t, wctype_t need to be
exported.
2017-08-10 14:22:51 -10:00
Alan Carvalho de Assiss
680368b656
libm: Port gamma() and lgamma() from FreeBSD to NuttX.
2017-08-08 07:02:39 -06:00
Gregory Nutt
14ae6df182
locale.h: Add a bogus definition of locale_t
2017-05-12 10:13:18 -06:00
Alan Carvalho de Assis
dbc074edab
Include wcstold in C++ cwchar header file
2017-03-27 09:49:44 -06:00
Alan Carvalho de Assis
d43380d543
Add wcstoull function
2017-03-08 13:28:50 -06:00
Alan Carvalho de Assis
2d1ace3ee5
Add wcstof function
2017-03-08 12:47:23 -06:00
Alan Carvalho de Assis
3ccef07863
C library: Add wcstoll function
2017-03-08 12:26:35 -06:00
Alan Carvalho de Assis
fda095ccda
Add mbtowc and wctomb to C++ std namespace
2017-03-08 12:16:56 -06:00
Gregory Nutt
05a288f2e1
C library: Add strerror_r
2017-03-08 12:14:07 -06:00
Gregory Nutt
cb7c5f9921
Implement strings.h macros as inline functions when possible for better C++ compatibility.
2017-02-22 10:20:58 -06:00
Gregory Nutt
22a8c2178d
cstring: undefine macros defined in new strings.h.
2017-02-22 06:59:39 -06:00
Gregory Nutt
acf020c649
Add setbuf and setvbuf to cstdio.
2017-02-17 10:06:30 -06:00
Gregory Nutt
7a4d498b42
wctype.h needs extern C
2017-02-17 09:48:55 -06:00
Gregory Nutt
673b2ed2bf
Update cwchar. Add cwctype.
2017-02-17 09:45:54 -06:00
Gregory Nutt
4f5879f998
C library: Add ffs(). Add strings.h. Move strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they belong in strings.h.h, not string.h. bzero, bcmp, and bcopy are legacy functions; the contemporary counterparts should be used instead.
2017-02-16 16:10:09 -06:00
Gregory Nutt
a49b349614
C library: Add swab()
2017-02-16 14:42:27 -06:00
Gregory Nutt
fed9d5a0f8
cunistd: Fix stray single back quote the crept in in last commit.
2017-02-16 11:22:02 -06:00
Gregory Nutt
6bcace62a8
Update some C++ header files
2017-02-14 07:48:54 -06:00
Gregory Nutt
de30c2e5dd
Back out the rest of commit 1e754402b8
. Newlib support will not be accepted into the NuttX repository.
2016-11-03 09:41:38 -06:00
Alan Carvalho de Assis
1e754402b8
Add C++ support linking with GNU toolchain newlib/stdlibc++
2016-11-03 08:50:58 -06:00
Gregory Nutt
c08cb7ddea
Implement ctype.h functions as inline if possible. cctype can then properly select namespace.
2016-10-22 08:18:00 -06:00
David Sidrane
b1ed7910f0
Allows c++ code to compile with or without CONFIG_LIBC_LOCALE
...
and will generate a link error if CONFIG_LIBC_LOCALE is not defined
and setlocale is referneced. With CONFIG_LIBC_LOCALE defined
setlocale will act as if MB string is not supported and return
"C" for POSIX. C and ""
2016-10-19 06:49:19 -10:00
Alan Carvalho de Assis
53700fc71f
Add isblank() macro to ctype.h
2016-10-19 07:22:13 -06:00
Gregory Nutt
c73d3e9c5f
Remove comments that no longer apply. clocale should not do anyting if CONFIG_LIBC_LOCALE is not defined.
2016-10-19 07:06:43 -06:00
Gregory Nutt
626408bc29
C Library: Add clocale header file
2016-10-18 07:52:22 -06:00
Gregory Nutt
440d535360
include/cxx: Update some C++ header files due to recent changes to C hader files
2016-08-25 15:06:46 -06:00
Gregory Nutt
f1cf6731eb
Add raise to std:: namespace in csignal
2016-07-04 12:22:33 -06:00
Gregory Nutt
e879d0f423
Move scheduler instrumentation hooks out of sched.h (where they seem like application interfaces) and into nuttx/sched.h where it is clare that these are OS internal interfaces.
2016-03-16 11:00:31 -06:00
Sebastien Lorquet
77e4e7b231
Change all references from avsprintf to vasprintf. From Sebastien Lorquet
2015-09-07 13:22:13 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00
Gregory Nutt
8f7453b5ec
Addings to stdlib.h must be added to cstdlib too
2015-08-14 12:04:57 -06:00
Gregory Nutt
4adda9d428
Fix numerous typos in configuration variable names. Tracked down by Alan Carvalho de Assis
2015-05-23 17:08:35 -06:00
Gregory Nutt
ca29c652c3
Remove duplicate prototype of statfs from stdio.h. Belongs in sys/statfs.h only. Note by Michael Hope
2015-05-12 07:00:11 -06:00
Gregory Nutt
b478c11b85
Back out definition of mbstate_t. That is a mistake
2015-02-19 09:56:53 -06:00
Gregory Nutt
8bd9203d49
Add mbstate_t to wchar.h and cwchar
2015-02-19 09:21:35 -06:00
Gregory Nutt
5b1514cc9b
Add an empty cwchar file
2015-02-19 06:32:10 -06:00
Gregory Nutt
2732da28a3
C++: Remove 'using ::timeval' from ctime. struct timeval was recently move to sys/time.h where it belongs. Now there are problems when it is referenced in ctime. Fixed by just removing it from ctime. Is that correct? or should ctime include sys/time.h? Noted by David Sidrane
2015-02-18 20:51:11 -06:00
Gregory Nutt
e9cec9057b
There were some changes which broke my NuttX-Build. With these two patches it builds again. From Manuel Stühn
2015-01-01 15:56:25 -06:00
Gregory Nutt
bd93ba55c5
Cosmetic change to comment
2014-11-28 09:06:05 -06:00
Gregory Nutt
5ddfdb2d8d
cctype: Undefined macros defined ctype.h so that builtin C++ implementations will be used
2014-11-28 09:02:52 -06:00
Gregory Nutt
fecad1027c
Update csdtio too
2014-11-06 07:11:23 -06:00
Gregory Nutt
ee22104762
Can't use formal parameter name 'template' in stdlib.h. Causes C++ compilation errors. Noted by Lorenz Meier
2014-11-06 07:00:23 -06:00