v_0.7
Bug Fixes:
- wrong name of base class (#473)
- static inside lambda results in incorrect code (#467)
- convert ‘bool’ to ‘clang::TemplateName::Qualified’not allowed in latest GCC (#458)
- alignas(xxx) is repeated (#456)
- overloading operator new and operator delete (#455)
- noexcept for member functions not generating try...catch (#454)
- Incorrect templated static member variable initialization (#427)
- Structured bindings with pair/tuple not producing references (#425)
- Explicit instantiation definitions for class templates generate double definitions (#411)
- Bugged output for namespace variable declaration (#408)
- Missing implicit cast for compound operator (#405)
- Array bounds are mirrored if remove_all_extents_t<array_type> is instantiated from a template (#404)
- Initializations with a lambda inside lambda capture (#402)
- This is a bug. Or should it be? (#400)
- Incorrectly interprets C cast as static_cast instead of reinterpret_cast (#398)
- Incorrect code generated for final template specialisations (#391)
- the decltype result is not complete (#389)
- Incorrect code generation for IIFE inside if without parentheses (#386)
- structured binding - wrong value category passed to the get function. (#381)
- Lambda capture in a member function (#379)
- macros "inside" enums are not expanded (#377)
- Inside a class body, pointers to members of the class are turned into ordinary pointers (#374)
- Program does not compile when using LLVM 11. (#371)
- initializing static variables (#369)
- Incorrect output for template code (#365)
- Duplication of attribute specifier (#354)
- Invalid array member type with structured bindings (#352)
- Incorrect constructor in return statement (#351)
- Incorrect alias type naming of aliases for pointer to member types (#349)
- Lambda constructor shows uneccesary copies (#347)
- Reference to type alias denoting an array type is mishandled in function return type (#341)
- Doesn't show const qualification when using decltype (#337)
- Example from cppreference compiles on godbolt, doesn't compile in insights (#333)
- Incorrect macro expansions (#331)
- std::is_same_v<> produces wrong insight (#328)
- Imprecise translation for ternary operator (#324)
- wrong variadic template expansion (#323)
- C++ Insights - Episode 1: The invisible things - Invalid ImplicitCast (#313)
- Cppinsights loses alignas specifications (#311)
- Call of
template <typename T> void fun (T&& t) { };
leads to segfault (#298) - Anonymous struct shouldn't be named as
(anonymous)
(#290) - Segmentation fault? (#288)
decltype
isn't resolved when followed by&
(#286)- ConstexprVariableCase duplicated in clang-tidy options file (#280)
- The name of a variable of type "pointer to member" is misplaced (#279)
- Folding expressions missing parenthesis (#264)
- C++14 lambda with init capture does not generate valid code (#258)
- ranged for-loop inside lambda crashes (#238)
- Virtual inheritance is lost (#236)
- Add a limitation respect to the generated =deleted special operations (#233)
- bitfields transformation miss the bitfield size (#227)
- Direct initialization of built-in type produce extra ");" (#217)
- Crash on https://cppinsights.io when trying code with member variables of type std::function<void()> and assigning it with lambda expression (#205)
- volatile qualifier is moved from member function to its return type (#201)
- cppinsights loses
template<>
in explicit function template specializations (#200) - Trailing comma in template-parameter-list when TemplateArgument pack is empty (#199)
- support expand macro (#193)
- Crash with stack trace, trying to get insight about std::tuple (#188)
- Inheritance from variadic list not expanded well (#184)
- function pointer argument name removed (#182)
- Closure object structured binding: data member names are missing (#181)
- Boby of one-liner ranged-based for discarded (#161)
- artifacts }; remain for N3922 declarations (#158)
- Structure binding a tuple-like type (#131)
- Ellipsis missing from template instatiation (#128)
- Incorrect type of a function returning a rvalue reference to a function or array (#124)
- unexpected behavior when explicitly instantiating a template (#123)
- Missed const qualifier in structured binding (#116)
- usingShadow unsued variable (#112)
- Insight is screwed for top-level variables with type placeholder and an array new expression initializers (#108)
- Dimensions swapped in new expression with multidimension array (#106)
- class/fun templates + decltype/decltype(auto) + one screen program = CRASH (#102)
- in-tree build not working (#96)
- Folding expressions missing parenthesis (#91)
- Incorrect return type of a function returning a pointer to an array (#81)
- limits.h header isn't in include path (#78)
- Incorrect type of a function returning a reference to an array (#74)
- Lambda Capture by value for reference typed variables. (#64)
- Using pointer to member as a template argument is converted to the type of the member (#60)
- Incorrect output when special member function is default (#53)
- Reference collapsing works wrong (#50)
- Expansion of global lambda expressions is broken (#46)
- Segmentation fault when using polymorphic lambdas (#41)
- Brokenness for custom string literals (#28)
- Casting in class error (#24)
- Nonexistent variable used, with unbalanced parentheses (#20)
- Argument is missed in case chrono_literals (#15)
- Incorrect insight to const auto& (#13)
- Nested lambdas yield broken tokens (#3)
- Lambda capture with renamed variables is wrongly instantiated (#2)
Enhancements:
- adding "--gcc-toolchain" in running command option (#457)
- Remove MSVC warning D9025
overriding '/MD' with '/MT'
(#443) - Assignment operator behavior (#407)
- spell out overload resolution (#292)
- Emit code to see Rule of 3/5/0 (#291)
- Structured bindings with tuple shows incorrect tuple_element usage (#277)
- resolved type names for types defined in class bodies lack their "namespace" (#255)
- template arguments for templated methods don't appear in cppinsights (#254)
- Transformations around
noexcept
are minorly confusing (#251) - implicit cast after explicit cast (#223)
- Run insights on client-side with web assembly (#221)
- Adding build support for Windows (#190)
- range-v3 support (#179)
- spell out using declaration (#178)
- template lambda not compiling (#176)
- Make lifetime extension explicit (#156)
- the generated URLs are to long in web version (for convenience) (#133)
- Generic lambdas are not supported (#127)
static
local variables : show the initialization checks (#119)- coroutines TS (#92)
- Generated function specializations: Parameters generated from parameter packs use the same name (#62)
- For loops (#45)
- Subscript expressions (#44)
- Support for C++17 (#36)
- Providing more demo code to show in C++ Insights (#5)
Closed:
- Compiler Generated Destructor (#430)
- Is the tranformed code in
https://cppinsights.io
identical with the one transformed by my local compilerclang-1200.0.32.29
(#424) - Capture lambda are missing the deleted copy assignment (#413)
- False compilation failure with ranges (#410)
- error: variable-sized object may not be initialized (#394)
- Auto param in lada expression result doesn't compile (#346)
- fold expression instantiation (#336)
- style issue - include twice (#317)
- Unable to open cppinsights on some networks (#244)
- Replace the use of comments for special operation by =default, =delete declarations (#232)
- Add links to the blogs (#230)
- structure binding transformation is not accurate (#226)
- Display the special operations generated by the compiler (#224)
- [HELP] problem about endianness (#207)
- non-mutable lambdas don't show members as const (#189)
- missed template instantiation (#143)
- redundant(?) double static_cast (#134)
- Not able to execute below code. (#104)
- LLVMSymbolizer: error reading file: No such file or directory (#66)
- Error in Building Cppinsights (#56)
- insights crashed on some invalid inputs (#51)
- How to get the expected generated c++ code with cppinsights ? (#34)
- Improve auto&& (#6)
- Lambda with copy capture with init fails (#4)
- Template instantiation
()
handling issue (#1)