Krystian's Q1 2024 Update
My primary focus this quarter was on clang – in particular, C++ standards conformance (including implementing resolutions to defect reports I’ve submitted), bug fixes, and various refactoring of the AST. I was also granted write access to the LLVM project repository this quarter, which has allowed me to significantly increase my output. To that end, I submitted/merged a number of patches:
- #89618 [Clang][Sema] Remove unused function after #88731
- #89605 [libc++][NFC] Fix unparenthesized comma expression in mem-initializer
- #89377 [libc++] Fix usage of ‘exclude_from_explicit_instantiation’ attribute on local class members
- #89300 [Clang][Sema] Diagnose explicit specializations with object parameters that do not match their primary template
- #88974 [Clang][Parse] Diagnose requires expressions with explicit object parameters
- #88963 [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates
- #88777 [Clang][Sema] Warn when ‘exclude_from_explicit_instantiation’ attribute is used on local classes and members thereof
- #88731 Reapply “[Clang][Sema] Fix crash when ‘this’ is used in a dependent class scope function template specialization that instantiates to a static member function (#87541, #88311)”
- #88417 [lldb] Fix call to TemplateTemplateParmDecl::Create after #88139
- #88311 Reapply “[Clang][Sema] Fix crash when ‘this’ is used in a dependent class scope function template specialization that instantiates to a static member function (#87541)”
- #88264 Revert “[Clang][Sema] Fix crash when ‘this’ is used in a dependent class scope function template specialization that instantiates to a static member function”
- #88146 [Clang][AST][NFC] Fix printing of dependent PackIndexTypes
- #88139 [Clang][AST] Track whether template template parameters used the ‘typename’ keyword
- #88042 [Clang][Sema] Implement approved resolution for CWG2858
- #87541 [Clang][Sema] Fix crash when ‘this’ is used in a dependent class scope function template specialization that instantiates to a static member function
- #86817 [Clang][Sema] Fix explicit specializations of member function templates with a deduced return type
- #86682 [Clang][AST][NFC] Move template argument dependence computations for MemberExpr to computeDependence
- #86678 [Clang][AST][NFC] MemberExpr stores NestedNameSpecifierLoc and DeclAccessPair separately
- #84457 Revert “[Clang][Sema] Fix crash when using name of UnresolvedUsingValueDecl with template arguments (#83842)”
- #84050 [Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes
- #83842 [Clang][Sema] Fix crash when using name of UnresolvedUsingValueDecl with template arguments
- #83024 [Clang][Sema] Fix crash when MS dependent base class lookup occurs in an incomplete context
- #82417 [Clang][Sema] Defer instantiation of exception specification until after partial ordering when determining primary template
- #82277 [Clang][Sema] Convert warning for extraneous template parameter lists to an extension warning
- #81642 [Clang] Unify interface for accessing template arguments as written for class/variable template specializations
- #81171 [clang-tidy] Fix failing test after #80864
- #80899 [Clang][Sema] Implement proposed resolution for CWG2847
- #80864 [Clang][Sema] Abbreviated function templates do not append invented parameters to empty template parameter lists
- #80842 [Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates
- #80359 [Clang][Sema] Correctly look up primary template for variable template specializations
- #80171 [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes
- #79760 [Clang][NFC] Remove TemplateArgumentList::OnStack
- #79683 Reapply “[Clang][Sema] Diagnose function/variable templates that shadow their own template parameters (#78274)”
- #78720 [Clang][Sema] Allow elaborated-type-specifiers that declare member class template explict specializations
- #78595 [Clang][Sema] Diagnose use of template keyword after declarative nested-name-specifiers
- #78325 [Clang][Sema][NFC] Remove unused Scope* parameter from Sema::GetTypeForDeclarator and Sema::ActOnTypeName
- #78274 [Clang][Sema] Diagnose function/variable templates that shadow their own template parameters
- #78243 [Clang][Parse] Diagnose member template declarations with multiple declarators
Related news
View all →
Reflection All the Way Down
MrDocs now describes its own metadata model, which let a quarter of work go into extensibility: Lua and JavaScript extensions, data-driven generators, macro support, and specializations that move in with their primary template.
Read more →
The Language Belongs to the People Who Write It
C++ is a working language. It runs the engines and the pipelines and the quiet infrastructure underneath almost everything people depend on, usually without anyone noticing it is there. And for forty years it has grown from the people who use it.
Read more →Stay up to date
Get Alliance news, project updates, and community highlights in your inbox.
SubscribeEmpowering C++ by funding libraries, building community, and advancing the language.
Connect with us