diff options
author | Jian Cai <caij2003@gmail.com> | 2020-04-23 12:11:50 -0700 |
---|---|---|
committer | Jian Cai <caij2003@gmail.com> | 2020-04-23 14:25:13 -0700 |
commit | fcbc613ad8b7785f710996f58726f26ad4ace50b (patch) | |
tree | ac8135aa6e1a513d96d390bd6270d16b2883e97c /flang/lib/Semantics/mod-file.cpp | |
parent | 9721fbf85b83c1cb67cea542c5558f99a07766cf (diff) | |
download | llvm-fcbc613ad8b7785f710996f58726f26ad4ace50b.zip llvm-fcbc613ad8b7785f710996f58726f26ad4ace50b.tar.gz llvm-fcbc613ad8b7785f710996f58726f26ad4ace50b.tar.bz2 |
Make "#pragma clang attribute" support uninitialized attribute.
Summary:
When using -ftrivial-auto-var-init=* options to initiate automatic
variables in a file, to disable initialization on some variables,
currently we have to manually annotate the variables with uninitialized
attribute, such as
int dont_initialize_me __attribute((uninitialized));
Making pragma clang attribute to support this attribute would make
annotating variables much easier, and could be particular useful for
bisection efforts, e.g.
void use(void*);
void buggy() {
int arr[256];
int boom;
float bam;
struct { int oops; } oops;
union { int oof; float aaaaa; } oof;
use(&arr);
use(&boom);
use(&bam);
use(&oops);
use(&oof);
}
Reviewers: jfb, rjmccall, aaron.ballman
Reviewed By: jfb, aaron.ballman
Subscribers: aaron.ballman, george.burgess.iv, dexonsmith, MaskRay, phosek, hubert.reinterpretcast, gbiv, manojgupta, llozano, srhines, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D78693
Diffstat (limited to 'flang/lib/Semantics/mod-file.cpp')
0 files changed, 0 insertions, 0 deletions