Skip to content

v_17.0

Latest
Compare
Choose a tag to compare
@andreasfertig andreasfertig released this 03 Apr 15:40
· 66 commits to main since this release
b777e0e

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 in typeid(type) gets replaced by const 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 compiler clang-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)