Similar to STL's post on vcblog, I generate a table of connect bugs that I have fixed after I officially worked on the compiler front end:
Connect ID | Title |
581680 | Lambda declaration cannot access closure variables when defined as a member function of an inline class |
584664 | Visual C++ compiler crashes while trying to compile some templates & inheritance code |
611359 | C++ compiler: Temporary object created when it should not, thus making code that worked in VC9 not work anymore! |
612158 | Illegal C++ fails to generate C2039 error, allowing buffer overrun |
619198 | [c++] Compiler fails to deduce template parameter. |
622382 | fatal error C1001: An internal error has occurred in the compiler |
622723 | Const pointer sign extension not consistent in 64-bit compiler. |
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 |
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. |
637539 | using namespace a::b; does not work in a lambda defined on the root level. |
640228 | compiler template declaration/definition mismatch error |
640281 | C++/CLI compiler crashes when attempting to compile event System::EventHandler<>; |
640356 | decltype does not seem to work ok with operator, expressions |
641032 | Lambda's automagic ctor gets wrong signature (or call) when implicit and explicit capture is mixed. |
649496 | Visual C++ doesn't respect the access modifier for operator member function templates |
649953 | Incorrect code generated when returning struct by value and compiling for x86. |
650667 | Incorrect IDE error |
651255 | C++ CLI property overriding and renaming |
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 |
667226 | private template operators in C++ treated as public |
668375 | Unexpected error for legal code |
669603 | std algorithm functions do not compile in certain case |
674241 | C++ Lambda unable to access parts of types in containing method |
674442 | Enumeration with negative values are popping C4341 warnings |
674672 | Callee disassembly expects address which caller is not providing in x64 mode |
675321 | fatal error C1001: An internal error has occurred in the compiler. |
676037 | CL crashes while compiling specific line (see description) |
678194 | decltype strips "member" property from member function pointers |
678295 | C++ compiler loses member-ness of pointer-to-member-function during template deduction, causes ICE |
679623 | Incorrectly duplicating object when it is a native one(NDT) in vs2010sp1(C++) |
679716 | Bug in VC++ 2010 with global refence to array |
684720 | C++: Inconsistent explicit interface override behavior |
684900 | template template parameters don't work with unions |
684807 | C2216 'override' cannot be used with 'inline' |
685461 | C++ compiler bug in certain situation involving using declaration and overloaded base member functions |
686324 | cl static assertion parsing error |
687345 | Local class and lambda |
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 |
696310 | C2027 emitted multiple times compiling deque with an incomplete stored class |
696412 | Compiling local static auto object causes internal compiler error |
697086 | VC++ cannot resolve function overload as template parameter |
697006 | C4430 emitted twice for the same construct |
697512 | Internal compiler error while compiling specific initializer of global object. |
698459 | VS Stop Working in Win7 |
698688 | auto compiler error with multiple name declaration |
704352 | The function pointer types estimated by template are wrong |
704624 | Memory leaks with lambda expressions |
706674 | compile error C2663 in lambda, if boost 1.48 posix_time.hpp is included. |
706537 | shared_ptr and lambda function crash with C1001 |
715680 | D8030: INTERNAL COMPILER ERROR |
716372 | C++ - fatal error C1001 when using static local variable with non-trivial constructor in static local lambda |
718297 | Access private function |
718578 | VS2010 C++ Template Member Functions in Lambdas Error |
718729 | [C++] Reference default argument falsely converted to pointer on instantiation of more than 2 explicit specializations |
720670 | C++ type equality not recognized under SFINAE context |
724319 | Failed to compile program using boost::program_options and lambda expression |
724362 | decltype がサイズが 0 の配列への参照を作れる / decltype can generate references of zero sized array |
725056 | unable to match function definition |
725189 | Microsoft C++ compiler crash |
725876 | decltype deduces wrong type |
729345 | Rvalue reference overloading rules |
732006 | auto -> decltype causes C1001 crash |
736295 | fatal error C1001 when using Lambda Expression |
736576 | Incorrect name lookup in a lambda expression defined inside a class member function |
736931 | The explicit capture of an entity by a nested lambda-expression does not cause its implicit capture by the containing lambda-expression. |
736965 | internal compiler error instead of compiler diagnostic |
711056 | Friend Template Classes and Lambda Functions |
741267 | Visual Studio 2010 C++: Static objects imported via using directives in lambdas cause compilation issues! |
743303 | Initializer list in a lambda crashes |
746042 | It does not work to instantiate a template with two different anonymous enums |
746056 | Error C1001 with range-based for-loop containing complex expression |
746135 | lambda expression problem |
746680 | Internal Compiler error (C1001) and sometimes crash with VS2012 |
747514 | Inconsistent behavior when passing rvalue reference to function vs. function pointer |
748530 | Function pointer to templated function becomes that of non-templated function of the same name |
750224 | Visual Studio 2010, compiler crash |
751729 | range-based for and shared_ptr internal error |
752136 | Array<> deallocated too early |
753113 | VS2012 C++ Compiler Crash |
753699 | C++ compiler crashes instead of returning error for simple erroneous C++ code |
753981 | Errors C2950 and C3416 are the same and shouldn't be errors at the first place. |
754807 | Possible minor bug in Visual C++ 2010/2012 regarding conditional operator |
759048 | Compiler crash on C++ code |
759235 | Cannot build project |
760771 | fatal error C1001: An internal error has occurred in the compiler. |
761026 | XMMATRIX not properly aligned when using c++11 auto keyword. |
761148 | Internal Compiler Error using const wchar_t* in inline method |
762838 | Partial template specialization error with namespace & final |
770391 | Uniform Initialization Error with Nov 2012 CTP of Visual C++ |
770526 | [Codename Milan] Delegating constructors not working with explicit constructors |
770888 | const ref to initializer_list is not recognized as valid ctor |
771018 | CL crashes when compiel code with initializer_list |
771272 | C/C++ Compiler Driver Crash |
771311 | Variadic template bug in vs2012 november CTP |
771533 | [Codename Milan] Regression making function operator public with using statement |
771534 | [Codename Milan] Regression - Warning 4554 erroneously emitted |
772001 | [Codename Milan] C++11 compilation issue (C2065) |
772093 | x86 C++ compiler crash |
773505 | std::forward and variadic templates failed in Nov 2012 CTP |
774153 | [Codename Milan] Missing <initializer_list> include causes compiler crash |
774268 | Failure to bind rvalue to a constant reference when rvalue is returned from virtual function |
774456 | [Codename Milan] ambiguous begin()/end() of initilizer_list |
774527 | After upgraded from VS2008, build project in VS2012 shows error: c1xx : fatal error C1083: Cannot open source file: '??????????????????????????????': No such file or directory |
775016 | [Codename Milan] std::forward ignore namespaces in variadic template functions |
These are only a small portion of bugs we have fixed (less than 20% of mine), and there are still large amount of active bugs on which we are working.
If you find any bugs in the compiler, feel free to report them through Microsoft Connect.