1
MP3 - General / Re: Resurrecting/Preserving the Helix MP3 encoder
Last post by maikmerten -GCC warns a bit about declarations (I assume that's referring to your changes in a header file), but I guess I can try figuring that one out...
Code: [Select]
./hmp3/src/pub/srcc.h:85:7: warning: type ‘struct Csrc’ violates the C++ One Definition Rule [-Wodr]
85 | class Csrc
| ^
./hmp3/src/pub/srcc.h:85:7: note: a different type is defined in another translation unit
85 | class Csrc
| ^
./hmp3/src/pub/srcc.h:107:11: note: the first difference of corresponding definitions is field ‘itof_buf’
107 | int gen_src_filter ( int source0, int target );
| ^
./hmp3/src/pub/srcc.h:103:41: note: a field with different name is defined in another translation unit
103 | int m_channels, m_bits, m_is_float, m_frames_to_convert;
| ^
./hmp3/src/pub/srcc.h:110:9: warning: type of ‘src_filter_mono_case0’ does not match original declaration [-Wlto-type-mismatch]
110 | int src_filter_mono_case0 ( float x[], float y[] );
| ^
hmp3/src/srccf.cpp:68:1: note: ‘src_filter_mono_case0’ was previously declared here
68 | Csrc::src_filter_mono_case0 ( float x[], float y[] )
| ^
hmp3/src/srccf.cpp:68:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:111:9: warning: type of ‘src_filter_mono_case1’ does not match original declaration [-Wlto-type-mismatch]
111 | int src_filter_mono_case1 ( float x[], float y[] );
| ^
hmp3/src/srccf.cpp:80:1: note: ‘src_filter_mono_case1’ was previously declared here
80 | Csrc::src_filter_mono_case1 ( float x[], float y[] )
| ^
hmp3/src/srccf.cpp:80:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:112:9: warning: type of ‘src_filter_mono_case2’ does not match original declaration [-Wlto-type-mismatch]
112 | int src_filter_mono_case2 ( float x[], float y[] );
| ^
hmp3/src/srccf.cpp:104:1: note: ‘src_filter_mono_case2’ was previously declared here
104 | Csrc::src_filter_mono_case2 ( float x[], float y[] )
| ^
hmp3/src/srccf.cpp:104:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:113:9: warning: type of ‘src_filter_mono_case3’ does not match original declaration [-Wlto-type-mismatch]
113 | int src_filter_mono_case3 ( float x[], float y[] );
| ^
hmp3/src/srccf.cpp:131:1: note: ‘src_filter_mono_case3’ was previously declared here
131 | Csrc::src_filter_mono_case3 ( float x[], float y[] )
| ^
hmp3/src/srccf.cpp:131:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:114:9: warning: type of ‘src_filter_mono_case4’ does not match original declaration [-Wlto-type-mismatch]
114 | int src_filter_mono_case4 ( float x[], float y[] );
| ^
hmp3/src/srccf.cpp:196:1: note: ‘src_filter_mono_case4’ was previously declared here
196 | Csrc::src_filter_mono_case4 ( float x[], float y[] )
| ^
hmp3/src/srccf.cpp:196:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:116:9: warning: type of ‘src_filter_dual_case0’ does not match original declaration [-Wlto-type-mismatch]
116 | int src_filter_dual_case0 ( float x[], float y[] );
| ^
hmp3/src/srccf.cpp:246:1: note: ‘src_filter_dual_case0’ was previously declared here
246 | Csrc::src_filter_dual_case0 ( float x[], float y[] )
| ^
hmp3/src/srccf.cpp:246:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:117:9: warning: type of ‘src_filter_dual_case1’ does not match original declaration [-Wlto-type-mismatch]
117 | int src_filter_dual_case1 ( float x[][2], float y[][2] );
| ^
hmp3/src/srccf.cpp:258:1: note: ‘src_filter_dual_case1’ was previously declared here
258 | Csrc::src_filter_dual_case1 ( float x[][2], float y[][2] )
| ^
hmp3/src/srccf.cpp:258:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:118:9: warning: type of ‘src_filter_dual_case2’ does not match original declaration [-Wlto-type-mismatch]
118 | int src_filter_dual_case2 ( float x[][2], float y[][2] );
| ^
hmp3/src/srccf.cpp:280:1: note: ‘src_filter_dual_case2’ was previously declared here
280 | Csrc::src_filter_dual_case2 ( float x[][2], float y[][2] )
| ^
hmp3/src/srccf.cpp:280:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:119:9: warning: type of ‘src_filter_dual_case3’ does not match original declaration [-Wlto-type-mismatch]
119 | int src_filter_dual_case3 ( float x[][2], float y[][2] );
| ^
hmp3/src/srccf.cpp:312:1: note: ‘src_filter_dual_case3’ was previously declared here
312 | Csrc::src_filter_dual_case3 ( float x[][2], float y[][2] )
| ^
hmp3/src/srccf.cpp:312:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:120:9: warning: type of ‘src_filter_dual_case4’ does not match original declaration [-Wlto-type-mismatch]
120 | int src_filter_dual_case4 ( float x[][2], float y[][2] );
| ^
hmp3/src/srccf.cpp:396:1: note: ‘src_filter_dual_case4’ was previously declared here
396 | Csrc::src_filter_dual_case4 ( float x[][2], float y[][2] )
| ^
hmp3/src/srccf.cpp:396:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:122:9: warning: type of ‘src_filter_to_mono_case0’ does not match original declaration [-Wlto-type-mismatch]
122 | int src_filter_to_mono_case0 ( float x[][2], float y[] );
| ^
hmp3/src/srccf.cpp:458:1: note: ‘src_filter_to_mono_case0’ was previously declared here
458 | Csrc::src_filter_to_mono_case0 ( float x[][2], float y[] )
| ^
hmp3/src/srccf.cpp:458:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:123:9: warning: type of ‘src_filter_to_mono_case1’ does not match original declaration [-Wlto-type-mismatch]
123 | int src_filter_to_mono_case1 ( float x[][2], float y[] );
| ^
hmp3/src/srccf.cpp:472:1: note: ‘src_filter_to_mono_case1’ was previously declared here
472 | Csrc::src_filter_to_mono_case1 ( float x[][2], float y[] )
| ^
hmp3/src/srccf.cpp:472:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:124:9: warning: type of ‘src_filter_to_mono_case2’ does not match original declaration [-Wlto-type-mismatch]
124 | int src_filter_to_mono_case2 ( float x[][2], float y[] );
| ^
hmp3/src/srccf.cpp:496:1: note: ‘src_filter_to_mono_case2’ was previously declared here
496 | Csrc::src_filter_to_mono_case2 ( float x[][2], float y[] )
| ^
hmp3/src/srccf.cpp:496:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:125:9: warning: type of ‘src_filter_to_mono_case3’ does not match original declaration [-Wlto-type-mismatch]
125 | int src_filter_to_mono_case3 ( float x[][2], float y[] );
| ^
hmp3/src/srccf.cpp:526:1: note: ‘src_filter_to_mono_case3’ was previously declared here
526 | Csrc::src_filter_to_mono_case3 ( float x[][2], float y[] )
| ^
hmp3/src/srccf.cpp:526:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:126:9: warning: type of ‘src_filter_to_mono_case4’ does not match original declaration [-Wlto-type-mismatch]
126 | int src_filter_to_mono_case4 ( float x[][2], float y[] );
| ^
hmp3/src/srccf.cpp:597:1: note: ‘src_filter_to_mono_case4’ was previously declared here
597 | Csrc::src_filter_to_mono_case4 ( float x[][2], float y[] )
| ^
hmp3/src/srccf.cpp:597:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:129:9: warning: type of ‘src_bfilter_mono_case0’ does not match original declaration [-Wlto-type-mismatch]
129 | int src_bfilter_mono_case0 ( unsigned char x[], float y[] );
| ^
hmp3/src/srccfb.cpp:68:1: note: ‘src_bfilter_mono_case0’ was previously declared here
68 | Csrc::src_bfilter_mono_case0 ( unsigned char x[], float y[] )
| ^
hmp3/src/srccfb.cpp:68:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:130:9: warning: type of ‘src_bfilter_mono_case1’ does not match original declaration [-Wlto-type-mismatch]
130 | int src_bfilter_mono_case1 ( unsigned char x[], float y[] );
| ^
hmp3/src/srccfb.cpp:80:1: note: ‘src_bfilter_mono_case1’ was previously declared here
80 | Csrc::src_bfilter_mono_case1 ( unsigned char x[], float y[] )
| ^
hmp3/src/srccfb.cpp:80:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:131:9: warning: type of ‘src_bfilter_mono_case2’ does not match original declaration [-Wlto-type-mismatch]
131 | int src_bfilter_mono_case2 ( unsigned char x[], float y[] );
| ^
hmp3/src/srccfb.cpp:104:1: note: ‘src_bfilter_mono_case2’ was previously declared here
104 | Csrc::src_bfilter_mono_case2 ( unsigned char x[], float y[] )
| ^
hmp3/src/srccfb.cpp:104:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:132:9: warning: type of ‘src_bfilter_mono_case3’ does not match original declaration [-Wlto-type-mismatch]
132 | int src_bfilter_mono_case3 ( unsigned char x[], float y[] );
| ^
hmp3/src/srccfb.cpp:134:1: note: ‘src_bfilter_mono_case3’ was previously declared here
134 | Csrc::src_bfilter_mono_case3 ( unsigned char x[], float y[] )
| ^
hmp3/src/srccfb.cpp:134:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:133:9: warning: type of ‘src_bfilter_mono_case4’ does not match original declaration [-Wlto-type-mismatch]
133 | int src_bfilter_mono_case4 ( unsigned char x[], float y[] );
| ^
hmp3/src/srccfb.cpp:203:1: note: ‘src_bfilter_mono_case4’ was previously declared here
203 | Csrc::src_bfilter_mono_case4 ( unsigned char x[], float y[] )
| ^
hmp3/src/srccfb.cpp:203:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:135:9: warning: type of ‘src_bfilter_dual_case0’ does not match original declaration [-Wlto-type-mismatch]
135 | int src_bfilter_dual_case0 ( unsigned char x[][2], float y[][2] );
| ^
hmp3/src/srccfb.cpp:252:1: note: ‘src_bfilter_dual_case0’ was previously declared here
252 | Csrc::src_bfilter_dual_case0 ( unsigned char x[][2], float y[][2] )
| ^
hmp3/src/srccfb.cpp:252:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:136:9: warning: type of ‘src_bfilter_dual_case1’ does not match original declaration [-Wlto-type-mismatch]
136 | int src_bfilter_dual_case1 ( unsigned char x[][2], float y[][2] );
| ^
hmp3/src/srccfb.cpp:267:1: note: ‘src_bfilter_dual_case1’ was previously declared here
267 | Csrc::src_bfilter_dual_case1 ( unsigned char x[][2], float y[][2] )
| ^
hmp3/src/srccfb.cpp:267:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:137:9: warning: type of ‘src_bfilter_dual_case2’ does not match original declaration [-Wlto-type-mismatch]
137 | int src_bfilter_dual_case2 ( unsigned char x[][2], float y[][2] );
| ^
hmp3/src/srccfb.cpp:299:1: note: ‘src_bfilter_dual_case2’ was previously declared here
299 | Csrc::src_bfilter_dual_case2 ( unsigned char x[][2], float y[][2] )
| ^
hmp3/src/srccfb.cpp:299:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:138:9: warning: type of ‘src_bfilter_dual_case3’ does not match original declaration [-Wlto-type-mismatch]
138 | int src_bfilter_dual_case3 ( unsigned char x[][2], float y[][2] );
| ^
hmp3/src/srccfb.cpp:335:1: note: ‘src_bfilter_dual_case3’ was previously declared here
335 | Csrc::src_bfilter_dual_case3 ( unsigned char x[][2], float y[][2] )
| ^
hmp3/src/srccfb.cpp:335:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:139:9: warning: type of ‘src_bfilter_dual_case4’ does not match original declaration [-Wlto-type-mismatch]
139 | int src_bfilter_dual_case4 ( unsigned char x[][2], float y[][2] );
| ^
hmp3/src/srccfb.cpp:426:1: note: ‘src_bfilter_dual_case4’ was previously declared here
426 | Csrc::src_bfilter_dual_case4 ( unsigned char x[][2], float y[][2] )
| ^
hmp3/src/srccfb.cpp:426:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:141:9: warning: type of ‘src_bfilter_to_mono_case0’ does not match original declaration [-Wlto-type-mismatch]
141 | int src_bfilter_to_mono_case0 ( unsigned char x[][2], float y[] );
| ^
hmp3/src/srccfb.cpp:486:1: note: ‘src_bfilter_to_mono_case0’ was previously declared here
486 | Csrc::src_bfilter_to_mono_case0 ( unsigned char x[][2], float y[] )
| ^
hmp3/src/srccfb.cpp:486:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:142:9: warning: type of ‘src_bfilter_to_mono_case1’ does not match original declaration [-Wlto-type-mismatch]
142 | int src_bfilter_to_mono_case1 ( unsigned char x[][2], float y[] );
| ^
hmp3/src/srccfb.cpp:502:1: note: ‘src_bfilter_to_mono_case1’ was previously declared here
502 | Csrc::src_bfilter_to_mono_case1 ( unsigned char x[][2], float y[] )
| ^
hmp3/src/srccfb.cpp:502:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:143:9: warning: type of ‘src_bfilter_to_mono_case2’ does not match original declaration [-Wlto-type-mismatch]
143 | int src_bfilter_to_mono_case2 ( unsigned char x[][2], float y[] );
| ^
hmp3/src/srccfb.cpp:527:1: note: ‘src_bfilter_to_mono_case2’ was previously declared here
527 | Csrc::src_bfilter_to_mono_case2 ( unsigned char x[][2], float y[] )
| ^
hmp3/src/srccfb.cpp:527:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:144:9: warning: type of ‘src_bfilter_to_mono_case3’ does not match original declaration [-Wlto-type-mismatch]
144 | int src_bfilter_to_mono_case3 ( unsigned char x[][2], float y[] );
| ^
hmp3/src/srccfb.cpp:559:1: note: ‘src_bfilter_to_mono_case3’ was previously declared here
559 | Csrc::src_bfilter_to_mono_case3 ( unsigned char x[][2], float y[] )
| ^
hmp3/src/srccfb.cpp:559:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:145:9: warning: type of ‘src_bfilter_to_mono_case4’ does not match original declaration [-Wlto-type-mismatch]
145 | int src_bfilter_to_mono_case4 ( unsigned char x[][2], float y[] );
| ^
hmp3/src/srccfb.cpp:629:1: note: ‘src_bfilter_to_mono_case4’ was previously declared here
629 | Csrc::src_bfilter_to_mono_case4 ( unsigned char x[][2], float y[] )
| ^
hmp3/src/srccfb.cpp:629:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:98:12: warning: type of ‘sr_convert’ does not match original declaration [-Wlto-type-mismatch]
98 | private:
| ^
hmp3/src/srcc.cpp:798:1: note: ‘sr_convert’ was previously declared here
798 | Csrc::sr_convert ( unsigned char xin[], float yout[] )
| ^
hmp3/src/srcc.cpp:798:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:89:5: warning: type of ‘__ct_comp ’ does not match original declaration [-Wlto-type-mismatch]
89 | Csrc();
| ^
hmp3/src/srcc.cpp:65:1: note: ‘__ct_comp ’ was previously declared here
65 | Csrc::Csrc ( ):
| ^
hmp3/src/srcc.cpp:65:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:95:9: warning: type of ‘sr_convert_init’ does not match original declaration [-Wlto-type-mismatch]
95 | IN_OUT sr_convert ( unsigned char xin[], float yout[] );
| ^
hmp3/src/srcc.cpp:730:1: note: ‘sr_convert_init’ was previously declared here
730 | Csrc::sr_convert_init ( int source, int channels, int bits, int is_float,
| ^
hmp3/src/srcc.cpp:730:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:91:5: warning: type of ‘__dt_comp ’ does not match original declaration [-Wlto-type-mismatch]
91 |
| ^
hmp3/src/srcc.cpp:70:1: note: ‘__dt_comp ’ was previously declared here
70 | Csrc::~Csrc()
| ^
hmp3/src/srcc.cpp:70:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
./hmp3/src/pub/srcc.h:91:5: warning: type of ‘__dt_base ’ does not match original declaration [-Wlto-type-mismatch]
91 |
| ^
hmp3/src/srcc.cpp:70:1: note: ‘__dt_base ’ was previously declared here
70 | Csrc::~Csrc()
| ^
hmp3/src/srcc.cpp:70:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used