The compiler does not make use of named return value optimization if
(1) the POD's size exceeds 64 bits
(2) the POD contains floating-point attributes.
Return values are then always spilled to th…
Created on 5/23/2013 (updated 1 day ago) | 0 validations | 0 workarounds | 6 comments | feedback id: 788471
|
|
|
Closed
as Deferred
|
|
It looks like calling the virtual method of a template causes all of its virtual methods being instantiated. According to the C++ standard, this is alright.
However, if one of the methods was defined…
Created on 2/4/2013 (updated 13 weeks ago) | 0 validations | 0 workarounds | 2 comments | feedback id: 778490
|
|
|
Closed
as Deferred
|
|
With template template parameters, Visual C++ fails to determine the correct type if two or more parameters have the same class name, but from different namespaces. It seems like only the very last fr…
Created on 2/4/2013 (updated 15 weeks ago) | 0 validations | 0 workarounds | 2 comments | feedback id: 778488
|
|
|
Closed
as Deferred
|
|
const / volatile on parameters which are passed by-value shouldn't make a difference in C++, but with Visual C++, it does (and causes linker errors).
Created on 2/4/2013 (updated 16 weeks ago) | 0 validations | 0 workarounds | 2 comments | feedback id: 778487
|
|
|
Closed
as Deferred
|
|
Under certain conditions, VC will store a 32-bit floating-point number from the FPU and mistreat it as a 64-bit floating-point number when loading it to XMM registers. No conversion is performed and t…
Created on 7/6/2011 (updated 18 weeks ago) | 0 validations | 0 workarounds | 4 comments | feedback id: 678632
|
|
|
Closed
as Won't Fix
|
|
With /Og (global optimization) enabled (default in Release builds), a function's parameters change their addresses if, and only if, the function catches an exception.
The addresses of local variables…
Created on 11/25/2010 (updated 126 weeks ago) | 0 validations | 0 workarounds | 18 comments | feedback id: 624668
|
|
|
Closed
as Fixed
|
|
Arrays of unwindable objects are initialized using eh vector constructor iterator EVEN if their constructors cannot throw exceptions at all (which means, no exceptions can be thrown at array initializ…
Created on 7/19/2010 (updated 90 weeks ago) | 1 validation | 0 workarounds | 3 comments | feedback id: 576348
|
|
|
Closed
as Won't Fix
|
|
The linker removes unreferenced constant arrays from the executable, but it does not remove identical rvalues used to initialize similar pointers. (Look at Steps to Reproduce, the bug is more obvious …
Created on 7/12/2010 (updated 100 weeks ago) | 0 validations | 0 workarounds | 3 comments | feedback id: 574443
|
|
|
Resolved
as Not Reproducible
|
|
Placement new skips an object's construction if its address is nullptr. However, this test is also performed if the address is definitely *not* nullptr. Even __assume() cannot force the compiler into …
Created on 6/14/2010 (updated 100 weeks ago) | 0 validations | 1 workaround | 2 comments | feedback id: 567239
|
|
|
Resolved
as Won't Fix
|
|
If the address operator "&" is used in a "static const" function pointer array to obtain template functions' addresses, the resulting array is stored in the executable's read-write section and initial…
Created on 6/7/2010 (updated 153 weeks ago) | 0 validations | 0 workarounds | 3 comments | feedback id: 565502
|
|
|
Closed
as Won't Fix
|
|