// File: /workspace/github_cpp_makefile_star2_O3/hzeller[P]gcode-multi-shell-extrude/config-values.cc
// Function: ParameterUsage(char const*)
int ParameterUsage(const char *progname) {
  fprintf(stderr, "usage: %s [options]\n", progname);
  if (!sRegisteredParameters)
    return 1;
  const int kIndentBetweenOptionAndHelp = 26;
  fprintf(stderr, "Synopsis:\n... Long option%*s[short]: <help>\n",
          kIndentBetweenOptionAndHelp - 16, "");
  for (ParamList::const_iterator it = sRegisteredParameters->begin();
       it != sRegisteredParameters->end(); ++it) {
    int indent = kIndentBetweenOptionAndHelp;
    const Parameter *const p = *it;
    if (p->option_name == NULL && p->option_char == 0) {
      // This is a headline.
      fprintf(stderr, "\n[ %s ]\n", p->helptext);
      continue;
    }
    if (p->option_name) {
      fprintf(stderr, "    --%s", p->option_name);
      indent -= strlen(p->option_name);
      if (p->RequiresValue()) {
        fprintf(stderr, " <value>");
        indent -= strlen(" <value>");
      }
    }
    if (p->option_char) indent -=4;
    fprintf(stderr, "%*s", indent, "");
    if (p->option_char) {
      fprintf(stderr, "[-%c]", p->option_char);
    }
    fprintf(stderr, ": %s (default: '%s')\n", p->helptext,
            p->ToString().c_str());
  }
  return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rdx
movq 0x18a47(%rip), %r15     # 0x1bfd8
movq (%r15), %rdi
leaq 0x120a7(%rip), %rsi     # 0x15642
xorl %eax, %eax
callq 0x32c0
cmpq $0x0, 0x18c66(%rip)     # 0x1c210
jne 0x35be
pushq $0x1
popq %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%r15), %rdi
leaq 0x1208f(%rip), %rsi     # 0x15657
leaq 0x11d0b(%rip), %rcx     # 0x152da
pushq $0xa
popq %rdx
xorl %eax, %eax
callq 0x32c0
movq 0x18c30(%rip), %rax     # 0x1c210
movq (%rax), %r12
cmpq 0x8(%rax), %r12
je 0x35ac
leaq 0x120b9(%rip), %r13     # 0x156a9
movq (%r12), %rbp
movq 0x8(%rbp), %rdx
testq %rdx, %rdx
jne 0x3620
cmpb $0x0, 0x10(%rbp)
pushq $0x1a
popq %rax
jne 0x3669
movq (%r15), %rdi
movq 0x18(%rbp), %rdx
leaq 0x12070(%rip), %rsi     # 0x15684
xorl %eax, %eax
callq 0x32c0
jmp 0x36eb
movq (%r15), %rdi
leaq 0x12063(%rip), %rsi     # 0x1568d
xorl %eax, %eax
callq 0x32c0
movq 0x8(%rbp), %rdi
callq 0x30e0
movq %rax, %rbx
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x20(%rax)
testb %al, %al
je 0x3664
movq (%r15), %rcx
leaq 0x12041(%rip), %rdi     # 0x15696
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
callq 0x33d0
pushq $0x12
jmp 0x3666
pushq $0x1a
popq %rax
subl %ebx, %eax
cmpb $0x0, 0x10(%rbp)
leal -0x4(%rax), %edx
cmovel %eax, %edx
movq (%r15), %rdi
leaq 0x12022(%rip), %rsi     # 0x1569f
leaq 0x11c56(%rip), %rcx     # 0x152da
xorl %eax, %eax
callq 0x32c0
movsbl 0x10(%rbp), %edx
testl %edx, %edx
je 0x36a4
movq (%r15), %rdi
leaq 0x12006(%rip), %rsi     # 0x156a3
xorl %eax, %eax
callq 0x32c0
movq (%r15), %rbx
movq 0x18(%rbp), %r14
movq (%rbp), %rax
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq *0x18(%rax)
movq 0x8(%rsp), %rcx
movq %rbx, %rdi
movq %r13, %rsi
movq %r14, %rdx
xorl %eax, %eax
callq 0x32c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x36eb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3220
addq $0x8, %r12
movq 0x18b1a(%rip), %rax     # 0x1c210
cmpq 0x8(%rax), %r12
jne 0x35f0
jmp 0x35ac