Meeting Agenda - March 20, 2024
Agenda
Round Table
- Aaron
- Code reviews
- Editorial review on TS6010 for pointer provenance, expect to be published by end of year. Will require some LLVM changes, may have performance impacts. Needs some implementation to evaluate.
- Ariel
- DWARF issues, investigating regressions
- Investigating porting char conv to hex float
- Isaac
- Mariia
- Focusing on embed, optimizing when embed is not the only element of initializer list. No codegen tests currently for embed, so looking into that.
Meeting Agenda - March 6, 2024
Agenda
Round Table
- Aaron
- Clang 18 release was cut
- Code reviews
- embed - was hoping to complete this, but may need to reevaluate if it’s feasible to continue for Clang 19
- Intend to comment on RFCs
- Ambrose
- C++23 assume, RFC published
- Restrict on member functions improvements
- Ariel
- DWARF issues
- Some DFP involvement
- Upstream hexfloat stuff as soon as available
- Corentin
- Hubert
- Extending range based for loops was landed
- Will be opening a defect for questions asked
- Mariia
- Finished with C23 const expr
- Started working on C++ 23 relaxing const expr restrictions
- Shafik
- Kicked off new blog series on work C and C++, undefined behavior annex: Need for an Undefined Behavior Annex to C++
- Working on a fix for rejecting default construction on unions with non-trivial members: [Clang][Sema] Fix incorrect rejection default construction of union with nontrivial member by shafik · Pull Request #82407 · llvm/llvm-project · GitHub
- Core meeting, ramping up for Tokyo
- Tom
- DFP meeting today @ 2pm ET
Meeting Agenda - Feb 21, 2024
Agenda
- Changes to Sema.h
- Currently ~15000 unstructured items in a class. Issue for new contributors. Would like to reign in some of the complexity in various stages.
- Stage 1 rearranging structure in a more organized manner, would help with doxygen comments. Would also help with organizing potential new improvements. Long term potentially splitting sema.h. Intended to be a non-functional change.
- Would result in changes in existing downstream patches and in progress PRs. Would recommend announcing this widely to make people aware of changes.
- Make sure people are aware public vs private access specifiers. We will want to have each section will have it’s own public/private sections
- There are some downstream implementations that have significant changes to sema.h. Will likely result in significant rework. Preliminary patch for review [clang][NFC] Regroup declarations in `Sema` by Endilll · Pull Request #82217 · llvm/llvm-project · GitHub
- Restricting access may be problematic in some cases
- Proposal for large change, then run clang-format. Request for smaller changes, more incremental. Challenges with the volume of change, first step is just to move things around, not to touch access specifiers.
- Is there any tooling that can help with this? Something that could produce a report.
- Doxygen generates a reference documentation.
- But does Doxygen produce reference for private members?
- Could write a tool based on Clang AST, libclang tool. Issue is that Doxygen is not available on all systems, or can’t be used.
- When is the date for proposed changes? Not until after Clang 18, so probably a month or two out.
- Might suggest restructuring around functional basis rather than language basis.
- What happens when we run in to issues, will we revert? It may be an issue given the size of the patch, may need to fix forward.
- Agree with general proposal, move forward at some point after LLVM 18. Will send out announcement of the proposal to Clang community. Will investigate the possibility of adding tooling, as long as it is low effort required.
- Currently ~15000 unstructured items in a class. Issue for new contributors. Would like to reign in some of the complexity in various stages.
RoundTable
Meeting Agenda - Feb 7, 2024
Agenda
- https://github.com/llvm/llvm-project/pull/76361 feel more comfortable with lifetime extensions in LLVM 19
- https://github.com/llvm/llvm-project/pull/78041 patch backported to LLVM 18
- We found issues with arrays, so did a partial revert. Nothing more to do for LLVM 18.
- https://github.com/llvm/llvm-project/pull/77753 relaxing constexpr restrictions. Decided not to cherry pick.
- https://github.com/llvm/llvm-project/pull/77768 list-initialization. Reverted on LLVM 18/main.
- https://github.com/llvm/llvm-project/pull/77890 Implement CTAD for type alias template. Rejected adding a flag, no impact to LLVM 18.
- Any other triage items for consideration?
- Shafik: had one fix. Possible regression to investigate.
- Vlad: one crash, fixed by Shafik. One other failure to triage.
- Windows CI - Tom Stellard with RFC on possible way forward, Google with a possible resolution. We’ve been relying on Linux commit CI, hopefully we get Windows back online soon.
Round Table
- Aaron
- Focus on code reviews
- C standards reviews
- Started working on embed again. Changing initialization sequences has been slow.
- Ariel
- DWARF issues
- Corentin
- Erich
- Code reviews
- Hubert
- Mariia
- Fixes for C23 diagnostics
- Working on relaxing const expr restrictions
- Clang processing big files, current 2GB limit. Currently get an out of source locations error.
- Shafik
- Work on pointers and references
- Ambiguous lookup errors, fixed a regression: [Clang][Sema] Fix regression due to missing ambiguity check before attempting access check. by shafik · Pull Request #80730 · llvm/llvm-project · GitHub
- Couple of bugs
- building return statements with an error led to crash
- Const qualified member new caused crash
- Tom
- DFP collab meeting following
- Topic how to deal with dfp in const expressions, non-canonical values
- DFP collab meeting following
- Tony
- Finished underspecified review, waiting for code review for feedback
- Looking at some issues on github
- Vlad
- Writing codegen defect report tests
- Waiting for Windows CI
- Yuxuan
- Started working on Clang a few months ago, mostly focused on bugs
- Template instantiation for lambda expressions bug looked at in Jan, have a patch but would like some feedback [Clang] C++ Templates: Refactor and fix `TransformLambdaExpr`'s mishandling of TypeLocs by yuxuanchen1997 · Pull Request #78801 · llvm/llvm-project · GitHub
- C++ coroutines - looking into, but codegen for cleanups is a bit messy
- Started working on Clang a few months ago, mostly focused on bugs
Meeting Agenda - Jan 24, 2024
Agenda
- https://github.com/llvm/llvm-project/pull/78041 Generalized non-type template arguments
- https://github.com/llvm/llvm-project/pull/77753 relaxing constexpr restrictions
- Decide not to cherry pick to LLVM 18
- https://github.com/llvm/llvm-project/pull/76361 lifetime extensions
- May be ok to cherry pick to LLVM 18, still some issues with the PR. It’s dependent on how quickly this can be resolved and how well tested.
- https://github.com/llvm/llvm-project/pull/77768 list initialization from objects of the same type
- Depends on feedback from the author, may revert if we don’t hear back
- https://github.com/llvm/llvm-project/pull/77890 Implement CTAD for type alias template
- Can we put this behind a feature flag? Will probably not be totally ready for LLVM 18
- Put it in head but not cherry pick to LLVM 18
- Suggest a Discourse discussion on adding a temporary flag
- Flag dubious as we still have to avoid regressions, make sure we remove it before next release, etc
Round Table
- Ariel
- Working on DWARF related issues
- Corentin
- Mostly working on C++ paper for C++26/29
- Code reviews
- Mariia
- Bug fixes, C++23 relaxing constexpr
- Sam
- Coroutine lifetime bugs
- Lazy loading bugs, reducing test cases
- ftime-trace may look at some internal profiling tools later this year, aggregating with/across TUs to find slow template instantiation compile times
- Would be nice to upstream if possible
- for ftimetrace aggregation, there exists https://github.com/aras-p/ClangBuildAnalyzer
- Shafik
- Mostly code review, core issues
- Tom
- DFP meetings
- PR under review for extended floating point naming, currently under review
- Vlad
- Looking after bug tracker, triaging and fixing some bugs
- Some feedback on ftimetrace, will reach out over Discord
Meeting Agenda - Jan 10, 2024
Agenda
- Next meeting will schedule for Jan 24, 2024. Following will be Feb 7, 2024.
- Lost Phabricator, many PRs have been lost as a result
- Update on GitHub pull requests - #178 by MaskRay haven’t received feedback yet
- Mailing list archives should still be available, but not easily searchable
- Are there any security issues with restarting the VM? Unsure, but should hopefully be recoverable.
- Mehdi and Fangrui are trying to make progress, but still no clear outcome
- Enabled warning for designated initializers, matching gcc. However have received a lot of feedback to revert. Another thought about changing for C only.
- One complaint was around missing initializers, question was about the benefit
- Will need to review the discussion, we don’t need to follow gcc behaviour
- Gcc developers had some discussion about this as well, but has died down since the summer. They might be open to changing behaviour.
- Release schedule - anyone heard from Tom about the timeline?
- Expect that January 23 will be the release cutoff
- Request for more clang-tidy reviewers. There is a significant backlog.
- Are there priority reviews?
- Suggest to focus on reviews for release-to-release regressions
Round Table
- Aaron
- Working through review queue
- Will get back to embed functionality afterwards
- Ariel
- Respond to comments from hex float RFC
- Corentin
- Code reviews
- Pack indexing question for x86, synchronizing with MSVC. Will likely be next release. Recommend talking to Reid
- David
- Subbing in for Hubert
- Currently looking into DFP, though not terribly actively. Tom will forward meeting invitation for DFP.
- Mariia
- Bug fixing
- C23 constexpr needs review
- C++23 relaxing constexpr restrictions, will push PR in a few days. Keeping as errors for lang level < 23
- Shafik
- Code reviews/Screening over holidays
- WG21 proposal for undefined behaviour, formatting of annex. Waiting for feedback.
- Started working on unknown references in pointers: https://wg21.link/P2280 -
- DFP refactoring to start next week.
- Tom
- DFP meeting scheduled right after
- Tony
- Will start working on underspecified object declarations for C23. Availability will be sporadic over the next while.
- Gcc implementation for underspecified declarations is done, we can refer
- Review of C23 constexpr feature
- Will start working on underspecified object declarations for C23. Availability will be sporadic over the next while.
- Utkarsh
- Google moved up to C++20, focusing on coroutine adoption. Expect to have more focus on Clang, likely to be on improving coroutines.
- Who should be cc’ed on coroutines? ChuanqiXu9
- Static analysis checks
- Google moved up to C++20, focusing on coroutine adoption. Expect to have more focus on Clang, likely to be on improving coroutines.
- Vlad
- Added more time profiler annotations in parser. Existing infrastructure not ready for parser. Tail call optimization concerns as well.
- Using -f time trace with no threshold, if disabled the traces are very large. Working on another trace output format.
- DR testing, have resurrected some old tests. Investigating code gen tests, there are many TODOs. Who would be the best person to help review. Suggest adding Eric, can also ask Aaron to find someone.
Meeting Agenda Dec 6, 2023
Agenda
- Cancel Dec 20 and Jan 3 meeting
- Jan 25 is the cut date
- Reschedule following meeting to Jan 10
- Will decide on Jan 10 if necessary to meet an additional time in January
- If we want any features to land in Clang 18, we should try to land it this year
Round Table
- Aaron
- #embed - will likely land in the new year, going reasonably well
- Performance seems reasonable
- Talked to gcc folks about user facing options
- Will hopefully land in Clang 18
- Have received feedback from outside community
- Code reviews, doing as much as possible this week
- Vacation Dec 11 - Jan 8, will post a thread on code reviewer availability
- #embed - will likely land in the new year, going reasonably well
- Ariel
- Working on hex float, RFC going through internal review before posting to community
- No change to language, but rather in representation. Expect no FE changes, but will require library modifications.
- Working on hex float, RFC going through internal review before posting to community
- Corentin
- Working on C++26 features
- pack indexing reviews are still outstanding, may not make it in Clang 18
- Number of other DRs that we should try to target
- Working on C++26 features
- Maria
- Working on C23 constexpr
- Patch is posted, please review if possible - https://github.com/llvm/llvm-project/pull/73099
- Fixing bugs in the interim
- Working on C23 constexpr
- Tony
- Plan to take a look at C23 constexpr patch
- Vlad
- C++ defect report test suite to make expected directives grouped together
Meeting Agenda Nov 15, 2023
Agenda
- Opens
- WG21 meetings were last week
- Erroneous behavior was discussed extensively in core, making progress
- UB annex is progressing, have direction and volunteers for help
- SG12 is now mothballed but contents are being seen by EWG, starting to look at removing UB from the preprocessor where possible (mostly turning things into IFNDR or ill-formed)
- What’s going on with attribute ignorability?
- Situation still the same: C++ a bit different from C, C++ requires syntactic correctness for ignored attributes, C does not. Still open what’s happening with [[no_unique_address]]
- Future meeting schedule
- Will meet on Dec 6th for regularly scheduled meeting
- Suggest canceling meetings Dec 20 and Jan 3 for holiday season, will make a decision at the next meeting
- WG21 meetings were last week
Round Table
-
Aaron
-
Working on #embed PR (https://github.com/llvm/llvm-project/pull/68620), going okay
-
Got initial code dump from the feature author
-
Implementation needs a fair amount of work for correctness and design considerations
-
Hitting implementation difficulties; #embed wants to be an expression sometimes and wants to be a series of tokens other times, this is awkward for our AST representation
-
Hit an open question about why we need -embed-dir= at all; asking Jean Heyd because it’s not clear where the recommended practice comes from
-Ariel
-
Working on backend, will talk more at the DFP meeting; working on hex float (not visible syntax, but how the numbers are represented on the machine)
-
There is a wiki page with the specification (originally from the IBM 360): IBM hexadecimal floating-point - Wikipedia
-
Gordan
-
No updates, just observing
-
Shafik
-
Was at WG21 remotely, mostly in CWG. Presented the UB annex, went well and have more work to do on that, but have direction
-
Bug report with language lawyer questions (), with default constructor with noexcept(false) that was a paradox by spec, filed a Core Issue (). Resolution might change behavior.
-
Tom
- Was at WG21 remotely, mostly followed contracts and safety/security + tooling, with respect to modules
- No DFP progress yet
-
Tony
- No updates to report, will start working on underspecified object declarations
-
Vlad
- Landed ~dozen NFC patches for preferred_type, so debugging experience should be improved for bit-fields in AST nodes
- Still working on adding those annotations where possible
Meeting Agenda Oct 31, 2023
Agenda
- Governance proposal
- Chris mostly interested in some form of governance in place, rather than a specific proposal
- Expectation that this will be a month->years long RFC
- https://github.com/llvm/llvm-www/pull/54
- LLVM project close to 1000 open PRs, more than 200 are in Clang, ⅓ were created in September
- Possibly due to bump to move to github
- Need more people doing code review? Likely have more people contributing code than reviewing code.
- LLVM foundation issue–market to corporate participants to spend more time/resources on the community
- Challenge to know which PRs to focus on, due to large volume of notifications
- WG14 meetings in October
- Purely around administrative topics, no technical changes
- Document numbering system and issue tracking, should be up and running by January
Round Table
- Aaron
- Working through last of the Phabricator patches. 2 more large-ish patches.
- Full support for restrict, been ongoing for 2+ years
- Moving data from Phabricator to static page
- WG21 meetings are next week
- Github PR switch concerns
- Working through last of the Phabricator patches. 2 more large-ish patches.
- Ariel
- Hope to have some time to look at DFP
- Hubert
- Dealing with Phabricator fallout, mostly on libc++ side
- Heads up of potential ABI break on libc++, potentially on ranges
- ABI break in libc++ for a 17.x - guidance requested
- Shafik
- Value initialization, bug in Clang base class overriding: [Clang] Ensure zero-init is not overridden when initializing a base class in a constant expression context by shafik · Pull Request #70150 · llvm/llvm-project · GitHub
- Issue with value-intialization and noexcept came up and is now a CWG issue due to various implementation divergences: [clang] Value-initialisation of type with `noexcept(false)` trivial default constructor incorrectly potentially-throwing · Issue #70545 · llvm/llvm-project · GitHub
- I started working on UB Annex again since it will be seen at Kona coming up next week
- Tom
- Work on DFP continues, looking at LLVM IR representation. Would be good to validate that it’s good for others as well.
- Tom to schedule time to discuss DFP plans
- Sitting in on contracts discussion. Focus on 2 different syntax proposals. Looking for someone to look at this. Corentin might be looking into this.
- Tony
- Fixed bug with misleading diagnostic with auto keyword
-
Plan to implement N306
-
Vlad
- Progress on lldb
- Made a number of enhancements
- Currently refactoring around enums
- Progress on lldb
Meeting Agenda Oct 4, 2023
Agenda
- Opens
- Shafik suggests reviewers be more strict with asking for good descriptions in PRs. Squash and merge behavior in GitHub may hinder us somewhat here by duplicating commit messages and descriptions.
- Vlad mentioned reviewable.io needing permissions from the admins still. Aaron will talk to Tom Stellar to ask what’s needed here.
Vlad remains concerned with label duplication of PRs; in the bug tracker, we don’t want clang
and clang:something
labels, but just the clang:something
label. Corentin posted some options but didn’t get any replies; some folks want to be able to subscribe to all of Clang and notifications are tied to labels. Vlad points out that we have pr-subscribers-clang as a team and that can be used to subscribe to all Clang notifications (instead of subscribing to the label). Shafik thought were discouraging people from using the team and using labels because the team can be automatically removed accidentally by GitHub. Vlad thinks this is no longer an issue. Multiple mechanisms for notifications is confusing and we need documentation explaining how to subscribe. Aaron will talk to Tom Stellar to alert him of the issues and start a wider discussion. Need to know what the current system is and how to achieve what you want with what we’ve got.
Round Table
- Aaron – working on code reviews, focusing on Phab reviews. Got through deducing this, but need to focus on automatic type inference for C23 as another such large review. Struggling to see notifications after the switch to GitHub, so please ping me directly if you are waiting on me to weigh in on something.
- Ariel – continuing to work on backend stuff, nothing language related. Wondering about updates on decimal floating point.
- Corentin – landed deducing this, had some fallout but not a significant amount. No reverts so far! Otherwise focusing on committee work.
- Hubert – not much on the FE side, working more on the backend and internal stuff. Running low on bandwidth for other work at the moment.
- Shafik – DFP update. He and Tom are working together on this on Tom’s fork. Review work and discussion are ongoing. Getting to the point to have something to land, but not certain on the timeline. Progressing nicely. Interesting surprises from GCC extensions. Finding the GitHub workflow to be more work, reviews are not as nice as they were so reviews are slower to accomplish. Thinks the pace of review has picked up recently. Landed a fix for deduction guides hitting unreachable statements.
- Landed “Fix crash when ill-formed code is treated as a deduction guide”: [Clang] Fix crash when ill-formed code is treated as a deduction guide by shafik · Pull Request #67373 · llvm/llvm-project · GitHub
- Tom – RFC: Decimal floating-point support (ISO/IEC TS 18661-2 and C23) has some info about DFP updates. Wants some explicit help from IBM to ensure that DFP is going in a direction that works for them. Tom will coordinate with Ariel on that. Part of this is an attempt to figure out how to make a stacked patch workflow in GitHub, but as part of Tom’s private fork. Working on basic AST support, driver options. Next focus will be on Shafik’s previous work, will have help working on this. Need to figure out the runtime support library; needs both a runtime library at compile time for constant evaluation and another one for the target for runtime operations. APDecimalFloat will be a light wrapper over the guts of the DFP functionality. Short-term, plan is to use libgcc as the runtime library and then introduce an encoding library into compiler-rt.
- Tony – not a lot to report, waiting for feedback on his review.
- Vlad – triaged a couple hundred issues in the past month. We’ve cleared all the so-called “new issues” that mentioned clang. Those spanned all the way back to 2021. Landed a couple of tests for DRs. Python directive in lit is still blocking some of the DR testing, but that review is starting to get attention again and consensus feels close. Made progress on lldb visualizers for PointerIntPair, PointerUnion, etc.
- Yuri – nothing to report
Meeting Agenda Sept 6, 2023
Agenda
Round Table
- Ariel
- Just working on the backend
- Fahad
- Will be attending LLVM dev conference. Shafik will also be there.
- Hubert
- Mostly backend reviews
- Diagnostic display for character literals in static assert, combining characters.
- corentin.jabot@gmail.com will comment on the patch to suggest passing the character as a separate substitution to the diagnostic formatter
- Mariya
- Implementing C23 constexpr for object definitions
- Shafik
- Triaging Clang bugs, waiting for some feedback from Richard on fix proposals
- Objective C header parsing fix: [Sema] Fix fixit cast printing inside macros by smeenai · Pull Request #66853 · llvm/llvm-project · GitHub
- Fix crash when spaceship operator returns comparison category by reference: [Clang] Fix CXXRewrittenBinaryOperator::getDecomposedForm to handle case when spaceship operator returns comparison category by reference by shafik · Pull Request #66270 · llvm/llvm-project · GitHub , - hoping to land fix imminently
- Unknown references in pointers, hoping to pick this up again
- Tom
- Starting to get back to DFP
- Tony
- Fixed issue with atomic int keyword, waiting on someone to help land ⚙ D159522 [Clang][C] Fixed a bug where we reject an _Atomic qualified integer in a switch statment
- C23 auto patch
- Corentin
- Focused on reviews
- Const eval bugs
- Several phabricator bugs still lingering
Meeting Agenda Sept 6, 2023
Agenda
- Github migration
- Need to make sure that the github subscriber group to replace the current reviewer list. Recommendation was to go with a wider group, and then pare it down. Current list is too large.
- Can go to LLVM github, and request access Sign in to GitHub · GitHub
- Migrating old PRs will be labour intensive. Promise is that the old content will be available.
- Discussion Update on GitHub pull requests - #73 by AaronBallman
Round Table
- Ariel
- Primarily working on backend issues
- Corentin
- Working on deducing this, fielding core issues. Did a complete preview previously, wil do so again.
- Fixing bugs in lambdas, Concepts. Fair number of bugs with lambdas, causing Clang to crash. Any help here would be appreciated.
- Some unicode issues on phabricator need to review.
- Member designators, need WG21 to provide specification
- Fahad
- Mostly internal work at Apple, expect to work on open source as well. Looking for some more mentorship.
- Reach out to Aaron, Corentin on Shafik on Discord to help point to items needing attention
- Aaron also holds office hours Getting Involved — LLVM 21.0.0git documentation
- Also interested in testing of issues. Vlad can provide pointers.
- Mostly internal work at Apple, expect to work on open source as well. Looking for some more mentorship.
- Hubert
- Mostly backend and runtime reviews.
- Fenv_access fixes have landed in LLVM 17 branch. Some issues with variable templates and default arguments/intializers still open.
- Shafik
- Issue screening, trying to add some analysis on issues
- Fixed a few bugs before I left for vacation in August
- Fix member lookup so that we don’t ignore ambiguous lookups in some cases: ⚙ D155387 [Clang] Fix member lookup so that we don't ignore ambiguous lookups in some cases
- Fix crash in __builtin_strncmp: ⚙ D158557 [clang] Fix crash in __builtin_strncmp and other related builtin functions
- lambda parsing crash bug with ill-fomed code in trailing return type: ⚙ D158808 [Clang] Modify Parser::ParseLambdaExpressionAfterIntroducer to check whether the lambda-declarator is valid
- Second parser fix: ⚙ D158804 [Clang] Fix crash in Parser::ParseDirectDeclarator by adding check that token is not an annotation token
- Discovered that this older PR of mine: ⚙ D148474 [Clang] Fix ResolveConstructorOverload to not select a conversion function if we are going use copy elision had a crash bug introduced by implementation of CTAD for aggregates: https://reviews.llvm.org/D139837
- I need to open an issue for this
- Tom
- Need to catch up on review for extended floating point types, unicode issue
- Tony
- Working on C23 auto keyword
- migrated c2x references to c23
- Auto keyword diagnostics, need to add some metadata at parsing stage
- Working on C23 auto keyword
- Vlad
- Continue to triage old Clang regressions, got through ~300 in the past few weeks
- Some old reproducers to dropbox are no longer working, prefer Google drive links instead
Meeting Agenda August 2, 2023
Agenda
- Cleaning up labels in bug tracker.
- Documentation label was updated . Use clang
documentation
labels instead ofclang:documentation
- ~70 bugs use ‘compile fail’ labels, is this useful at all? Recommend cleaning these up, either remove or replace with something more useful.
- Cleaning up ‘beginner’ and ‘good first issue’
- Documentation label was updated . Use clang
- How far along are we in LLVM 17?
- Working on RC3, scheduled to go out Aug 22. Expect that to be final unless there are any blocking issues on the issue tracker.
- fenv_access issue, there is some work done but exposes more miscompiles. Understand that Sergey is working on a further fix. Preference is to revert, but unsure how easy a revert would be.
- https://github.com/llvm/llvm-project/issues/64605 Aaron to add a comment on this one with the recommendation
Round Table
- Aaron
- Codereveviews for LLVM 17
- Working on deducing this https://reviews.llvm.org/D140828
- Would appreciate some additional reviews on this one. Concerned about parameter counting, some additional reviews would be useful to drive out anything that hasn’t been concerned.
- Radar link discussion has wound down, preparing a PR
- Ariel
- Continuing work on backend
- Corentin
- Deducing this* comments, explicit parameter that is not accounted for. We don’t compile Clang with MSVC, trying to figure out proper way to do this.
- Source encoding issue on MSVC https://github.com/llvm/llvm-project/issues/64668
- Deducing this* comments, explicit parameter that is not accounted for. We don’t compile Clang with MSVC, trying to figure out proper way to do this.
- Hubert
- Looking at unevaluated strings reviews
- Reviewing diagnostics for displaying character literals of different types
- Landed on both hex and decimal numeric values, question about whether display should have any indication about the type. Prefix is useful to tell the user the type information, as long as not too much information. Might be useful to have a concrete use case.
- Patch potentially exposes diagnostic printing to non-printable characters. Might need an example.
- Maria
- Mostly on bug fixes
- https://github.com/llvm/llvm-project/issues/47400 - generic nested lambda, variable used in parameter list. Aaron to take a look likely in a few days. Corentin to check lambda lookup changes, or could be how captures works. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0588r1.html
- https://github.com/llvm/llvm-project/issues/56628 - applied some changes based on feedback, still some work to do
- Mostly on bug fixes
- Vlad
- Triaging old Clang crashes, have made good progress
- Cleaning up labels
- Some assignees that haven’t responded for years
- Some old issues that haven’t been triaged in years
Meeting Agenda August 2, 2023
Agenda
- Question: When picking best candidate function in an overload set - should invalid declarations be considered? Or should it be excluded?
- Propose invalid declarations should be considered as long as the signature is well formed. We are inconsistent in our current implementation. Often fall in to assertion conditions.
- Would like to be consistent on allowing invalid declarations, but need to do some investigation on ramifications. Testing will be challenging.
- Question about naming conventions
- Example https://github.com/llvm/llvm-project/blob/fa2b038cadf17d08014e5fb75c47b5024860953e/clang/lib/Sema/SemaExpr.cpp#L16688
- We haven’t had a great track record of naming conventions, but should be taken into consideration during code reviews
- Guidance on naming conventions https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly
Round Table
- Aaron
- Working on cutting a release candidate, successful branch. Please ask if need help delivering to the v17 branch. Cherry picking reserved for critical bug fixes that are small in nature.
- Converging on radar links, but will let that sit for a bit for consensus
- Ariel
- Working mostly on backend
- Corentin
- Finished the consteval can propagate set of PRs
- Bugfix for static asserts, planning to add a warning for unevaluated in C++ 26. Hubert waiting for feedback.
- C++ placeholder feature - generating bad debug info. Is this a blocking concern? Patch is currently incomplete, and may need some help with debug info.
- https://github.com/llvm/llvm-project/issues/64317 builtin assume leads to worse codegen. Suggest taking conservative approach, hold off on full semantics for now.
- Hubert
- Fenv-access investigation is ongoing, no updates. There have been many abandoned attempts to fix in the past.
- Lucile
- Tony
- C2x auto feature, fixed a few things including diagnostics. Will do an update in a couple of days. Will be traveling, that will complicate schedule.
- Vlad
- All assertion builds on Compiler Explorer https://github.com/compiler-explorer/compiler-explorer/issues/5113
- Question: can it be extended for C compilers?
- Looking to improve debug experience with LLDB
Meeting Agenda July 19, 2023
Agenda
Had to cancel due to a small snafu: nobody had permission to let people join the Google Meet session.
Meeting Agenda July 5, 2023
Agenda
- Defect report testing isolation
- Instead of compile test invocation, have a single invocation of cc1 for multiple actions
- It could be good for reducing compile time, but it seems like it could be considerable effort. We should do some more investigation, it may be easier than expected.
- We need to be cognizant that testing will continue to be expensive.
- Also need to be aware that process creation is expensive on different platforms, ex. Windows is a pain point
- Is this an issue with process creation or serialization?
- Question: is it possible to change cc1 as a library?
- At some point, should curate our tests. There is a lot of overlap currently.
- The more urgent issue is lack of test coverage
- Vlad will need some help with estimating the work
- Guess that several weeks worth of work
- Linux kernel asking about adding tests to LLVM post commit CI
- Undefined behaviour could be a pain point
- Q regarding placeholder with no name
- How much investigation around debuggers, and how they are impacted.
- Corentin will investigate
- Would recommend talking to David Blakie and Erik Christopher
- Others from Apple as well https://reviews.llvm.org/D153536
- Shafix out the first 3 weeks of August
RoundTable
- Aaron
- Catch up on code reviews, may be slow due to editorial review on C standard
- Change in DIS to make $ consistent between C and C++
- https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3145.pdf
- Should not have links in test code that are dead
- Catch up on code reviews, may be slow due to editorial review on C standard
- Ariel
- Working on backend recently
- Corentin
- Add list of C++26 papers to the status page, started working on implementation
- May need some help with reviews
- A few bug fixes as well
- Add list of C++26 papers to the status page, started working on implementation
- Hubert
- Still working on fenv-access, recently mentioned pre-existing fix is still not working. Investigating on a few fronts.
- Mariya
- Mostly on bug fixes
- Shafik
- Landed bug fix crashing on decl specifiers, still need a reproducer for a potential second case pointed out by Richard in the review: https://reviews.llvm.org/D134334
- Crash on enums, fix needs revision: https://reviews.llvm.org/D153375
- Designated initializers, mixing up indexes. Have a potential fix: https://github.com/llvm/llvm-project/issues/63605
- Tony
- Fixing issues on C2x auto keyword, still stuck on one case https://godbolt.org/z/saeKoT3zG
- _atomic specifier
- _Atomic __auto_type i = 12;
- Fixed the over issue, but it would be better to t deduce auto type earlier.
- Vlad
- Running compiler explorer with special builds of Clang, publishing documentation and PR to CE to upstream the work https://discourse.llvm.org/t/triaging-old-clang-bugs/71590
Meeting Agenda June 21, 2023
Agenda
- WG14 meeting this week
- For Clang bugs since Clang 3.x, please send them to Vlad if you need to reproduce on older Clang versions
- Erich out on sabbatical for 2 months starting July 4
Round Table
- Erich
- Close to accepting Concepts as supported in LLVM17, no major bugs remaining
- Hubert: are ranges well supported? Erich: yes, most issues have been resolved. GCC Ranges and Ranges V3 have been tested. Libc++ Ranges also have been tested.
- Hubert
- Standard committee meetings last week
- Pragma fenv access, initial patch was identified and is being worked on. First patch is incomplete, have reached out to the author.
- Sambit
- Working on unit test for inheritance, will look to committing soon
- Srikanth
- Tony
- Ariel
- Primarily working on backend issues
Meeting Agenda June 7, 2023
Agenda
RoudTable
- Aaron
- Mostly code reviews
- C committee working through CD comment reviews. May be a CD3, and uncertain if tracking to C23 or C24.
- Ariel
- Working mostly on the backend
- Corentin
- Propogation of const eval, should be able to merge this week. Fixed some bugs. To define feature macro, once the one last blocking issue is resloved. Memory leak needs to be resolved (likely a codegen bug, but needs quantifying), but we’re still functionally complete. To validate the Clang 17 release schedule, branch end of July.
- Q. What’s happening with template arguments that aren’t integers https://reviews.llvm.org/D140996 ? Think we just have issues float issue remaining. May need some resolution on ABI issues.
- Shafik
- Open source screening has been busy. Thanks to Vlad for screening a lot of old bugs.
- Working on a couple of bugs.
- We were using transform expressions rather than transform initializers, results in missing cleanups: https://reviews.llvm.org/D151235
- Parsing bug, waiting for some feedback from Richard on test strategy: https://reviews.llvm.org/D134334Alignment when we supply a large value, results in assertion: https://reviews.llvm.org/D152335
- Tony
- Will upload an update on C2x auto keyword, likely next week
Meeting Agenda May 17, 2023
Agenda
- Problem with #pragma STDC FENV_ACCESS when template instantiation has changed state
- Zahira Ammarguellat and John McCall were the last to touch, they would probably know best
- Splitting of tests, problem with instantiation of templates if problem hit earlier in file. Issue would be increase in number of files.
- Tradeoffs between disabling functionality and increasing large number of tests
- Worthwhile looking into splitting the files
- https://gist.github.com/Endilll/77b802d4fc093a19731c5583cb6136a2 current issue with unique filenames, need to think of naming convention. Would be an ongoing maintenance issue.
- Leaning towards split files. Currently 58000 tests, so probably won’t have a huge impact to test run time
Round Table
- Aaron
- Code reviews, making progress
- WG14 reflectors, gathering feedback for generic selection expressions
- Added an extra set of office hours
- Ariel
- Corentin
- Many PRs for Aaron
- Working on auto() expression, distinguishing function
- Working on C++23 const eval needs to propagate up https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2564r3.html should have a PR this week
- Waiting for review for deducing this https://reviews.llvm.org/D140828
- Suggestion: someone should take over lifetime extension in for loops, the author has abandoned the patch and is open for someone else to take over https://reviews.llvm.org/D139586
- Hubert
- #pragma STDC FENV_ACCESS
- Reviewing keeping statics patch, add attribute used to all statics
- Tom
- Continuing dfp, getting some patches together for local repo. Wider review to come later.
- bf16 is being worked on by someone from Microsoft, thread on discourse and some patches are already available
- Tony
- Fixed issues on auto patch, seen comment but hasn’t responded yet. Will come to office hours to discuss.
- Vlad
- Looking in to various issues regarding DR testing
- Waiting for Shafiks response for DR399
Meeting Agenda May 3, 2023
Agenda
- Relaxed template-template
- https://github.com/llvm/llvm-project/issues/37392
- Raise issue on core reflector, perhaps create a DR. Breaking change for users.
Round Table
- Aaron
- Refreshing open projects page, had been stuck since 2013. Added improving documentation, defect reports, conformance testing. Discussion going on Discourse.
- Getting caught up on code reviews
- Addressing changes from C committee CD comments
- Ariel
- Floating point work in the backend
- Corentin
- Fixed a few bugs
- Waiting for reviews on deducing this https://reviews.llvm.org/D140828
- Erich
- Patch about comparing restraints, debugging issues
- Getting caught up on reviews
- Hubert
- Shafik
- DFP, goal to get a minimal set of commits, want to be able to parse a minimal set of code
- In parallel, working on library. Todo to start figuring out interfaces. A BID encoding implementation will be added with structure set up in anticipation of adding a DPD implementation. Considerations in place to separate host versus target library; will have ability to produce target library as part of compiler-rt (but no requirement to use target library from compiler-rt).
- Fix for comparison of bitfields.
- Updating default comparison operators, in review.
- Designated initializers, working on handling overrides.
- Crash fix, waiting for follow-up review
- Tom
- Command line plumbing for DFP work
- Patches for coverity related issues, expect those may be coming for a while. Will want to evaluate value of these patches.
- Tony
- C23 auto keyword, 3 things to fix prior to upstream