Lines Matching defs:Flags
44 bool ParseSectionFlags(StringRef FlagsString, unsigned* Flags);
148 static SectionKind computeSectionKind(unsigned Flags) {
149 if (Flags & COFF::IMAGE_SCN_MEM_EXECUTE)
151 if (Flags & COFF::IMAGE_SCN_MEM_READ &&
152 (Flags & COFF::IMAGE_SCN_MEM_WRITE) == 0)
157 bool COFFAsmParser::ParseSectionFlags(StringRef FlagsString, unsigned* Flags) {
182 return TokError("conflicting section flags 'b' and 'd'.");
189 return TokError("conflicting section flags 'b' and 'd'.");
238 *Flags = 0;
244 *Flags |= COFF::IMAGE_SCN_CNT_CODE | COFF::IMAGE_SCN_MEM_EXECUTE;
246 *Flags |= COFF::IMAGE_SCN_CNT_INITIALIZED_DATA;
248 *Flags |= COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA;
250 *Flags |= COFF::IMAGE_SCN_LNK_REMOVE;
252 *Flags |= COFF::IMAGE_SCN_MEM_READ;
254 *Flags |= COFF::IMAGE_SCN_MEM_WRITE;
256 *Flags |= COFF::IMAGE_SCN_MEM_SHARED;
322 // .section name [, "flags"] [, identifier [ identifier ], identifier]
324 // Supported flags:
342 unsigned Flags = COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
355 if (ParseSectionFlags(FlagsStr, &Flags))
365 Flags |= COFF::IMAGE_SCN_LNK_COMDAT;
381 SectionKind Kind = computeSectionKind(Flags);
385 Flags |= COFF::IMAGE_SCN_MEM_16BIT;
387 ParseSectionSwitch(SectionName, Flags, Kind, COMDATSymName, Type);