Consider the following:
struct S {
static const int i = 42;
};
const int *use() { return &S::i; }
Compiling with `clang -cc1 -x c++ -S -o - -emit-llvm -triple i686-linux-gnu`
does not produce a definition of `i`.
Compiling with `clang -cc1 -x c++ -S -o - -emit-llvm -triple i686-pc-win32`
produces `i` defined as `@"\01?i@S@@2HB" = linkonce_odr constant i32 42, align
4`.
This matches MSVC's behavior: `?i@S@@2HB`
We won't define `_MSC_EXTENSIONS` unless we are targeting the MSVC ABI
**and** enable the MSVC-specific keywords with `-fms-extensions`.
http://llvm-reviews.chandlerc.com/D3034
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits