Skip to content

v_0.7

Compare
Choose a tag to compare
@andreasfertig andreasfertig released this 03 Feb 16:19
· 322 commits to main since this release
2f6888e

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 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)
  • 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)