1 /* Utility functions used by tools like collect2 and lto-wrapper. 2 Copyright (C) 2009-2018 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.c. */ 24 extern void notice (const char *, ...) 25 __attribute__ ((format (printf, 1, 2))); 26 extern void fatal_signal (int); 27 28 extern struct pex_obj *collect_execute (const char *, char **, 29 const char *, const char *, 30 int, bool); 31 extern int collect_wait (const char *, struct pex_obj *); 32 extern void do_wait (const char *, struct pex_obj *); 33 extern void fork_execute (const char *, char **, bool); 34 extern void utils_cleanup (bool); 35 36 37 extern bool debug; 38 extern bool verbose; 39 extern bool save_temps; 40 41 /* Provided by the tool itself. */ 42 43 /* The name of the tool, printed in error messages. */ 44 extern const char tool_name[]; 45 /* Called by utils_cleanup. */ 46 extern void tool_cleanup (bool); 47 extern void maybe_unlink (const char *); 48 49 #endif /* GCC_COLLECT_UTILS_H */ 50