1 |
2016-06-15 17:36 GMT+08:00 Luca Barbato <lu_zero@g.o>: |
2 |
> On 15/06/16 03:45, Lei Zhang wrote: |
3 |
>> This issue is probably not as simple as I thought. Supposing C++ |
4 |
>> header iostream depends on some non-standard functions from stdio.h, |
5 |
>> it may look like: |
6 |
>> |
7 |
>> // iostream |
8 |
>> #define _BSD_SOURCE |
9 |
>> #include <stdio.h> |
10 |
>> #undef _BSD_SOURCE |
11 |
>> ... |
12 |
>> |
13 |
>> But if a user writes some code like: |
14 |
>> |
15 |
> |
16 |
> Makes a mistake. |
17 |
> |
18 |
> You should not mix C headers and C++ headers like that =) There is a |
19 |
> reason why you have <cstdio> and such =) |
20 |
> |
21 |
> The correct visibility macros can be extracted by reading the man pages |
22 |
> for each of those functions. |
23 |
> |
24 |
> Please make the full list of them, once it is known we can discuss where |
25 |
> to put them. |
26 |
|
27 |
Attached is what I've got so far. |
28 |
|
29 |
Some of them are not documented in man pages, so I checked their |
30 |
declarations in musl's headers. Functions strtold_l, strtoll_l and |
31 |
strtoull_l are not available in musl, but libc++ is smart enough to |
32 |
not use them when linked against musl. |
33 |
|
34 |
|
35 |
Lei |