Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


DWARF_UNDEF_MACRO(3)       Library Functions Manual       DWARF_UNDEF_MACRO(3)

NAME
     dwarf_undef_macro - record the removal of a macro definition

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_undef_macro(Dwarf_P_Debug dbg, Dwarf_Unsigned lineno, char *name,
         Dwarf_Error *err);

DESCRIPTION
     Function dwarf_undef_macro() records the removal of a macro definition in
     a DWARF producer instance.

     Argument dbg should reference a DWARF producer instance allocated using
     dwarf_producer_init(3) or dwarf_producer_init_b(3).

     Argument lineno specifies the line number of the source line where the
     macro definition was removed.  A value of zero indicates that the macro
     definition was removed before any source files were read.

     Argument name should point to a NUL-terminated string containing the name
     of the macro.

     If argument err is not NULL, it will be used to store error information
     in case of an error.

RETURN VALUES
     On success, function dwarf_undef_macro() returns DW_DLV_OK.  In case of
     an error, function dwarf_undef_macro() returns DW_DLV_ERROR and sets the
     argument err.

EXAMPLES
     To record the fact that the macro named _STDIO_H_ was removed at line 220
     of the current macro file, use:

           Dwarf_P_Debug dbg;
           Dwarf_Error de;

           /* ... Assume 'dbg' refers to a DWARF producer instance... */
           if (dwarf_undef_macro(dbg, 220, "_STDIO_H_", &de) != DW_DLV_OK)
                   errx(EXIT_FAILURE, "dwarf_def_macro failed: %s",
                       dwarf_errmsg(-1));

ERRORS
     Function dwarf_undef_macro() can fail with:

     [DW_DLE_ARGUMENT]       Either arguments dbg or name was NULL.

     [DW_DLE_MEMORY]         An out of memory condition was encountered during
                             the execution of the function.

SEE ALSO
     dwarf(3), dwarf_def_macro(3), dwarf_end_macro_file(3),
     dwarf_producer_init(3), dwarf_producer_init_b(3),
     dwarf_start_macro_file(3), dwarf_vendor_ext(3)

NetBSD 10.99                   November 9, 2011                   NetBSD 10.99