#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ write(int, char *, int);
void show_help() {
  write(
      1,
      "Usage: samcms-index [options] [-- <fcgiapp> [fcgi app arguments]]\n"
      "\n"
      "samcms-index v0.1-dev"
      ""
      " - spawns FastCGI processes\n"
      "\n"
      "Options:\n"
      " -a <address>   bind to IPv4/IPv6 address (defaults to 0.0.0.0)\n"
      " -p <port>      bind to TCP-port\n"
      " -s <path>      bind to Unix domain socket\n"
      " -M <mode>      change Unix domain socket mode\n"
      " -F <children>  number of children to fork (default 1)\n"
      " -P <path>      name of PID-file for spawned process (ignored in "
      "no-fork mode)\n"
      " -n             no fork (for daemontools)\n"
      " -v             show version\n"
      " -?, -h         show this help\n"
      "(root only)\n"
      " -u <user>      change to user-id\n"
      " -g <group>     change to group-id (default: primary group of user if "
      "-u\n"
      "                is given)\n"
      " -U <user>      change Unix domain socket owner to user-id\n"
      " -G <group>     change Unix domain socket group to group-id\n",
      sizeof(
          "Usage: samcms-index [options] [-- <fcgiapp> [fcgi app arguments]]\n"
          "\n"
          "samcms-index v0.1-dev"
          ""
          " - spawns FastCGI processes\n"
          "\n"
          "Options:\n"
          " -a <address>   bind to IPv4/IPv6 address (defaults to 0.0.0.0)\n"
          " -p <port>      bind to TCP-port\n"
          " -s <path>      bind to Unix domain socket\n"
          " -M <mode>      change Unix domain socket mode\n"
          " -F <children>  number of children to fork (default 1)\n"
          " -P <path>      name of PID-file for spawned process (ignored in "
          "no-fork mode)\n"
          " -n             no fork (for daemontools)\n"
          " -v             show version\n"
          " -?, -h         show this help\n"
          "(root only)\n"
          " -u <user>      change to user-id\n"
          " -g <group>     change to group-id (default: primary group of user "
          "if -u\n"
          "                is given)\n"
          " -U <user>      change Unix domain socket owner to user-id\n"
          " -G <group>     change Unix domain socket group to group-id\n") -
          1);
}


x86 assembly (clang, -O0):
<show_help>:
push   %rbp
mov    %rsp,%rbp
mov    $0x1,%edi
lea    0xee0(%rip),%rsi
mov    $0x32d,%edx
call   1030 <write@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<show_help>:
lea    0xee9(%rip),%rsi
mov    $0x1,%edi
mov    $0x32d,%edx
jmp    1030 <write@plt>

LLVM IR (-O0):
@.str = [814 x i8] c"Usage: samcms-index [options] [-- <fcgiapp> [fcgi app arguments]]\0A\0Asamcms-index v0.1-dev - spawns FastCGI processes\0A\0AOptions:\0A -a <address> bind to IPv4/IPv6 address (defaults to 0.0.0.0)\0A -p <port> bind to TCP-port\0A -s <path> bind to Unix domain socket\0A -M <mode> change Unix domain socket mode\0A -F <children> number of children to fork (default 1)\0A -P <path> name of PID-file for spawned process (ignored in no-fork mode)\0A -n no fork (for daemontools)\0A -v show version\0A -?, -h show this help\0A(root only)\0A -u <user> change to user-id\0A -g <group> change to group-id (default: primary group of user if -u\0A is given)\0A -U <user> change Unix domain socket owner to user-id\0A -G <group> change Unix domain socket group to group-id\0A\00"
define void @show_help() {
%1 = call i32 @write(i32 1, i8* getelementptr inbounds ([814 x i8], [814 x i8]* @.str, i64 0, i64 0), i32 813)
ret void
}

LLVM IR (-O2):
@.str = [814 x i8] c"Usage: samcms-index [options] [-- <fcgiapp> [fcgi app arguments]]\0A\0Asamcms-index v0.1-dev - spawns FastCGI processes\0A\0AOptions:\0A -a <address> bind to IPv4/IPv6 address (defaults to 0.0.0.0)\0A -p <port> bind to TCP-port\0A -s <path> bind to Unix domain socket\0A -M <mode> change Unix domain socket mode\0A -F <children> number of children to fork (default 1)\0A -P <path> name of PID-file for spawned process (ignored in no-fork mode)\0A -n no fork (for daemontools)\0A -v show version\0A -?, -h show this help\0A(root only)\0A -u <user> change to user-id\0A -g <group> change to group-id (default: primary group of user if -u\0A is given)\0A -U <user> change Unix domain socket owner to user-id\0A -G <group> change Unix domain socket group to group-id\0A\00"
define void @show_help() {
%1 = tail call i32 @write(i32 1, i8* getelementptr inbounds ([814 x i8], [814 x i8]* @.str, i64 0, i64 0), i32 813)
ret void
}