Skip to content

Commit b0d4a46

Browse files
committed
[NFCI] Fix Wattributes warnings from Sema.
See: #157834 There is some visibility concerns here, so this patch suppresses the diagnostic. I believe we are doing this intentionally, so unless someone comes up with a good reason we should either remove the visibility of Sema, or make these types visible, this seems like the right way forward. Fixes: #157834
1 parent 7c66302 commit b0d4a46

File tree

1 file changed

+21
-0
lines changed
  • clang/include/clang/Sema

1 file changed

+21
-0
lines changed

clang/include/clang/Sema/Sema.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3541,6 +3541,10 @@ class Sema final : public SemaBase {
35413541
llvm::SmallSetVector<const TypedefNameDecl *, 4>
35423542
UnusedLocalTypedefNameCandidates;
35433543

3544+
#ifdef __GNUC__
3545+
#pragma GCC diagnostic push
3546+
#pragma GCC diagnostic ignored "-Wattributes"
3547+
#endif
35443548
typedef LazyVector<const DeclaratorDecl *, ExternalSemaSource,
35453549
&ExternalSemaSource::ReadUnusedFileScopedDecls, 2, 2>
35463550
UnusedFileScopedDeclsType;
@@ -3555,6 +3559,9 @@ class Sema final : public SemaBase {
35553559

35563560
/// All the tentative definitions encountered in the TU.
35573561
TentativeDefinitionsType TentativeDefinitions;
3562+
#ifdef __GNUC__
3563+
#pragma GCC diagnostic pop
3564+
#endif
35583565

35593566
/// All the external declarations encoutered and used in the TU.
35603567
SmallVector<DeclaratorDecl *, 4> ExternalDeclarations;
@@ -4858,6 +4865,10 @@ class Sema final : public SemaBase {
48584865
/// WeakTopLevelDeclDecls - access to \#pragma weak-generated Decls
48594866
SmallVectorImpl<Decl *> &WeakTopLevelDecls() { return WeakTopLevelDecl; }
48604867

4868+
#ifdef __GNUC__
4869+
#pragma GCC diagnostic push
4870+
#pragma GCC diagnostic ignored "-Wattributes"
4871+
#endif
48614872
typedef LazyVector<TypedefNameDecl *, ExternalSemaSource,
48624873
&ExternalSemaSource::ReadExtVectorDecls, 2, 2>
48634874
ExtVectorDeclsType;
@@ -4866,6 +4877,9 @@ class Sema final : public SemaBase {
48664877
/// us to associate a raw vector type with one of the ext_vector type names.
48674878
/// This is only necessary for issuing pretty diagnostics.
48684879
ExtVectorDeclsType ExtVectorDecls;
4880+
#ifdef __GNUC__
4881+
#pragma GCC diagnostic pop
4882+
#endif
48694883

48704884
/// Check if the argument \p E is a ASCII string literal. If not emit an error
48714885
/// and return false, otherwise set \p Str to the value of the string literal
@@ -6466,13 +6480,20 @@ class Sema final : public SemaBase {
64666480
/// same list more than once.
64676481
std::unique_ptr<RecordDeclSetTy> PureVirtualClassDiagSet;
64686482

6483+
#ifdef __GNUC__
6484+
#pragma GCC diagnostic push
6485+
#pragma GCC diagnostic ignored "-Wattributes"
6486+
#endif
64696487
typedef LazyVector<CXXConstructorDecl *, ExternalSemaSource,
64706488
&ExternalSemaSource::ReadDelegatingConstructors, 2, 2>
64716489
DelegatingCtorDeclsType;
64726490

64736491
/// All the delegating constructors seen so far in the file, used for
64746492
/// cycle detection at the end of the TU.
64756493
DelegatingCtorDeclsType DelegatingCtorDecls;
6494+
#ifdef __GNUC__
6495+
#pragma GCC diagnostic pop
6496+
#endif
64766497

64776498
/// The C++ "std" namespace, where the standard library resides.
64786499
LazyDeclPtr StdNamespace;

0 commit comments

Comments
 (0)