// File: /workspace/github_cpp_makefile_star2_O1/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 0x18a4e(%rip), %r15     # 0x1bfd8
movq (%r15), %rdi
leaq 0x1204e(%rip), %rsi     # 0x155e2
xorl %eax, %eax
callq 0x32c0
cmpq $0x0, 0x18c6d(%rip)     # 0x1c210
jne 0x35b7
pushq $0x1
popq %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%r15), %rdi
leaq 0x12036(%rip), %rsi     # 0x155f7
leaq 0x11cb2(%rip), %rcx     # 0x1527a
pushq $0xa
popq %rdx
xorl %eax, %eax
callq 0x32c0
movq 0x18c37(%rip), %rax     # 0x1c210
movq (%rax), %r12
cmpq 0x8(%rax), %r12
je 0x35a5
leaq 0x12060(%rip), %r13     # 0x15649
movq (%r12), %rbp
movq 0x8(%rbp), %rdx
testq %rdx, %rdx
jne 0x361e
cmpb $0x0, 0x10(%rbp)
jne 0x3616
movq (%r15), %rdi
movq 0x18(%rbp), %rdx
leaq 0x1201a(%rip), %rsi     # 0x15624
xorl %eax, %eax
callq 0x32c0
jmp 0x36e9
pushq $0x1a
popq %rax
testq %rdx, %rdx
je 0x3667
movq (%r15), %rdi
leaq 0x12005(%rip), %rsi     # 0x1562d
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 0x3662
movq (%r15), %rcx
leaq 0x11fe3(%rip), %rdi     # 0x15636
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
callq 0x33d0
pushq $0x12
jmp 0x3664
pushq $0x1a
popq %rax
subl %ebx, %eax
cmpb $0x0, 0x10(%rbp)
leal -0x4(%rax), %edx
cmovel %eax, %edx
movq (%r15), %rdi
leaq 0x11fc4(%rip), %rsi     # 0x1563f
leaq 0x11bf8(%rip), %rcx     # 0x1527a
xorl %eax, %eax
callq 0x32c0
movsbl 0x10(%rbp), %edx
testl %edx, %edx
je 0x36a2
movq (%r15), %rdi
leaq 0x11fa8(%rip), %rsi     # 0x15643
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 0x36e9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3220
addq $0x8, %r12
movq 0x18b1c(%rip), %rax     # 0x1c210
cmpq 0x8(%rax), %r12
jne 0x35e9
jmp 0x35a5