Commit 8c553c0
committed
Improve -DNO_SHORT_NAMES handling
This option has been broken for a long time, but this commit goes a long
way to fixing that.
It works by creating a new file long_names.c that is automatically
generated by regen/embed.pl. This file contains the API elements that
normally are macros that don't have a separate long name. when
NO_SHORT_NAMES is defined, those macros are suppressed, and instead the
long-name functions in this file get compiled
The next yak (maybe the only one) needing to be shaved after this is
inline functions that use short names. Since they currently are
included in the user space, those short names need to be defined, but
we'rev compiling without short names, so it doesn't work.
We could require inline functions to use long names, but I don't like
that, and I suspect you don't either.
To me, the easiest other option is to just not have inline functions
outside the core when short names are forbidden. We could easily
convert them from being inline, and only include them from long_names.c.
Thus they would become like any other function in the file.1 parent 36938dd commit 8c553c0
File tree
11 files changed
+1804
-724
lines changed- Cross
- regen
- t/porting
- vms
- win32
11 files changed
+1804
-724
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
345 | | - | |
| 345 | + | |
346 | 346 | | |
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
| 352 | + | |
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
553 | | - | |
554 | | - | |
| 553 | + | |
| 554 | + | |
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
| |||
Large diffs are not rendered by default.
0 commit comments