#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*/ printf(char *, char *);
void help(void) {
  printf("\n Build Configuration Adjust, version: %s\n"
         " [single source file distribution edition]\n"
         " Licensed under the terms of GNU GPLv3.\n"
         " See https://github.com/ctstover/Build-Configuration-Adjust for more "
         "information.\n"
         "\nusage:\n"
         " --version\n"
         " --showvalue key\n"
         " --setvalue key newvalue\n"
         " --newvalue key newvalue\n"
         " --addvalue key additionalvalue\n"
         " --pullvalue key valuetoremove\n"
         " --removevalue key\n"
         " --checkvalue key\n"
         " --smartaddvalue key additionalvalue\n"
         " --smartpullvalue key sansvalue\n"
         " --host host (defaults to NATIVE)\n"
         " --component component (defaults to MAIN)\n"
         " --type type (defaults to BINARY)\n"
         " --build (print & manipulate values from build configuration) "
         "(default)\n"
         " --project (print & manipulate values from project configuration)\n"
         " --generate-gmakefile\n"
         " --configure\n"
         " --listbuildhosts\n"
         " --listprojectcomponents\n"
         " --componentoutputnames\n"
         " --componentbuildoutputnames\n"
         " --componentinstallnames\n"
         " --componeneffectivenames\n"
         " --newproject \"project name\"\n"
         " --swap-* host\n"
         " --buildprefix=BUILD_PREFIX\n"
         "\n"
         " --concatenate file list\n"
         " --replacestrings\n"
         " --file-to-C-source input-file\n"
         " --inputfiles \"file list\"\n"
         "\n If you are just trying to run ./configure and have no idea what "
         "is going on,\n"
         " some of the autoconf compatibility options are:\n"
         " --prefix=INSTALL_PREFIX\n"
         " --host=HOST\n"
         " --help=short\n"
         " --without-*\n"
         " --disable-*\n"
         " --enable-*\n"
         " Some of the autoconf compatibility environment variables are:"
         " CC, and PKG_CONFIG_PATH\n"
         "\n Copyright © 2015 C. Thomas Stover.\n"
         " Copyright © 2012,2013,2014 Stover Enterprises, LLC (an Alabama "
         "Limited Liability Corporation).\n"
         " All rights reserved.\n"
         "\n",
         "0.5-6-gc985cb7-dirty");
}


x86 assembly (clang, -O0):
<help>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0x14d7(%rip),%rsi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<help>:
lea    0xee9(%rip),%rdi
lea    0x14db(%rip),%rsi
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [1529 x i8] c"\0A Build Configuration Adjust, version: %s\0A [single source file distribution edition]\0A Licensed under the terms of GNU GPLv3.\0A See https://github.com/ctstover/Build-Configuration-Adjust for more information.\0A\0Ausage:\0A --version\0A --showvalue key\0A --setvalue key newvalue\0A --newvalue key newvalue\0A --addvalue key additionalvalue\0A --pullvalue key valuetoremove\0A --removevalue key\0A --checkvalue key\0A --smartaddvalue key additionalvalue\0A --smartpullvalue key sansvalue\0A --host host (defaults to NATIVE)\0A --component component (defaults to MAIN)\0A --type type (defaults to BINARY)\0A --build (print & manipulate values from build configuration) (default)\0A --project (print & manipulate values from project configuration)\0A --generate-gmakefile\0A --configure\0A --listbuildhosts\0A --listprojectcomponents\0A --componentoutputnames\0A --componentbuildoutputnames\0A --componentinstallnames\0A --componeneffectivenames\0A --newproject \22project name\22\0A --swap-* host\0A --buildprefix=BUILD_PREFIX\0A\0A --concatenate file list\0A --replacestrings\0A --file-to-C-source input-file\0A --inputfiles \22file list\22\0A\0A If you are just trying to run ./configure and have no idea what is going on,\0A some of the autoconf compatibility options are:\0A --prefix=INSTALL_PREFIX\0A --host=HOST\0A --help=short\0A --without-*\0A --disable-*\0A --enable-*\0A Some of the autoconf compatibility environment variables are: CC, and PKG_CONFIG_PATH\0A\0A Copyright \C2\A9 2015 C. Thomas Stover.\0A Copyright \C2\A9 2012,2013,2014 Stover Enterprises, LLC (an Alabama Limited Liability Corporation).\0A All rights reserved.\0A\0A\00"
@.str.1 = [21 x i8] c"0.5-6-gc985cb7-dirty\00"
define void @help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1529 x i8], [1529 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1529 x i8] c"\0A Build Configuration Adjust, version: %s\0A [single source file distribution edition]\0A Licensed under the terms of GNU GPLv3.\0A See https://github.com/ctstover/Build-Configuration-Adjust for more information.\0A\0Ausage:\0A --version\0A --showvalue key\0A --setvalue key newvalue\0A --newvalue key newvalue\0A --addvalue key additionalvalue\0A --pullvalue key valuetoremove\0A --removevalue key\0A --checkvalue key\0A --smartaddvalue key additionalvalue\0A --smartpullvalue key sansvalue\0A --host host (defaults to NATIVE)\0A --component component (defaults to MAIN)\0A --type type (defaults to BINARY)\0A --build (print & manipulate values from build configuration) (default)\0A --project (print & manipulate values from project configuration)\0A --generate-gmakefile\0A --configure\0A --listbuildhosts\0A --listprojectcomponents\0A --componentoutputnames\0A --componentbuildoutputnames\0A --componentinstallnames\0A --componeneffectivenames\0A --newproject \22project name\22\0A --swap-* host\0A --buildprefix=BUILD_PREFIX\0A\0A --concatenate file list\0A --replacestrings\0A --file-to-C-source input-file\0A --inputfiles \22file list\22\0A\0A If you are just trying to run ./configure and have no idea what is going on,\0A some of the autoconf compatibility options are:\0A --prefix=INSTALL_PREFIX\0A --host=HOST\0A --help=short\0A --without-*\0A --disable-*\0A --enable-*\0A Some of the autoconf compatibility environment variables are: CC, and PKG_CONFIG_PATH\0A\0A Copyright \C2\A9 2015 C. Thomas Stover.\0A Copyright \C2\A9 2012,2013,2014 Stover Enterprises, LLC (an Alabama Limited Liability Corporation).\0A All rights reserved.\0A\0A\00"
@.str.1 = [21 x i8] c"0.5-6-gc985cb7-dirty\00"
define void @help() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([1529 x i8], [1529 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.1, i64 0, i64 0))
ret void
}