Developer Guide and Reference

Contents

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 rou