Files
Xenia-Canary/src/xenia/base
sephiroth99 e1d569dd7c Fix usage of __m128.
With GCC and clang, __m128 is not a struct, so there are no struct members
to access the individual items in the vector.

Use standard load/store function and some hackery to workaround this
limitation.
2015-09-22 07:41:28 -07:00
..
2015-08-05 22:06:20 -07:00
2015-08-05 22:06:20 -07:00
2015-08-18 14:18:00 -07:00
2015-09-22 07:38:59 -07:00
2015-09-22 07:38:59 -07:00
2015-08-06 20:17:01 -07:00
2015-08-05 22:06:20 -07:00
2015-08-07 21:29:03 -07:00
2015-09-20 21:31:05 -07:00
2015-09-20 21:31:05 -07:00
2015-08-05 22:06:20 -07:00
2015-09-06 18:07:52 -07:00
2015-08-29 20:49:26 -07:00
2015-08-06 20:17:01 -07:00
2015-08-18 14:18:00 -07:00
2015-08-06 20:17:01 -07:00
2015-08-06 20:17:01 -07:00
2015-09-20 21:31:05 -07:00
2015-08-05 22:06:20 -07:00
2015-08-05 22:06:20 -07:00
2015-08-05 22:06:20 -07:00
2015-08-29 22:04:12 -05:00
2015-08-06 20:17:01 -07:00
2015-08-05 22:06:20 -07:00
2015-09-20 21:31:05 -07:00
2015-08-05 22:06:20 -07:00
2015-09-22 07:41:28 -07:00
2015-09-20 21:31:05 -07:00
2015-09-20 21:31:05 -07:00
2015-08-18 14:18:00 -07:00
2015-08-18 14:18:00 -07:00
2015-08-29 23:42:40 -07:00
2015-08-29 20:49:26 -07:00
2015-08-29 20:49:26 -07:00
2015-09-20 21:31:05 -07:00
2015-09-22 07:38:59 -07:00

A lightweight cross-platform/compiler compatibility library.

This library presupposes C++11/14 support. As more compilers get C++14 it will assume that.

Other parts of the project use this to avoid creating spaghetti linkage. Code specific to the emulator should be kept out, as not all of the projects that depend on this need it.

Where possible, C++11/14 STL should be used instead of adding any code in here, and the code should be kept as small as possible (by reusing STL/etc). Third party dependencies should be kept to a minimum.

Target compilers:

  • MSVC++ 2013+
  • Clang 3.4+
  • GCC 4.8+.

Target platforms:

  • Windows 8+ (_win.cc suffix)
  • Mac OSX 10.9+ (_mac.cc suffix, falling back to _posix.cc)
  • Linux ? (_posix.cc suffix)

Avoid the use of platform-specific #ifdefs and instead try to put all platform-specific code in the appropriately suffixed cc files.