- _M_IX86_FP defines whether VS should generate code using SSE or SSE2
instructions. It isn't correct to use it to check whether optional runtime
optimizations should be compiled in. It's also not defined at all in 64-bit
mode.
- So let's just keep it simple and give a list of everything that is supported
as release optimizations. It's not clear from the documentation if all of
these are really supported. It just list a bunch of intrinsics from these
that are.
- Disabled errors are:
- Implicit conversion from bigger to a smaller type. I don't want to disable
it but there are still about 60 of these and adding explicit C casts
everywhere is just going to cause more problems.
- Nonstandard extension: Non-constant aggregate initializer.
- Translation unit is empty.
- Vectors that point far outside the frame don't work, although the special
case of them pointing right beside the frame works. So test for vectors
pointing farther away.
- Update include directory for greatest.
- Add our own Github fork of greatest as a submodule, in case we want to
improve it and push changes upstream easily in the future.
- Update existing unit tests to use greatest.
- Update Visual Studio project to remove traces of seatest and include greatest.
Name mangling is causing problems on different platforms (issues #2 and #3) and some of it was solved modifying the Makefile. Separate 32bit and 64bit assembly functions were also causing problems and since we were going to move to x264asm abstraction layer anyway, we decided to do it now before spending time on the old implementation.
- Remove stupid stuff.
- Reorder imports so that default settings are gathered correctly.
Microsoft.Cpp.props needs to be imported after ConfigurationType and
UseDebugLibraries have been set because it does different stuff depending
on their values.
- Make all archs and confs use solution/bin/$conf. This was changed by
accident earlier.
- Change intermediate build directories to $arch-$conf form.
- Put libs in build/$arch-$conf-libs.
- Remove unnecessary options from individual confs.