1 /* Utility functions used by tools like collect2 and lto-wrapper. 2 Copyright (C) 2009-2022 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 */ 52