Page MenuHomePhabricator

[C++20][Modules] Handle diagnosing TU-local exposures [P1815].
DraftPublic

Authored by iains on Jan 3 2023, 4:19 AM.
This is a draft revision that has not yet been submitted for review.

Details

Reviewers
None
Summary

This is work in progress, which currently handles:

  • cases in a function bodies
  • initializers for variables
  • decltype() for variables
  • decltype() for function return values
  • auto for variables
  • constexpt/consteval for function and variable types
  • support for function templates
  • support for template instantiations in module consumers
  • initial support for lambdas.

Diff Detail

Unit TestsFailed

TimeTest
88,530 mslibcxx CI C++2b > llvm-libc++-shared-cfg-in.libcxx::modules_include.sh.cpp
Script: -- : 'RUN: at line 56'; echo "" > /home/libcxx-builder/.buildkite-agent/builds/google-libcxx-builder-libcxx-precommit-ci-group-p331-1/llvm-project/libcxx-ci/build/generic-cxx2b/test/libcxx/Output/modules_include.sh.cpp.dir/t.tmp.sh

Event Timeline

iains created this revision.Jan 3 2023, 4:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2023, 4:19 AM
Herald added a subscriber: ChuanqiXu. · View Herald Transcript
iains added a comment.Jan 3 2023, 4:21 AM

added @ChuanqiXu as requested (this is a draft, it does not need review at this time).

iains updated this revision to Diff 498824.Feb 20 2023, 6:15 AM
iains edited the summary of this revision. (Show Details)

rebased, added support for decltype and constexpr/constal and auto.

iains updated this revision to Diff 499073.Feb 21 2023, 1:29 AM

rebased, reworked handling of constexpr variables.

iains updated this revision to Diff 502596.Mar 6 2023, 4:59 AM
iains edited the summary of this revision. (Show Details)

rebased, added support for function templates.

iains updated this revision to Diff 510392.Apr 2 2023, 9:08 PM
iains edited the summary of this revision. (Show Details)

rebased, added support for template instantiations.

depends on lookup changes for proper functionality,

iains updated this revision to Diff 510395.Apr 2 2023, 9:11 PM

reapply onto parent revision

iains updated this revision to Diff 511328.Apr 6 2023, 2:09 AM
iains edited the summary of this revision. (Show Details)

rebased and moved some lookup stuff to D145965.

added initial support for lambda closure cases.