1 //===-- llvm/Support/ExitCodes.h - Exit codes for exit()  -------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 ///
9 /// \file
10 /// This file contains definitions of exit codes for exit() function. They are
11 /// either defined by sysexits.h if it is supported, or defined here if
12 /// sysexits.h is not supported.
13 ///
14 //===----------------------------------------------------------------------===//
15 
16 #ifndef LLVM_SUPPORT_EXITCODES_H
17 #define LLVM_SUPPORT_EXITCODES_H
18 
19 #include "llvm/Config/llvm-config.h"
20 
21 #if HAVE_SYSEXITS_H
22 #include <sysexits.h>
23 #elif __MVS__ || defined(_WIN32)
24 // <sysexits.h> does not exist on z/OS and Windows. The only value used in LLVM
25 // is EX_IOERR, which is used to signal a special error condition (broken pipe).
26 // Define the macro with its usual value from BSD systems, which is chosen to
27 // not clash with more standard exit codes like 1.
28 #define EX_IOERR 74
29 #elif LLVM_ON_UNIX
30 #error Exit code EX_IOERR not available
31 #endif
32 
33 #endif
34