Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit 8288d18

Browse files
committed
Make sure the Features field of the Builtin Info struct is always initialized. Silences -Wmissing-field-initializers.
While there convert 0 in the BUILTIN macros to nullptr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244307 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 155571f commit 8288d18

File tree

2 files changed

+44
-36
lines changed

2 files changed

+44
-36
lines changed

Diff for: lib/Basic/Builtins.cpp

+5-6
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@
1919
using namespace clang;
2020

2121
static const Builtin::Info BuiltinInfo[] = {
22-
{ "not a builtin function", nullptr, nullptr, nullptr, ALL_LANGUAGES},
23-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
22+
{ "not a builtin function", nullptr, nullptr, nullptr, ALL_LANGUAGES,nullptr},
23+
#define BUILTIN(ID, TYPE, ATTRS) \
24+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
2425
#define LANGBUILTIN(ID, TYPE, ATTRS, LANGS) \
25-
{ #ID, TYPE, ATTRS, 0, LANGS } \
26-
,
26+
{ #ID, TYPE, ATTRS, nullptr, LANGS, nullptr },
2727
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER, LANGS) \
28-
{ #ID, TYPE, ATTRS, HEADER, LANGS } \
29-
,
28+
{ #ID, TYPE, ATTRS, HEADER, LANGS, nullptr },
3029
#include "clang/Basic/Builtins.def"
3130
};
3231

Diff for: lib/Basic/Targets.cpp

+39-30
Original file line numberDiff line numberDiff line change
@@ -1009,9 +1009,10 @@ class PPCTargetInfo : public TargetInfo {
10091009
};
10101010

10111011
const Builtin::Info PPCTargetInfo::BuiltinInfo[] = {
1012-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
1013-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
1014-
ALL_LANGUAGES },
1012+
#define BUILTIN(ID, TYPE, ATTRS) \
1013+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
1014+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
1015+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
10151016
#include "clang/Basic/BuiltinsPPC.def"
10161017
};
10171018

@@ -1682,9 +1683,10 @@ class DarwinPPC64TargetInfo :
16821683
};
16831684

16841685
const Builtin::Info NVPTXTargetInfo::BuiltinInfo[] = {
1685-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
1686-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
1687-
ALL_LANGUAGES },
1686+
#define BUILTIN(ID, TYPE, ATTRS) \
1687+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
1688+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
1689+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
16881690
#include "clang/Basic/BuiltinsNVPTX.def"
16891691
};
16901692

@@ -1936,7 +1938,7 @@ class AMDGPUTargetInfo : public TargetInfo {
19361938

19371939
const Builtin::Info AMDGPUTargetInfo::BuiltinInfo[] = {
19381940
#define BUILTIN(ID, TYPE, ATTRS) \
1939-
{ #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
1941+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
19401942
#include "clang/Basic/BuiltinsAMDGPU.def"
19411943
};
19421944
const char * const AMDGPUTargetInfo::GCCRegNames[] = {
@@ -2000,11 +2002,12 @@ void AMDGPUTargetInfo::getGCCRegNames(const char * const *&Names,
20002002

20012003
// Namespace for x86 abstract base class
20022004
const Builtin::Info BuiltinInfo[] = {
2003-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
2005+
#define BUILTIN(ID, TYPE, ATTRS) \
2006+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
20042007
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
2005-
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES },
2008+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
20062009
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE) \
2007-
{ #ID, TYPE, ATTRS, 0, ALL_LANGUAGES, FEATURE },
2010+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, FEATURE },
20082011
#include "clang/Basic/BuiltinsX86.def"
20092012
};
20102013

@@ -4886,15 +4889,18 @@ void ARMTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases,
48864889
}
48874890

48884891
const Builtin::Info ARMTargetInfo::BuiltinInfo[] = {
4889-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
4890-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
4891-
ALL_LANGUAGES },
4892+
#define BUILTIN(ID, TYPE, ATTRS) \
4893+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr},
4894+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
4895+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
48924896
#include "clang/Basic/BuiltinsNEON.def"
48934897

4894-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
4895-
#define LANGBUILTIN(ID, TYPE, ATTRS, LANG) { #ID, TYPE, ATTRS, 0, LANG },
4896-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
4897-
ALL_LANGUAGES },
4898+
#define BUILTIN(ID, TYPE, ATTRS) \
4899+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr},
4900+
#define LANGBUILTIN(ID, TYPE, ATTRS, LANG) \
4901+
{ #ID, TYPE, ATTRS, nullptr, LANG, nullptr},
4902+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
4903+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
48984904
#include "clang/Basic/BuiltinsARM.def"
48994905
};
49004906

@@ -5364,11 +5370,11 @@ void AArch64TargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases,
53645370

53655371
const Builtin::Info AArch64TargetInfo::BuiltinInfo[] = {
53665372
#define BUILTIN(ID, TYPE, ATTRS) \
5367-
{ #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
5373+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
53685374
#include "clang/Basic/BuiltinsNEON.def"
53695375

53705376
#define BUILTIN(ID, TYPE, ATTRS) \
5371-
{ #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
5377+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
53725378
#include "clang/Basic/BuiltinsAArch64.def"
53735379
};
53745380

@@ -5586,9 +5592,10 @@ void HexagonTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases,
55865592

55875593

55885594
const Builtin::Info HexagonTargetInfo::BuiltinInfo[] = {
5589-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
5590-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
5591-
ALL_LANGUAGES },
5595+
#define BUILTIN(ID, TYPE, ATTRS) \
5596+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
5597+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
5598+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
55925599
#include "clang/Basic/BuiltinsHexagon.def"
55935600
};
55945601

@@ -5918,7 +5925,7 @@ class SystemZTargetInfo : public TargetInfo {
59185925

59195926
const Builtin::Info SystemZTargetInfo::BuiltinInfo[] = {
59205927
#define BUILTIN(ID, TYPE, ATTRS) \
5921-
{ #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
5928+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
59225929
#include "clang/Basic/BuiltinsSystemZ.def"
59235930
};
59245931

@@ -6474,9 +6481,10 @@ class MipsTargetInfoBase : public TargetInfo {
64746481
};
64756482

64766483
const Builtin::Info MipsTargetInfoBase::BuiltinInfo[] = {
6477-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
6478-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
6479-
ALL_LANGUAGES },
6484+
#define BUILTIN(ID, TYPE, ATTRS) \
6485+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
6486+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
6487+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
64806488
#include "clang/Basic/BuiltinsMips.def"
64816489
};
64826490

@@ -6891,7 +6899,7 @@ class Le64TargetInfo : public TargetInfo {
68916899

68926900
const Builtin::Info Le64TargetInfo::BuiltinInfo[] = {
68936901
#define BUILTIN(ID, TYPE, ATTRS) \
6894-
{ #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
6902+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
68956903
#include "clang/Basic/BuiltinsLe64.def"
68966904
};
68976905

@@ -7046,9 +7054,10 @@ class XCoreTargetInfo : public TargetInfo {
70467054
};
70477055

70487056
const Builtin::Info XCoreTargetInfo::BuiltinInfo[] = {
7049-
#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
7050-
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
7051-
ALL_LANGUAGES },
7057+
#define BUILTIN(ID, TYPE, ATTRS) \
7058+
{ #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
7059+
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \
7060+
{ #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr },
70527061
#include "clang/Basic/BuiltinsXCore.def"
70537062
};
70547063
} // end anonymous namespace.

0 commit comments

Comments
 (0)