{"id":573,"date":"2014-06-09T11:18:00","date_gmt":"2014-06-09T11:18:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2014\/06\/09\/bugs-fixed-in-visual-studio-2013-update-2\/"},"modified":"2019-02-18T18:05:22","modified_gmt":"2019-02-18T18:05:22","slug":"bugs-fixed-in-visual-studio-2013-update-2","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/bugs-fixed-in-visual-studio-2013-update-2\/","title":{"rendered":"Bugs Fixed in Visual Studio 2013 Update 2"},"content":{"rendered":"<p>Visual Studio 2013 Update 2 includes a number of fixes filed through Connect:<\/p>\n<ul>\n<li>Free functions can be called using curly braces instead of parentheses. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/798789\/c-vs-2013-rc-allows-to-call-free-functions-using-curly-braces\">link<\/a>)<\/li>\n<li>When attempting to expand a recursive template, the compiler uses large amounts of memory and then crashes.<\/li>\n<li>Internal compiler error. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/806344\/internal-compiler-error-c1001\">link<\/a>)<\/li>\n<li>C99: Use of _Complex with an incorrect storage class can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/806633\/internal-compiler-error-in-vs-2013\">link<\/a>)<\/li>\n<li>C99: Functions returning bool can return something other than true or false. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/806658\/bool-semantics-wrong-in-some-contexts\">link<\/a>)<\/li>\n<li>C99: A cast operator has wrong precedence when dereferencing a compound literal. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/808473\/dereferencing-a-c99-compound-literal-fails\">link<\/a>)<\/li>\n<li>Uniform initialization combined with ternary operators can cause internal compiler errors.<\/li>\n<li>When initializer lists are used, the destructors of temporary objects can be called twice. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/791137\/initializer-list-handling-broken-destructors-of-temporary-objects-called-twice\">link<\/a>)<\/li>\n<li>The &#8220;this&#8221; pointer can have a wrong value in a virtual function call with a qualified name. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/804654\/this-pointer-is-not-corrected-when-calling-method-imported-from-base-class-by-a-using-declaration\">link<\/a>, <a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/808270\/wrong-this-pointer-in-member-function\">link<\/a>)<\/li>\n<li>The compiler rejects correct covariant returns. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/811561\/vc-2013-covariant-return-regression-bug\">link<\/a>)<\/li>\n<li>Variadic templates can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/812102\/variadic-template-pack-expansion-error\">link<\/a>)<\/li>\n<li>Initializer lists combined with unique pointers can cause heap corruption. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/812287\/visual-c-2013-initializer-list-unique-ptr-causes-heap-corruption\">link<\/a>)<\/li>\n<li>Variadic templates combined with &#8220;using&#8221; type definitions can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/812999\/parameter-pack-of-variadic-template-with-using-type-definition-sometimes-causes-ice-internal-compiler-error\">link<\/a>)<\/li>\n<li>Variadic templates can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/813426\/variadic-template-expansion-crashes-when-expanding-complex-template\">link<\/a>)<\/li>\n<li>Types expanded by variadic templates can&#8217;t be used in template&lt;&gt; brackets. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/775492\/codename-milan-using-a-name-with-a-variadic-template-inside-template-brackets-doesnt-work\">link<\/a>)<\/li>\n<li>Internal compiler error.<\/li>\n<li>Variadic templates combined with decltype can cause internal compiler errors.<\/li>\n<li>Variadic templates can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/797259\/internal-compiler-error-while-expanding-parameter-pack\">link<\/a>)<\/li>\n<li>The compiler rejects correct code involving variadic templates. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/801828\/c2143-error-when-compiling-c-code-with-variadic-templates\">link<\/a>)<\/li>\n<li>f(const T&amp;) is not considered more specialized than f(const Args&amp;&hellip;)<\/li>\n<li>Template specialization on variadic function arguments can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/807537\/template-specialization-on-variadic-function-arguments\">link<\/a>)<\/li>\n<li>Variadic templates can cause internal compiler errors.<\/li>\n<li>The <strong>sizeof<\/strong>&hellip; operator for variadic templates can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/811205\/sizeof-crash\">link<\/a>)<\/li>\n<li>The compiler incorrectly rejects some orderings of partial specializations.<\/li>\n<li>System::Runtime::Serialization::XsdDataContractExporter::CanExport() behaves incorrectly. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/801795\/system-runtime-serialization-xsddatacontractexporter-canexport-broken-for-c-cli-in-vs2013\">link<\/a>)<\/li>\n<li>The compiler can emit an incorrect error about type conversion in a function application.<\/li>\n<li>Complex templates combined with std::remove_reference can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/809240\/internal-compiler-error-when-using-std-remove-reference-in-template-metaprogram\">link<\/a>)<\/li>\n<li>The stringizing operator behaves inconsistently when question marks are used in the operand. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/813595\/c-preprocessor-incorrectly-handling-l-character\">link<\/a>)<\/li>\n<li>Long filenames cause the compiler to emit the &#8220;file name too long&#8221; error, even though previous versions of the compiler would not have done so. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/805360\/error-c1081-encountered-in-vs2013-preview-c-compiler-but-not-encountered-in-earlier-c-compilers\">link<\/a>)<\/li>\n<li>Using std::map with braces in a return statement can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/808852\/internal-compiler-error-with-std-map-operations-and-braces-in-return-statement\">link<\/a>)<\/li>\n<li>Variadic templates can cause internal compiler errors. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/812102\/variadic-template-pack-expansion-error\">link<\/a>, <a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/811483\/fatal-error-c1001-interner-compilerfehler-variadic-templates\">link<\/a>)<\/li>\n<li>The compiler rejects correct boost:fusion code. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/811306\/compile-error-with-boost-fusion\">link<\/a>)<\/li>\n<li>GUID generation behaves incorrectly for TypedEventHandler.<\/li>\n<li>The compiler incorrectly rejects the use of initializer lists as default function arguments. (<a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/809243\/c-11-initializer-lists-as-default-argument\">link<\/a>, <a href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/816270\/visual-c-compiler-bug\">link<\/a>)<\/li>\n<li>Internal compiler error.<\/li>\n<\/ul>\n<p>Thanks to everyone who provided feedback!<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":264,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[137,4],"class_list":["post-573","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-announcements","tag-bug-info"],"acf":[],"blog_post_summary":"<p>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 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=573"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/573\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}