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 |
711056 | D8030: INTERNAL COMPILER ERROR |
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 |
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. |
735254 | An internal compiler error reduced to a small code snippet |
735274 | Enumeration can not be captured into a lambda function |
735281 | Nested lambdas can not refer to outer types |
736295 | Incorrect name lookup in a lambda expression defined inside a class member function |
736576 | The explicit capture of an entity by a nested lambda-expression does not cause its implicit capture by the containing lambda-expression. |
736647 | Internal Compiler Error with boost::property_tree::ptree.get_child() |
736931 | internal compiler error instead of compiler diagnostic |
736965 | Friend Template Classes and Lambda Functions |
738324 | Separated declaration and definition of a template function using template-of-template does not compile |
739900 | internal compiler error |
743026 | decltype appears to drop const qualifiers for overloaded operators |
744323 | Impossibility of using typename with storage class specifier static in lambda expressions |
750224 | Visual Studio 2010, compiler crash |
751729 | range-based for and shared_ptr internal error |
... and the compiler back-end (responsible for optimizing and generating assembly code):
ID | Title |
526921 | VS2008 C++ x64: buggy result in expression containing double and unsigned int64 |
555266 | C++ compiler generates wrong code with optimization flag /O2 |
565435 | Linker crash with no unusual settings |
566543 | Bad code generation for SSE/x64 release |
577724 | Vs2010 x64 C and C++ program crashes when string literal are not modified |
581207 | Visual Studio 2005 SP1 reproducible linker error (LKN1257 caused by C1083) |
581208 | inlining code produces bug |
582063 | Compiler Bug when generating data. |
587106 | A false C4701 bothers me under a certain condition. |
589084 | Optimizer bug in Visual C++ Express Edition 2010 (Version 10.0.30319.1 RTMRel) |
591804 | Useless C++ C4700 warning for x64 Release builds |
596345 | avx 256 bit intrinsics bug when compile in 64 bit |
596828 | #pragma comment(lib) should be able to take relative paths from additional lib dirs |
597862 | DIA SDK dia2dump sample coding mistake prevents dumping of enum and typedef information |
606013 | OpenMP Release x64 crash in critical section |
608187 | VS2008 amd64 link error (LNK1103) when using /openmp and /GL flags |
612671 | [VC2010] Alignment issue with _mm256_store_si256() AVX intrinsic in 64-bit debug builds |
613573 | VC++2010 Optimize gen infinite-loop exe ... |
613868 | C++ optimizer fails in debug with /O2 and /Zi |
615374 | Global variables of __m128i type behave incorrectly with global optimization. |
616129 | cl.exe: fatal error C1001 when using /O2 switch |
623280 | Internal compiler error (x86, O2) |
624668 | (C++ x86) /Og renders function parameters in catch blocks unusable |
626399 | Possible optimization bug on manual bounds checking |
629550 | Bug in C++ compilation for structures compiled with pragma pack (1) |
634020 | Crash when compiling [related to float/double conversions?] |
634223 | OpenMP & C++ optimization crashes - incorrect program transform/optimization? |
634455 | Incorrect shift left/right optimization |
634606 | Compiler bug with SSSE3 |
641144 | LLVMX86Disassembler fails to compile properly in optimize mode |
643764 | C++ optimization bug; incorrect assembly emitted |
644615 | Wrong comparison instruction selected for loop preamble |
646489 | Unaligned data access optimzed away |
646911 | Bad value in EDI causing a crash when executing MASKMOVDQU |
647064 | Incorrect code generation when optimizing and using SSE2 |
650228 | optimization bug |
650346 | C optimization bug |
653501 | Incorrect shift optimization |
653771 | _mm256_castps128_ps256 does unaligned read |
657966 | VS2010: x64 compiler optimization bug (crash) |
658197 | Build Error when enable both Incremental Linking and Generate Map File when rebuild it. |
658441 | Database Error _ it's back |
661810 | Compiler bug for 64-bit release? |
664827 | application crashed when include fstream in mixed (Cli/native) c++ project |
665896 | link1104 cannot open .map file issue. |
666704 | Visual C++ generates incorrect code with omit frame pointer and setjmp |
668324 | Linker internal error/crash for x64 OpenMP |
672163 | Incorrect code generated when adding array of 4 char to array of short in a loop |
675274 | Link 1000 error when compiling using 64bit and release (any optimization) build |
676417 | Bug in cl for x64 (c compiler) |
676584 | bug in cl (c compiler) |
676931 | Invalid C code result with optimization |
677627 | Linker - A repeated import table under a different dll. |
678200 | VC++2010 ignores side effects when skips initialization of unused variables |
678524 | Optimization bug in x64 compiler when left shifting 64-bit value |
678710 | Compiler crash on _InterlockedCompareExchange64 |
681524 | Visual C++: Global Variables Crash Edit-and-Continue |
683152 | Wrong Release-code generation for SSE4 intrinsics |
683557 | Symbol not found in code block with float ops |
684087 | load imm8 with data from gpr |
687527 | Code optimizer fails to eliminate memcpy/memset when "number of bytes" is zero |
688139 | Visual Studio 2010 SP1 Release x64 /O2 optimization bug (c2.dll version 10.00.40219.1 amd64) |
688755 | Incorrect vectorized cast from float to unsigned int |
690107 | Disassembly window shows seriously messed up mapping of source code onto machine code |
690294 | Bad instruction re-ordering causes crash in code generated by MSVC 2010 |
691217 | Inline assembler assembles ARPL instruction incorrectly |
691685 | Regression: MDA FatalExecutionEngineError (with repo) calling release x32 managed c++ lib, but ok with x64 and x32 debug version. |
692745 | Code optimizer fails to detect sequential writes to adjacent parts of the same array |
693222 | Code optimizer emits prologues/epilogues calls when unreachable code manipulating std::vector is present |
694100 | Slow compilation of 'large' amounts of data (objects/arrays) with references |
694755 | Missing AVX intrinsics |
696041 | std::WhateverContainer::iterator::operator->() invokes overloaded "operator&()" of the contained type |
696766 | VS2010 C++ wrong subtraction result (1.0f - 1.0f == 1753.0) when code optimization is on |
698296 | Optimization flag -O2 issue in C/C++ compiler |
699728 | Visual Studio runs out of memory when compiling recursive inline templates in Release |
700279 | Bug in Visual Studio 2010 SP1 C++ compiler |
711698 | Linker doesn't rebuild when stack reserve changed |
713927 | VS 2010 Debugger breakpoint skips first iteration of for-loop |
715034 | VS2010 C++ compiler generates incorrect code in full optimise /Ox /Ob1 |
717690 | Feedback: 32-bit Development PCs build print drivers in half the time compared to 64-bit PCs (16 vs. 32 mins) |
719105 | C++ compiler optimization: /fp:fast fails to honour cast from single to double in x64 |
720646 | VC2010 bug with optimization of bit-shift operator |
722313 | VS11 build/lib.exe will not allow the creation of c++ static library that calls WinRT apis (with 8175 & BETAREL) |
722366 | IDiaEnumSymbolsByAddr::Next doesn't return huge PDB |
723548 | VS11DP linker outputs LINK messages in chinese language, in VC++ solutions, for specific source code. |
723805 | VS2010 C++ compiler produces incorrect code in release mode. |
727519 | Intrinsics problem |
728165 | VS 11 Beta does not build static library with WinRT calls in source code (compiled with /Zw) |
728802 | pdbcopy tool that comes with SDK only works on x32 platforms |
729108 | VC++ 11 compiler Bug in 64 bit application, optimization resulting in incorrect behaviour (shl) |
729496 | ml64.exe output wrong code for "vpsrld xmm, xmm, xmm" |
729606 | MASM crashes due to an internal error. |
729818 | For loop Error |
730417 | Internal Compiler Error when compiling EigenSolver |
730747 | Loop unrolling bug |
731193 | Compiler Bug in Optimize Release Mode 64bit. |
731270 | vc++ shift produces inconsistent result |
732925 | Optimization bug with recursive functions |
733810 | compiler bug with __m128i |
735523 | Miscompile with RVO in x64 compiler |
735861 | fatal error C1001 |
737430 | MS DIA get_virtualAddress for static const class member |
738595 | Built application crashes on exception rethrow |
738878 | LOCK prefix encoded by masm to an invalid instruction (causing #UD) |
739798 | Incorrect code generation for __restrict keyword with full optimization |
740143 | C/C++ compiler crashes on simple code |
740487 | "Maximize speed" creates incorrect code |
740847 | error LNK2019: unresolved external symbol __isa_available |
740985 | C++ VS2010: bug in generating optimized code with a loop |
741370 | arm_neon.h header errors and typos |
742715 | Internal error has occured in the compiler when compling opencv_lapack |
744341 | fatal error C1001: An internal error has occurred in the compiler in C++11 construction "for (int n : |
746862 | Native edit-and-continue not working in VS2012 RC |
746946 | Compiler produces wrong IL code for managed c++ (only release compile) VS2010 SP1 |
749567 | Visual Studio 2012 RC compiler crashes with /Ox & /fp:fast options |
As usual, these lists are far from exhaustive. They don't contain private Connect bugs or non-Connect bugs (which come from many sources: compiler testers, STL maintainers with last names ending in J, other MS teams like Windows and Office, external customers with support contracts, etc.). Also, some public Connect bugs aren't represented here (in particular, /analyze and /ZW bugs).
If you find any more bugs that have eluded us, please continue to report them through Microsoft Connect.
Stephan T. Lavavej
Senior Developer - Visual C++ Libraries