libFirm

These functions allow printing of formated strings with support for printing firm objects in a human readable form. More...

Functions

int ir_printf (const char *fmt,...)
 A string formatting routine for ir objects. More...
 
int ir_fprintf (FILE *f, const char *fmt,...)
 
int ir_snprintf (char *buf, size_t n, const char *fmt,...)
 
int ir_vprintf (const char *fmt, va_list args)
 
int ir_vfprintf (FILE *f, const char *fmt, va_list args)
 
int ir_vsnprintf (char *buf, size_t len, const char *fmt, va_list args)
 
int ir_obst_vprintf (struct obstack *obst, const char *fmt, va_list args)
 
int tarval_snprintf (char *buf, size_t buflen, ir_tarval const *tv)
 Output a tarval in human readable format to a string buffer. More...
 

Detailed Description

These functions allow printing of formated strings with support for printing firm objects in a human readable form.

Function Documentation

◆ ir_fprintf()

int ir_fprintf ( FILE *  f,
const char *  fmt,
  ... 
)
See also
ir_printf.

◆ ir_obst_vprintf()

int ir_obst_vprintf ( struct obstack *  obst,
const char *  fmt,
va_list  args 
)
See also
ir_printf.

◆ ir_printf()

int ir_printf ( const char *  fmt,
  ... 
)

A string formatting routine for ir objects.

Parameters
fmtThe format string.

This function rudimentary implements a kind of printf(3) for ir nodes and adds the following additional conversion specifiers.

  • %t A type name.
  • %e An entity name.
  • %E An entity ld name.
  • %T A tarval.
  • %n A full description of a node.
  • %O The opcode name of an ir node.
  • %N The node number of an ir node.
  • %m The mode name of an ir mode.
  • %B The block node number of the nodes block.
  • %I An ident.
  • %D Print as many white spaces as given in the parameter.
  • %G A debug info (if available) from the given ir node.
  • %B A bitset.
  • %F A Firm object (automatically detected).

◆ ir_snprintf()

int ir_snprintf ( char *  buf,
size_t  n,
const char *  fmt,
  ... 
)
See also
ir_printf.

◆ ir_vfprintf()

int ir_vfprintf ( FILE *  f,
const char *  fmt,
va_list  args 
)
See also
ir_printf.

◆ ir_vprintf()

int ir_vprintf ( const char *  fmt,
va_list  args 
)
See also
ir_printf.

◆ ir_vsnprintf()

int ir_vsnprintf ( char *  buf,
size_t  len,
const char *  fmt,
va_list  args 
)
See also
ir_printf.

◆ tarval_snprintf()

int tarval_snprintf ( char *  buf,
size_t  buflen,
ir_tarval const *  tv 
)

Output a tarval in human readable format to a string buffer.

This function is meant for debugging purposes, the string is formated in a way easily understandable for humans. You should not use this for storage or output for other tools (like assemblers), use get_tarval_sub_bits() for these cases.

The final string in "buf" is guaranteed to be zero-terminated (if buflen is at least 1).

Parameters
bufthe output buffer
buflenthe length of the buffer
tvthe tarval