llvm/llvm-project

[C++20] [Modules] Support attributes on module declarations

Open

#159,225 opened on Sep 17, 2025

View on GitHub
 (3 comments) (0 reactions) (1 assignee)C++ (10,782 forks)batch import
clang:moduleshelp wanted

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (Avg merge 1d 2h) (1,000 merged PRs in 30d)

Description

The language allows we have attributes on module declarations, e.g.,

export module module_name [[attribute]];

Although we don't have any attribute right now, we will have. It will be good to have some basic support for this. So that we can add new attribute easily like we do for class or functions.

To implement this, I think the most simple way is to store the attributes in the clang::Module class. The other option may be to create a ModuleDecl class or add this to TranslationUnitDecl (as module units are basically translation unit.)

Contributor guide