Visual Studio 2013 Update 2 includes a number of fixes filed through Connect:
- Free functions can be called using curly braces instead of parentheses. (link)
- When attempting to expand a recursive template, the compiler uses large amounts of memory and then crashes.
- Internal compiler error. (link)
- C99: Use of _Complex with an incorrect storage class can cause internal compiler errors. (link)
- C99: Functions returning bool can return something other than true or false. (link)
- C99: A cast operator has wrong precedence when dereferencing a compound literal. (link)
- Uniform initialization combined with ternary operators can cause internal compiler errors.
- When initializer lists are used, the destructors of temporary objects can be called twice. (link)
- The “this” pointer can have a wrong value in a virtual function call with a qualified name. (link, link)
- The compiler rejects correct covariant returns. (link)
- Variadic templates can cause internal compiler errors. (link)
- Initializer lists combined with unique pointers can cause heap corruption. (link)
- Variadic templates combined with “using” type definitions can cause internal compiler errors. (link)
- Variadic templates can cause internal compiler errors. (link)
- Types expanded by variadic templates can’t be used in template<> brackets. (link)
- Internal compiler error.
- Variadic templates combined with decltype can cause internal compiler errors.
- Variadic templates can cause internal compiler errors. (link)
- The compiler rejects correct code involving variadic templates. (link)
- f(const T&) is not considered more specialized than f(const Args&…)
- Template specialization on variadic function arguments can cause internal compiler errors. (link)
- Variadic templates can cause internal compiler errors.
- The sizeof… operator for variadic templates can cause internal compiler errors. (link)
- The compiler incorrectly rejects some orderings of partial specializations.
- System::Runtime::Serialization::XsdDataContractExporter::CanExport() behaves incorrectly. (link)
- The compiler can emit an incorrect error about type conversion in a function application.
- Complex templates combined with std::remove_reference can cause internal compiler errors. (link)
- The stringizing operator behaves inconsistently when question marks are used in the operand. (link)
- Long filenames cause the compiler to emit the “file name too long” error, even though previous versions of the compiler would not have done so. (link)
- Using std::map with braces in a return statement can cause internal compiler errors. (link)
- Variadic templates can cause internal compiler errors. (link, link)
- The compiler rejects correct boost:fusion code. (link)
- GUID generation behaves incorrectly for TypedEventHandler.
- The compiler incorrectly rejects the use of initializer lists as default function arguments. (link, link)
- Internal compiler error.
Thanks to everyone who provided feedback!
0 comments