Stupid gcc bug
cat <<EOF > foo.m @interface _Foo { } @end @interface Foo : _Foo { } @end @interface _Foo ( XXX) @end @implementation _Foo ( XXX) @end EOF gcc -c -ObjC foo.m
and now
sed 's/_Foo/Bar/g' < foo.m > bar.m gcc -c -ObjC bar.m
cat <<EOF > foo.m @interface _Foo { } @end @interface Foo : _Foo { } @end @interface _Foo ( XXX) @end @implementation _Foo ( XXX) @end EOF gcc -c -ObjC foo.m
and now
sed 's/_Foo/Bar/g' < foo.m > bar.m gcc -c -ObjC bar.m