// File: /workspace/github_cpp_makefile_star2_O2/JenTus[P]TCEM/src_TCEM/anyoption.cc
// Function: AnyOption::processCommandArgs()
void
AnyOption::processCommandArgs()
{
   	if( ! ( valueStoreOK() && CommandSet() )  )
	   return;
	   
	if( max_legal_args == 0 )
		max_legal_args = argc;
	new_argv = (int*) malloc( (max_legal_args+1) * sizeof(int) );
	for( int i = 1 ; i < argc ; i++ ){/* ignore first argv */
		if(  argv[i][0] == long_opt_prefix[0] && 
                     argv[i][1] == long_opt_prefix[1] ) { /* long GNU option */
			int match_at = parseGNU( argv[i]+2 ); /* skip -- */
			if( match_at >= 0 && i < argc-1 ) /* found match */
				setValue( options[match_at] , argv[++i] );
		}else if(  argv[i][0] ==  opt_prefix_char ) { /* POSIX char */
			if( POSIX() ){ 
				char ch =  parsePOSIX( argv[i]+1 );/* skip - */ 
				if( ch != '0' && i < argc-1 ) /* matching char */
					setValue( ch ,  argv[++i] );
			} else { /* treat it as GNU option with a - */
				int match_at = parseGNU( argv[i]+1 ); /* skip - */
				if( match_at >= 0 && i < argc-1 ) /* found match */
					setValue( options[match_at] , argv[++i] );
			}
		}else { /* not option but an argument keep index */
			if( new_argc < max_legal_args ){
                                new_argv[ new_argc ] = i ;
                                new_argc++;
                        }else{ /* ignore extra arguments */
                                printVerbose( "Ignoring extra argument: " );
				printVerbose( argv[i] );
				printVerbose( );
				printAutoUsage();
                        }
			printVerbose( "Unknown command argument option : " );
			printVerbose( argv[i] );
			printVerbose( );
			printAutoUsage();
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
callq 0xc762
testb %al, %al
je 0xc93d
cmpb $0x1, 0x98(%rbx)
jne 0xc93d
movl 0x2c(%rbx), %eax
testl %eax, %eax
jne 0xc7f3
movl (%rbx), %eax
movl %eax, 0x2c(%rbx)
cltq
leaq 0x4(,%rax,4), %rdi
callq 0x33e0
movq %rax, 0x20(%rbx)
pushq $0x1
popq %rbp
leaq 0x2014(%rip), %r14      # 0xe824
leaq 0x1ff3(%rip), %r15      # 0xe80a
cmpl (%rbx), %ebp
jge 0xc93d
movq 0x8(%rbx), %rax
movslq %ebp, %r12
movq (%rax,%r12,8), %rsi
movb (%rsi), %al
cmpb 0xa0(%rbx), %al
jne 0xc845
movb 0x1(%rsi), %cl
cmpb 0xa1(%rbx), %cl
jne 0xc845
addq $0x2, %rsi
jmp 0xc890
cmpb 0x9f(%rbx), %al
jne 0xc8cb
incq %rsi
cmpb $0x1, 0x9b(%rbx)
jne 0xc890
movq %rbx, %rdi
callq 0xcb16
cmpb $0x30, %al
je 0xc936
movl (%rbx), %ecx
decl %ecx
cmpl %ecx, %ebp
jge 0xc936
movq 0x8(%rbx), %rcx
incl %ebp
movq 0x8(%rcx,%r12,8), %rdx
movsbl %al, %esi
movq %rbx, %rdi
callq 0xcbda
jmp 0xc936
movq %rbx, %rdi
callq 0xc978
testl %eax, %eax
js 0xc936
movl (%rbx), %ecx
decl %ecx
cmpl %ecx, %ebp
jge 0xc936
movq 0x8(%rbx), %rcx
movq 0x38(%rbx), %rdx
movl %eax, %eax
movq (%rdx,%rax,8), %rsi
incl %ebp
movq 0x8(%rcx,%r12,8), %rdx
movq %rbx, %rdi
callq 0xca68
jmp 0xc936
movslq 0x28(%rbx), %rax
cmpl 0x2c(%rbx), %eax
jge 0xc8e0
movq 0x20(%rbx), %rcx
movl %ebp, (%rcx,%rax,4)
incl 0x28(%rbx)
jmp 0xc90b
movq %rbx, %rdi
movq %r15, %rsi
callq 0xc2ea
movq 0x8(%rbx), %rax
movq (%rax,%r12,8), %rsi
movq %rbx, %rdi
callq 0xc300
movq %rbx, %rdi
callq 0xc2d4
movq %rbx, %rdi
callq 0xcc6a
movq %rbx, %rdi
movq %r14, %rsi
callq 0xc2ea
movq 0x8(%rbx), %rax
movq (%rax,%r12,8), %rsi
movq %rbx, %rdi
callq 0xc300
movq %rbx, %rdi
callq 0xc2d4
movq %rbx, %rdi
callq 0xcc6a
incl %ebp
jmp 0xc817
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq