1  /* Utility functions used by tools like collect2 and lto-wrapper.
       2     Copyright (C) 2009-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify it under
       7  the terms of the GNU General Public License as published by the Free
       8  Software Foundation; either version 3, or (at your option) any later
       9  version.
      10  
      11  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      12  WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14  for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef GCC_COLLECT_UTILS_H
      21  #define GCC_COLLECT_UTILS_H
      22  
      23  /* Provided in collect-utils.cc.  */
      24  extern void notice (const char *, ...)
      25    __attribute__ ((format (printf, 1, 2)));
      26  extern void fatal_signal (int);
      27  extern void setup_signals (void);
      28  
      29  extern struct pex_obj *collect_execute (const char *, char **,
      30  					const char *, const char *,
      31  					int, bool, const char *);
      32  extern int collect_wait (const char *, struct pex_obj *);
      33  extern void do_wait (const char *, struct pex_obj *);
      34  extern void fork_execute (const char *, char **, bool, const char *);
      35  extern void utils_cleanup (bool);
      36  
      37  
      38  extern bool debug;
      39  extern bool verbose;
      40  extern bool save_temps;
      41  extern const char *dumppfx;
      42  
      43  /* Provided by the tool itself.  */
      44  
      45  /* The name of the tool, printed in error messages.  */
      46  extern const char tool_name[];
      47  /* Called by utils_cleanup.  */
      48  extern void tool_cleanup (bool);
      49  extern void maybe_unlink (const char *);
      50  
      51  #endif /* GCC_COLLECT_UTILS_H */