xref: /xnu-8019.80.24/SETUP/strip-bound-attributes.sed (revision a325d9c4a84054e40bbe985afedcb50ab80993ea)
1*a325d9c4SApple OSS Distributions#!/usr/bin/sed -nEf
2*a325d9c4SApple OSS Distributions
3*a325d9c4SApple OSS Distributions#
4*a325d9c4SApple OSS Distributions# Rules go 3 by 3:
5*a325d9c4SApple OSS Distributions#
6*a325d9c4SApple OSS Distributions# 1. try to rewrite `bitmap_t * __indexable foo`
7*a325d9c4SApple OSS Distributions#    into `bitmap_t *foo` removing all spaces.
8*a325d9c4SApple OSS Distributions#
9*a325d9c4SApple OSS Distributions# 2. try to rewrite `static inline bitmap_t * __indexable`
10*a325d9c4SApple OSS Distributions#    into `static inline bitmap_t *` collapsing redundant spaces.
11*a325d9c4SApple OSS Distributions#
12*a325d9c4SApple OSS Distributions# 3. just eliminate all other kinds of use of the keyword that missed (1) or (2).
13*a325d9c4SApple OSS Distributions#
14*a325d9c4SApple OSS Distributionss/\* *(__bidi_indexable|__indexable|__single|__unsafe_indexable) /*/g
15*a325d9c4SApple OSS Distributionss/ (__bidi_indexable|__indexable|__single|__unsafe_indexable)( |$)/\2/g
16*a325d9c4SApple OSS Distributionss/(__bidi_indexable|__indexable|__single|__unsafe_indexable)//g
17*a325d9c4SApple OSS Distributions
18*a325d9c4SApple OSS Distributions#
19*a325d9c4SApple OSS Distributions# Those are approximate because matching parenthesis requires a C parser.
20*a325d9c4SApple OSS Distributions# There's a bound-attributes-check.pl that will make sure we didn't leave any.
21*a325d9c4SApple OSS Distributions#
22*a325d9c4SApple OSS Distributionss/\* *(__counted_by|__sized_by|__ended_by)\([^()]*\)/*/g
23*a325d9c4SApple OSS Distributionss/ (__counted_by|__sized_by|__ended_by)\([^()]*\)( |$)/\2/g
24*a325d9c4SApple OSS Distributionss/(__counted_by|__sized_by|__ended_by)\([^()]*\)//g
25*a325d9c4SApple OSS Distributions
26*a325d9c4SApple OSS Distributions/^__ASSUME_PTR_ABI_SINGLE_BEGIN$/d
27*a325d9c4SApple OSS Distributions/^__ASSUME_PTR_ABI_SINGLE_END$/d
28*a325d9c4SApple OSS Distributionss/ __ASSUME_PTR_ABI_SINGLE_BEGIN//g
29*a325d9c4SApple OSS Distributionss/ __ASSUME_PTR_ABI_SINGLE_END$//g
30*a325d9c4SApple OSS Distributionss/__ASSUME_PTR_ABI_SINGLE_BEGIN //g
31*a325d9c4SApple OSS Distributionss/__ASSUME_PTR_ABI_SINGLE_END //g
32*a325d9c4SApple OSS Distributions
33*a325d9c4SApple OSS Distributions#
34*a325d9c4SApple OSS Distributions# Finally, print lines we didn't suppress
35*a325d9c4SApple OSS Distributions#
36*a325d9c4SApple OSS Distributionsp
37