diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-08-23 16:32:26 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-12-13 14:00:06 +0100 |
commit | ca246e573fb3f53fba5794f72b9245382eb46180 (patch) | |
tree | 106c5834069c035ac3799ea77014508a7b5dd475 /gcc/rust/backend/rust-compile-extern.h | |
parent | 5215235f01665062fbe182bb0c3c49539d882ad7 (diff) | |
download | gcc-ca246e573fb3f53fba5794f72b9245382eb46180.zip gcc-ca246e573fb3f53fba5794f72b9245382eb46180.tar.gz gcc-ca246e573fb3f53fba5794f72b9245382eb46180.tar.bz2 |
gccrs: Add privacy checks
This pass is responsible for resolving the privacy of items and verifying
that access to these items is performed within the limits of that privacy.
By default, items in Rust are private and only public to the current
module and its submodules. However, the user can annotate an item with
various qualifiers such as `pub` to publicly expose an item. Furthermore,
a module path can be given to `pub` to restrict an item's privacy to a
certain module: These paths need to be resolved and later on checked by
the privacy error reporter.
gcc/rust/
* checks/errors/privacy/rust-privacy-check.cc: New.
* checks/errors/privacy/rust-privacy-check.h: New.
* checks/errors/privacy/rust-privacy-common.h: New.
* checks/errors/privacy/rust-privacy-ctx.cc: New.
* checks/errors/privacy/rust-privacy-ctx.h: New.
* checks/errors/privacy/rust-privacy-reporter.cc: New.
* checks/errors/privacy/rust-privacy-reporter.h: New.
* checks/errors/privacy/rust-pub-restricted-visitor.cc: New.
* checks/errors/privacy/rust-pub-restricted-visitor.h: New.
* checks/errors/privacy/rust-reachability.cc: New.
* checks/errors/privacy/rust-reachability.h: New.
* checks/errors/privacy/rust-visibility-resolver.cc: New.
* checks/errors/privacy/rust-visibility-resolver.h: New.
Diffstat (limited to 'gcc/rust/backend/rust-compile-extern.h')
0 files changed, 0 insertions, 0 deletions