Compiler Bugs Fixed In Visual Studio 2012

Following STL Bugs Fixed In Visual Studio 2012, here are similar lists for the compiler front-end (responsible for parsing C++)…

ID Title
599151 Using declaration for a name of a type does not work in MS C++ compilers
603872 Support for XML Documentation in native C++ code
611359 C++ compiler: Temporary object created when it should not, thus making code that worked in VC9 not work anymore!
611716 C++/CLI class static constructor not called in release build
612158 Illegal C++ fails to generate C2039 error, allowing buffer overrun
619198 [c++] Compiler fails to deduce template parameter.
623481 Compiler crash
624283 Private copy operator vs __declspec(dllexport)
624378 Can I double&& in template
624757 Incorrect function template deduction involving pointor to member data
625710 Compilation error in case of repeating forward declaration within class
629060 Compiler Crash related to System.Core and String^
629262 C/C++ Optimizing Compiler has stopped working – System.Core and String^ related
629931 Internal compiler error C1001 when compiling OpenCV 2.1/2.2 with C++/CLI 64 bit
632850 VC++ 2010 Line Number Wrapping
633274 C++ compiler allows use of unspecialized member function template
633782 C++ #pragma secion doesn’t allow read,write,execute
634671 Bug with operator overloading and nested lambdas
634688 Wrong return type when running nested lambda
634966 Argument dependent lookup chooses the wrong function inside sizeof statements
636634 Unexpected error C2751 reported at ‘using namespace’ directive inside a lambda expression.
640228 compiler template declaration/definition mismatch error
640281 C++/CLI compiler crashes when attempting to compile event System::EventHandler<>;
641023 Inner lambda capture list can’t see variable through auto-capture of outer lambda, thus rendering the name unknown to the inner capture list
641032 Lambda’s automagic ctor gets wrong signature (or call) when implicit and explicit capture is mixed.
644190 Unexpected error C2871 reported at ‘using namespace’ directive before a lambda expression
649898 VC10 STL: std::pair template constructors ignore if elements are implicitly constructable or not
649953 Incorrect code generated when returning struct by value and compiling for x86.
650667 Incorrect IDE error
651255 C++ CLI property overriding and renaming
651762 Incorrect deduction when taking the address of an instantiated member function template using a template type
651972 Visual C++: Copy Constructor Bug for Base Class with Template Constructor
652743 default constructors of __declspec(selecany) variables not called
657040 Buggy static_assert
661294 Wrong “this” pointer when using templates in C++ and targeting x64 Platform
663659 Large arrays with const size can crash at run-time on win64
663884 VC10: weird template deduction error with non-type default template argument
663904 Compiler fails to compile inner struct/class/union in a namespace after some forward declarations
665425 C1001 Error – “virtual” inheritance, member function pointer template and “Enable minimal rebuild”
667226 private template operators in C++ treated as public
669549 [C++] Temporary strings implicitly constructed take l-value path instead of r-value path
674672 Callee disassembly expects address which caller is not providing in x64 mode
674867 static_assert failure does not trigger a compilation error
674944 C++/CLI compiler gives error C3214 when invoking a class with generic constraint
676125 Public Parameterless Constructor Not Found in VC++
679716 Bug in VC++ 2010 with global refence to array
681998 C++: member rvalue references are initialized with erroneous copies in constructor initializer list
682454 Compiler bug – cannot access private member declared in class
682688 [C++] Failure to compile functions taking template template arguments of dependent types
682689 [C++] No warning when returning r-value-references to locals / temporaries
682695 [C++] __alignof() fails to properly evalute alignment of dependent types
684807 template template parameters don’t work with unions
684953 miscompilation of aggregate initializer with lambdas inside
687344 Lambda ICE
687345 Local class and lambda
687903 VC++ 2010 Compiler Crash when using properties (__declspec(property..) and /doc option
687931 cl.exe crashes with a message box compiling some specific code
687935 Ambiguous call to overloaded function in c++ when using lambdas
688106 Fatal Error C1001
688107 C2466 emitted twice for the same construct
688198 Invalid error error C2871 when using functions defined within nested namespaced in lambdas.
688443 C2143 emitted twice for the same construct
689504 C2326 on Lambdas with [this]-Capture
689815 std::result_of not working with lambdas
690955 C4673 Compiling Exception Hierarchy Using Virtual Multiple Inheritence
693671 Compile Error in globally scoped lambda with a for loop
694857 Bug in lambda expressions
696310 C2027 emitted multiple times compiling deque with an incomplete stored class
696412 Compiling local static auto object causes internal compiler error
697006 VC++ cannot resolve function overload as template parameter
697086 C4430 emitted twice for the same construct
697512 Internal compiler error while compiling specific initializer of global object.
698148 C4743 warning on explicit call of a templated function
699236 Visual C++ does not handle based enums correctly
699543 Internal compiler error in CL.exe
703088 Cannot call static member functions of template types directly from lambdas in C++.
704352 The function pointer types estimated by template are wrong
704955 Cannot directly return with decltype
706537 compile error C2663 in lambda, if boost 1.48 posix_time.hpp is included.
708011 Compiling trivial boost::property_tree test gives fatal error C1001
712925 error C2563: mismatch in formal parameter list
712990 bad warning using negative value for enum with underlying type specified as signed short
713679 Unexpected behaviour of this capture in a lambda expression
714524 illegal use of local type in template instantiation
714628 Argument Dependent Lookup Failure in Visual C++ 2010
716461 const data member triggers dynamic initialization with C++ compiler
717318 Incorrect parsing of pointer to array return types in trailing return type template functions
717474 Unterminated __asm blocks cause memory exhaustion for compiler
718050 Warning C4355: ‘this’ : used in base member initializer list
718578 [C++] Reference default argument falsely converted to pointer on instantiation of more than 2 explicit specializations
718621 VC++10 crashing on basic BOOST_TYPEOF usage
719083 C++ compiler – decltype doesn’t infer the correct return type – vector<int>& instead of vector<int>.
719275 Visual C++ compiler won’t accept a function pointer as a templated rvalue reference parameter
720670 Failed to compile program using boost::program_options and lambda expression
724314 T const & cannot receive char[]
724319 decltype can generate references of zero sized array
724362 unable to match function definition
724616 Absence of conversion operator-function to pointer to function in lambda-expression.
725134 Nested lambda expressions can not capture entities of enclosing lambda expressions
725189 decltype deduces wrong type
725876 Rvalue reference overloading rules
726039 error C2914: ‘foo’ : cannot deduce template argument as function argument is ambiguous
727873 VC 11 optimizing compiler crash
728349 VS11 Beta – fatal error C1001
728741 Auto type deduction gets confused for multiple variables
730244 Reference capture by inner lambda of by-value captured variable of non-mutable outer lambda causes weird compiler error
730538 Out-of-line method definition in template specialization
732063 decltype expressions involving polymorphic callable entities fails in VC++11 Beta but works in VC++10
733475 Impossible value-initialization with decltype
734023 ICE (compiler crash), probably related to try-catch in lambda
734303 Lambda-to-function-pointer conversion fails in nested lambdas.
734791 /Za (disable extensions) disables template arguments with local linkage, which is a C++11 feature.