## This checks that the group section is shrunk when its member is removed.

# RUN: yaml2obj --docnum=1 %s -o - \
# RUN:   | llvm-objcopy -R .foo - - \
# RUN:   | obj2yaml - \
# RUN:   | FileCheck %s

# CHECK:      - Name: .group
# CHECK:        Members:
# CHECK-NEXT:     - SectionOrType:  GRP_COMDAT
# CHECK-NEXT:     - SectionOrType:  .bar
# CHECK-NOT:      - SectionOrType:

--- !ELF
FileHeader:
  Class:      ELFCLASS64
  Data:       ELFDATA2LSB
  Type:       ET_REL
  Machine:    EM_X86_64
Sections:
  - Name:     .group
    Type:     SHT_GROUP
    Info:     foo_bar_grp
    Members:
      - SectionOrType:  GRP_COMDAT
      - SectionOrType:  .foo
      - SectionOrType:  .bar
  - Name:     .foo
    Type:     SHT_PROGBITS
    Flags:    [ SHF_ALLOC, SHF_GROUP ]
  - Name:     .bar
    Type:     SHT_PROGBITS
    Flags:    [ SHF_ALLOC, SHF_GROUP ]
Symbols:
  - Name:     foo_bar_grp
    Section:  .group
    Binding:  STB_GLOBAL

# RUN: yaml2obj --docnum=2 %s -o %t
# RUN: llvm-objcopy --remove-section=.debug_macro %t
# RUN: llvm-readelf --section-groups %t | FileCheck %s --check-prefix=GROUP-REMOVED

--- !ELF
FileHeader:
  Class:      ELFCLASS64
  Data:       ELFDATA2LSB
  Type:       ET_REL
  Machine:    EM_X86_64
Sections:
  - Name:     .group
    Type:     SHT_GROUP
    Info:     foo_grp
    Members:
      - SectionOrType:  GRP_COMDAT
      - SectionOrType:  .debug_macro
  - Name:     .debug_macro
    Type:     SHT_PROGBITS
    Flags:    [ SHF_GROUP ]
Symbols:
  - Name:     foo_grp
    Section:  .group

# GROUP-REMOVED: There are no section groups in this file.

# RUN: yaml2obj --docnum=3 %s -o %t
# RUN: llvm-objcopy --remove-section=.group %t
# RUN: llvm-readelf --section-groups %t | FileCheck %s --check-prefix=EMPTY-GROUP-REMOVED

--- !ELF
FileHeader:
  Class:      ELFCLASS64
  Data:       ELFDATA2LSB
  Type:       ET_REL
  Machine:    EM_X86_64
Sections:
  - Name:     .group
    Type:     SHT_GROUP
    Info:     foo_grp
    Members:
      - SectionOrType:  GRP_COMDAT
Symbols:
  - Name:     foo_grp
    Section:  .group

# EMPTY-GROUP-REMOVED: There are no section groups in this file.