Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C++ : support C++20 modules #3941

Merged
merged 18 commits into from
Feb 24, 2024
Merged

Conversation

masatake
Copy link
Member

@masatake masatake commented Feb 17, 2024

Close #3932.

TODO:

  • "export module M;"
  • "export something_other_than_module_and_import ..."
  • "module M;"
  • "module M:P;"
  • "export {...}"
  • "export namespace ..."
  • "export enum ..."
  • "export typedef ..."
  • "export struct ..."
  • "export using X = ..."
  • "export struct s {} v;" (invalid in C++)
  • "export ...", ...
  • "import ..."
  • "module;"
  • "module :private;"
  • update the version of the parser
  • update the manual page

@masatake masatake marked this pull request as draft February 17, 2024 09:32
@masatake masatake requested review from pragmaware and removed request for pragmaware February 17, 2024 09:49
Copy link

codecov bot commented Feb 17, 2024

Codecov Report

Attention: Patch coverage is 91.46341% with 21 lines in your changes are missing coverage. Please review.

Project coverage is 85.40%. Comparing base (6406cb3) to head (d469bf9).

Files Patch % Lines
parsers/cxx/cxx_parser_module.c 89.57% 17 Missing ⚠️
parsers/cxx/cxx_parser_block.c 88.57% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3941      +/-   ##
==========================================
+ Coverage   85.38%   85.40%   +0.02%     
==========================================
  Files         234      235       +1     
  Lines       56204    56429     +225     
==========================================
+ Hits        47989    48193     +204     
- Misses       8215     8236      +21     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@masatake masatake force-pushed the cxx--module branch 3 times, most recently from e0b6b1f to 9fec7f3 Compare February 20, 2024 02:48
@masatake masatake mentioned this pull request Feb 20, 2024
@masatake masatake force-pushed the cxx--module branch 2 times, most recently from b99e979 to 4cd26d1 Compare February 21, 2024 23:49
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
@masatake masatake marked this pull request as ready for review February 24, 2024 05:22
@masatake masatake changed the title [WIP] C++ : support C++20 modules C++ : support C++20 modules Feb 24, 2024
@masatake masatake force-pushed the cxx--module branch 2 times, most recently from 11e26f9 to 3a46418 Compare February 24, 2024 07:34
@masatake
Copy link
Member Author

We can use the same technique as cxxKeyworkdEnableFinal for handling the keywords "module" and "import".

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
@masatake masatake merged commit 5d8c592 into universal-ctags:master Feb 24, 2024
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

C++: support modules
1 participant