Bug Fixes:
- NRVO translation is not NRVO eligible (#620)
- explicit casting for const (#610)
- Superfluous parentheses in declarations are handled incorrectly (#606)
- Incorrect move-only lambda code generation (#605)
- Add support for
SourceLocExpr
(#598) - Class template argument deduction not working - cpp17 (#596)
- Errors in transforming "int& a = A()" (#593)
- Errors in transforming
struct T {} var
(#588) - Specialization of variable templates misses type deduction and
template
(#556) - About nested class inside a class template (#555)
- Error building inside clang source tree (#554)
- invoke lambda with
temp.operator()()
generate wrong code. (#550) - Generated insight for
jmp_buf
global variable declarations. (#543) - [BUG] with getting a global variable (#540)
- coroutine transformation: Support promise-constructor-arguments (#536)
- for-loops as while-loops is wrong for ranged-based for loop (#528)
- CppInsights crash with stack dump (#526)
- The
type
intypeid(type)
gets replaced byconst std::type_info
(#522) - cppinsights crash with stack dump (#520)
- cpp coro recursively task "coroutine transformation" wrong (#518)
- static_cast instead of reinterpret_cast for interpreting pointer to integral conversion (#512)
inline namespace
in global scope causes crash (#509)- Wrong output for the initialization of static variables within a function (#507)
- Incorrect naming in parameter pack expansion (#506)
- Function template arguments are not shown (#501)
- Declaration of multiple variables is handled incorrectly (#500)
- [C++20] Lambdas in unevaluated contexts: wrong conversion from lambda to std::priority_queue (#492)
- Lambda decay inside lambda capture puts class definition inside constructor arguments (#491)
- Odd output for decltype return values. Lambda hunt. (#490)
- wrong name of base class (#473)
- C++20 lambda in unevaluated context not shown (#468)
- 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)
- Conversion-operator not shown within argument for function template (#415)
- 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)
- Complex macros are not expanded (#376)
- 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)
- A minor attention to lambda expressions (#344)
- 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:
- Missing Clang 16 support (#525)
- [C++20] format header file is not found (#470)
- adding "--gcc-toolchain" in running command option (#457)
- Remove MSVC warning D9025
overriding '/MD' with '/MT'
(#443) - Feature request: show substitution failures (#423)
- Assignment operator behavior (#407)
- Can insights show the relationship info between source's lines and the output's line? (#393)
- New Feature Offering: Compilers versions comparation (#345)
- 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)
- Support Boost headers (#263)
- 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)
- Synchronize scrolling in the web version (#8)
- Providing more demo code to show in C++ Insights (#5)
Closed:
- different result from godbolt (#604)
- crash when parse cpp file (#602)
- std::move redundant?? (#601)
- Build on visualstudio 2019 get ascii, utf errors (#599)
- About the release scheme (#592)
- cppinsights.io doesn't show the what is listed in github.com (#570)
- Site is down (#564)
- Can I use #include <Windows.h> with cppinsights? (#535)
- [BUG] Code Example Doesn't Compile (#524)
- Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var
LLVM_SYMBOLIZER_PATH
to point to it) (#519) - [document] Vim plugin for cppinsights (#516)
- Problems building on windows (#508)
- printing output in html format!! (#505)
- Ninja command through error. (#504)
- Please guide the complete installation process in ubuntu (#503)
- How to install cpp insights (#502)
- make command issue (#498)
- [C++20] Coroutine header file requires -fcoroutines (#469)
- 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)
- Add example for : destructors are implicitly noexcept (#225)
- 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)