diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2015-07-22 17:50:44 +0200 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2015-07-22 19:31:17 +0200 |
commit | 77247cba3e8f94a3f58d16ec338ae030eb9145af (patch) | |
tree | cfefdbb4f31662df3c2b2b31d3ca68fe2c5dc566 /src/basic/strbuf.c | |
parent | 249a2737ba5d0a22f09f077b361d01d514eaf672 (diff) |
basic: more optimizable IN_SET macro
Making the array static allows gcc -O2 to generate smaller code:
"size systemd" before:
text data bss dec hex filename
1377286 128608 2632 1508526 1704ae systemd
After:
text data bss dec hex filename
1374326 128572 2664 1505562 16f91a systemd
(IN_SET still results in worse generated code than using
"x == FOO || x == BAR || ...". I don't think we'll be able to match
that with the C preprocessor.)
This change limits the use of IN_SET to sets with constant elements. All
present callers use constants. The compiler would report an "initializer
element is not constant" error otherwise.
Diffstat (limited to 'src/basic/strbuf.c')
0 files changed, 0 insertions, 0 deletions