On 3/13/14, 3:21 PM, Timon Gehr wrote:
On 03/13/2014 02:32 PM, Steven Schveighoffer wrote:

The one I would really like to see is logical OR. There is no easy way
around this, one must come up with convoluted mechanisms that are much
harder to design, write, and understand than just version(x || y)

version(A) version=AorB;
version(B) version=AorB;
version(AorB){ }

From a project at work:

// Import the appropriate built-in #define menagerie
version (gcc4_7_1) {
  version = gnu;
  import defines_gcc4_7_1, defines_gxx4_7_1;
}
version (gcc4_8_1) {
  version = gnu;
  import defines_gcc4_8_1, defines_gxx4_8_1;
}
version (clang3_2) {
  version = clang;
  import defines_clang3_2, defines_clangxx3_2;
}
version (clang3_4) {
  version = clang;
  import defines_clang3_4, defines_clangxx3_4;
}
version (clangdev) {
  version = clang;
  import defines_clangdev, defines_clangxxdev;
}
...
// Compiler-dependent extra defines
version (gnu) {
  ...
}
version (clang) {
  ...
}


yum

Andrei


Reply via email to