Oh I didn't see you had made a new commit. Using clang-3.1, and
testing against r7970, it compiles but won't link at -O2 or -Os.
Everyting works at -O0, though. I pasted the new error below.
Maybe there is some place you can add __attribute__ ((used))?
Linking CXX shared library libADM_vf_FluxSmooth.dylib
cd /tmp/homebrew-avidemux3-2.6-0lky/buildPlugCor/ADM_videoFilters6/fluxSmooth && /usr/local/Cellar/cmake/2.8.8/bin/cmake -E cmake_link_script CMakeFiles/ADM_vf_FluxSmooth.dir/link.txt --verbose=1
/usr/bin/clang++ -Os -pipe -march=native -Xclang -target-feature -Xclang -aes -Qunused-arguments -shared -L/usr/local/Cellar/gettext/0.18.1.1/lib -o libADM_vf_FluxSmooth.dylib -install_name /tmp/homebrew-avidemux3-2.6-0lky/buildPlugCor/ADM_videoFilters6/fluxSmooth/libADM_vf_FluxSmooth.dylib CMakeFiles/ADM_vf_FluxSmooth.dir/ADM_vidFlux.cpp.o CMakeFiles/ADM_vf_FluxSmooth.dir/ADM_vidFluxAsm.cpp.o -L/usr/local/Cellar/avidemux3/2.6/lib -lADM_core6 -lADM_coreUI6 -lADM_coreVideoFilter6 -lADM_coreImage6 -lADM_coreUtils6 -lm
Undefined symbols for architecture x86_64:
"_l_currp", referenced from:
ADMVideoFlux::DoFilter_MMX(unsigned char*, unsigned char*, unsigned char*, int, unsigned char*, int, int, int, fluxsmooth const&) in ADM_vidFluxAsm.cpp.o
"_l_destp", referenced from:
ADMVideoFlux::DoFilter_MMX(unsigned char*, unsigned char*, unsigned char*, int, unsigned char*, int, int, int, fluxsmooth const&) in ADM_vidFluxAsm.cpp.o
"_l_prevp", referenced from:
xloop0 in ADM_vidFluxAsm.cpp.o
"_l_nextp", referenced from:
xloop0 in ADM_vidFluxAsm.cpp.o
"scaletab_MMX", referenced from:
xloop0 in ADM_vidFluxAsm.cpp.o
"ycnt", referenced from:
xloop0 in ADM_vidFluxAsm.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [ADM_videoFilters6/fluxSmooth/libADM_vf_FluxSmooth.dylib] Error 1
make[1]: *** [ADM_videoFilters6/fluxSmooth/CMakeFiles/ADM_vf_FluxSmooth.dir/all] Error 2
make: *** [all] Error 2