r280701 - DebugInfo: use llvm::DINode::DIFlags type for debug info flags

2016-09-06 Thread Leny Kholodov via cfe-commits
Author: lkholodov
Date: Tue Sep  6 05:48:04 2016
New Revision: 280701

URL: http://llvm.org/viewvc/llvm-project?rev=280701&view=rev
Log:
DebugInfo: use llvm::DINode::DIFlags type for debug info flags

Use llvm::DINode::DIFlags type (strongly typed enum) for debug flags instead of 
unsigned int to avoid problems on platforms with sizeof(int) < 4: we already 
have flags with values > (1 << 16).

Patch by: Victor Leschuk 

Differential Revision: https://reviews.llvm.org/D23767


Modified:
cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
cfe/trunk/lib/CodeGen/CGDebugInfo.h

Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=280701&r1=280700&r2=280701&view=diff
==
--- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Tue Sep  6 05:48:04 2016
@@ -497,12 +497,12 @@ llvm::DIType *CGDebugInfo::CreateType(co
 
 ObjTy =
 DBuilder.createStructType(TheCU, "objc_object", getOrCreateMainFile(),
-  0, 0, 0, 0, nullptr, llvm::DINodeArray());
+  0, 0, 0, llvm::DINode::FlagZero, nullptr, 
llvm::DINodeArray());
 
 DBuilder.replaceArrays(
 ObjTy,
 DBuilder.getOrCreateArray(&*DBuilder.createMemberType(
-ObjTy, "isa", getOrCreateMainFile(), 0, Size, 0, 0, 0, ISATy)));
+ObjTy, "isa", getOrCreateMainFile(), 0, Size, 0, 0, 
llvm::DINode::FlagZero, ISATy)));
 return ObjTy;
   }
   case BuiltinType::ObjCSel: {
@@ -787,7 +787,7 @@ llvm::DIType *CGDebugInfo::CreateType(co
   Elements = DBuilder.getOrCreateArray(EltTys);
   EltTys.clear();
 
-  unsigned Flags = llvm::DINode::FlagAppleBlock;
+  llvm::DINode::DIFlags Flags = llvm::DINode::FlagAppleBlock;
   unsigned LineNo = 0;
 
   auto *EltTy =
@@ -813,7 +813,7 @@ llvm::DIType *CGDebugInfo::CreateType(co
   FieldAlign = CGM.getContext().getTypeAlign(Ty);
   EltTys.push_back(DBuilder.createMemberType(Unit, "__descriptor", nullptr, 
LineNo,
  FieldSize, FieldAlign, 
FieldOffset,
- 0, DescTy));
+ llvm::DINode::FlagZero, DescTy));
 
   FieldOffset += FieldSize;
   Elements = DBuilder.getOrCreateArray(EltTys);
@@ -917,14 +917,14 @@ llvm::DIType *CGDebugInfo::CreateType(co
   }
 
   llvm::DITypeRefArray EltTypeArray = DBuilder.getOrCreateTypeArray(EltTys);
-  return DBuilder.createSubroutineType(EltTypeArray, 0,
+  return DBuilder.createSubroutineType(EltTypeArray, llvm::DINode::FlagZero,
getDwarfCC(Ty->getCallConv()));
 }
 
 /// Convert an AccessSpecifier into the corresponding DINode flag.
 /// As an optimization, return 0 if the access specifier equals the
 /// default for the containing type.
-static unsigned getAccessFlag(AccessSpecifier Access, const RecordDecl *RD) {
+static llvm::DINode::DIFlags getAccessFlag(AccessSpecifier Access, const 
RecordDecl *RD) {
   AccessSpecifier Default = clang::AS_none;
   if (RD && RD->isClass())
 Default = clang::AS_private;
@@ -932,7 +932,7 @@ static unsigned getAccessFlag(AccessSpec
 Default = clang::AS_public;
 
   if (Access == Default)
-return 0;
+return llvm::DINode::FlagZero;
 
   switch (Access) {
   case clang::AS_private:
@@ -942,7 +942,7 @@ static unsigned getAccessFlag(AccessSpec
   case clang::AS_public:
 return llvm::DINode::FlagPublic;
   case clang::AS_none:
-return 0;
+return llvm::DINode::FlagZero;
   }
   llvm_unreachable("unexpected access enumerator");
 }
@@ -968,7 +968,7 @@ llvm::DIType *CGDebugInfo::createBitFiel
   uint64_t StorageOffsetInBits =
   CGM.getContext().toBits(BitFieldInfo.StorageOffset);
   uint64_t OffsetInBits = StorageOffsetInBits + BitFieldInfo.Offset;
-  unsigned Flags = getAccessFlag(BitFieldDecl->getAccess(), RD);
+  llvm::DINode::DIFlags Flags = getAccessFlag(BitFieldDecl->getAccess(), RD);
   return DBuilder.createBitFieldMemberType(
   RecordTy, Name, File, Line, SizeInBits, AlignInBits, OffsetInBits,
   StorageOffsetInBits, Flags, DebugType);
@@ -993,7 +993,7 @@ CGDebugInfo::createFieldType(StringRef n
 AlignInBits = TI.Align;
   }
 
-  unsigned flags = getAccessFlag(AS, RD);
+  llvm::DINode::DIFlags flags = getAccessFlag(AS, RD);
   return DBuilder.createMemberType(scope, name, file, line, SizeInBits,
AlignInBits, offsetInBits, flags, 
debugType);
 }
@@ -1060,7 +1060,7 @@ CGDebugInfo::CreateRecordStaticField(con
 }
   }
 
-  unsigned Flags = getAccessFlag(Var->getAccess(), RD);
+  llvm::DINode::DIFlags Flags = getAccessFlag(Var->getAccess(), RD);
   llvm::DIDerivedType *GV = DBuilder.createStaticMemberType(
   RecordTy, VName, VUnit, LineNumber, VTy, Flags, C);
   StaticDataMemberCache[Var->getCanonicalDecl()].reset(GV);
@@ -1203,7 +12

r280718 - Formatting with clang-format patch r280701

2016-09-06 Thread Leny Kholodov via cfe-commits
Author: lkholodov
Date: Tue Sep  6 12:06:14 2016
New Revision: 280718

URL: http://llvm.org/viewvc/llvm-project?rev=280718&view=rev
Log:
Formatting with clang-format patch r280701

Modified:
cfe/trunk/lib/CodeGen/CGDebugInfo.cpp

Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=280718&r1=280717&r2=280718&view=diff
==
--- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Tue Sep  6 12:06:14 2016
@@ -495,14 +495,14 @@ llvm::DIType *CGDebugInfo::CreateType(co
 
 auto *ISATy = DBuilder.createPointerType(ClassTy, Size);
 
-ObjTy =
-DBuilder.createStructType(TheCU, "objc_object", getOrCreateMainFile(),
-  0, 0, 0, llvm::DINode::FlagZero, nullptr, 
llvm::DINodeArray());
+ObjTy = DBuilder.createStructType(
+TheCU, "objc_object", getOrCreateMainFile(), 0, 0, 0,
+llvm::DINode::FlagZero, nullptr, llvm::DINodeArray());
 
 DBuilder.replaceArrays(
-ObjTy,
-DBuilder.getOrCreateArray(&*DBuilder.createMemberType(
-ObjTy, "isa", getOrCreateMainFile(), 0, Size, 0, 0, 
llvm::DINode::FlagZero, ISATy)));
+ObjTy, DBuilder.getOrCreateArray(&*DBuilder.createMemberType(
+   ObjTy, "isa", getOrCreateMainFile(), 0, Size, 0, 0,
+   llvm::DINode::FlagZero, ISATy)));
 return ObjTy;
   }
   case BuiltinType::ObjCSel: {
@@ -811,9 +811,9 @@ llvm::DIType *CGDebugInfo::CreateType(co
   FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
   FieldSize = CGM.getContext().getTypeSize(Ty);
   FieldAlign = CGM.getContext().getTypeAlign(Ty);
-  EltTys.push_back(DBuilder.createMemberType(Unit, "__descriptor", nullptr, 
LineNo,
- FieldSize, FieldAlign, 
FieldOffset,
- llvm::DINode::FlagZero, DescTy));
+  EltTys.push_back(DBuilder.createMemberType(
+  Unit, "__descriptor", nullptr, LineNo, FieldSize, FieldAlign, 
FieldOffset,
+  llvm::DINode::FlagZero, DescTy));
 
   FieldOffset += FieldSize;
   Elements = DBuilder.getOrCreateArray(EltTys);
@@ -924,7 +924,8 @@ llvm::DIType *CGDebugInfo::CreateType(co
 /// Convert an AccessSpecifier into the corresponding DINode flag.
 /// As an optimization, return 0 if the access specifier equals the
 /// default for the containing type.
-static llvm::DINode::DIFlags getAccessFlag(AccessSpecifier Access, const 
RecordDecl *RD) {
+static llvm::DINode::DIFlags getAccessFlag(AccessSpecifier Access,
+   const RecordDecl *RD) {
   AccessSpecifier Default = clang::AS_none;
   if (RD && RD->isClass())
 Default = clang::AS_private;
@@ -1978,7 +1979,8 @@ llvm::DIType *CGDebugInfo::CreateTypeDef
 if (!SClassTy)
   return nullptr;
 
-llvm::DIType *InhTag = DBuilder.createInheritance(RealDecl, SClassTy, 0, 
llvm::DINode::FlagZero);
+llvm::DIType *InhTag = DBuilder.createInheritance(RealDecl, SClassTy, 0,
+  llvm::DINode::FlagZero);
 EltTys.push_back(InhTag);
   }
 
@@ -2656,9 +2658,9 @@ llvm::DIType *CGDebugInfo::CreateMemberT
   llvm::DIType *FieldTy = CGDebugInfo::getOrCreateType(FType, Unit);
   uint64_t FieldSize = CGM.getContext().getTypeSize(FType);
   unsigned FieldAlign = CGM.getContext().getTypeAlign(FType);
-  llvm::DIType *Ty = DBuilder.createMemberType(Unit, Name, Unit, 0, FieldSize,
-   FieldAlign, *Offset,
-   llvm::DINode::FlagZero, 
FieldTy);
+  llvm::DIType *Ty =
+  DBuilder.createMemberType(Unit, Name, Unit, 0, FieldSize, FieldAlign,
+*Offset, llvm::DINode::FlagZero, FieldTy);
   *Offset += FieldSize;
   return Ty;
 }
@@ -3518,10 +3520,9 @@ void CGDebugInfo::EmitDeclareOfBlockLite
   uint64_t xoffset;
   fieldType = EmitTypeForVarWithBlocksAttr(variable, &xoffset);
   fieldType = DBuilder.createPointerType(fieldType, PtrInfo.Width);
-  fieldType =
-  DBuilder.createMemberType(tunit, name, tunit, line, PtrInfo.Width,
-PtrInfo.Align, offsetInBits,
-llvm::DINode::FlagZero, fieldType);
+  fieldType = DBuilder.createMemberType(
+  tunit, name, tunit, line, PtrInfo.Width, PtrInfo.Align, offsetInBits,
+  llvm::DINode::FlagZero, fieldType);
 } else {
   fieldType = createFieldType(name, variable->getType(), loc, AS_public,
   offsetInBits, tunit, tunit);
@@ -3535,11 +3536,11 @@ void CGDebugInfo::EmitDeclareOfBlockLite
 
   llvm::DINodeArray fieldsArray = DBuilder.getOrCreateArray(fields);
 
-  llvm::DIType *type = DBuilder.createStructType(
-  tunit, typeName.str(), tunit, line