# ffunction-sections, Gy

Places each function in its own COMDAT section.

## Syntax

Linux: | -ffunction-sections

macOS: | -ffunction-sections

Windows: | /Gy

## Arguments

None

## Default

OFF | The compiler does not separate functions into COMDATs.

## Description

This option places each function in its own COMDAT section.

When using this compiler option, you can add the linker option -Wl,--gc-sections (LInux) or /link /OPT:REF (Windows), which will remove all unused code.

### Note

When you put each function in its own section, it enables the linker to reorder the sections for other possible optimization.

## IDE Equivalent

Visual Studio: Code Generation > Enable Function-Level Linking

Eclipse: None

Xcode: None

## Alternate Options

None

Parent topic: Code Generation Options

## See Also

fdata-sections, Gw compiler option