# fasynchronous-unwind-tables

Determines whether unwind information is precise at an instruction boundary or at a call boundary.

## Syntax

Linux: | -fasynchronous-unwind-tables -fno-asynchronous-unwind-tables

macOS: | -fasynchronous-unwind-tables -fno-asynchronous-unwind-tables

Windows: | None

## Arguments

None

## Default

Intel® 64 architecture: -fasynchronous-unwind-tables | The unwind table generated is precise at an instruction boundary, enabling accurate unwinding at any instruction.
IA-32 architecture (Linux* only): -fno-asynchronous-unwind-tables | The unwind table generated is precise at call boundaries only.

## Description

This option determines whether unwind information is precise at an instruction boundary or at a call boundary. The compiler generates an unwind table in DWARF2 or DWARF3 format, depending on which format is supported on your system.

If -fno-asynchronous-unwind-tables is specified, the unwind table is precise at call boundaries only. In this case, the compiler will avoid creating unwind tables for routines such as the following:

- A C++ routine that does not declare objects with destructors and does not contain calls to routines that might throw an exception.

- A C/C++ or Fortran routine compiled without -fexceptions, and on Intel® 64 architecture, without -traceback.

- A C/C++ or Fortran routine compiled with -fexceptions that does not contain calls to routines that might throw an exception.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Code Generation Options

## See Also

fexceptions compiler option