// File: /workspace/github_cpp_makefile_star2_O3/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 0xf306
testb %al, %al
je 0xf4fb
cmpb $0x1, 0x98(%rbx)
jne 0xf4fb
movl (%rbx), %ebp
movl 0x2c(%rbx), %eax
testl %eax, %eax
jne 0xf399
movl %ebp, 0x2c(%rbx)
movl %ebp, %eax
cltq
leaq 0x4(,%rax,4), %rdi
callq 0x3400
movq %rax, 0x20(%rbx)
cmpl $0x2, %ebp
jl 0xf4fb
movl $0x1, %ebp
leaq 0x34c3(%rip), %r14      # 0x12884
leaq 0x34a2(%rip), %r15      # 0x1286a
movq 0x8(%rbx), %rax
movslq %ebp, %r12
movq (%rax,%r12,8), %rsi
movb (%rsi), %al
cmpb 0xa0(%rbx), %al
jne 0xf3ee
movb 0x1(%rsi), %cl
cmpb 0xa1(%rbx), %cl
jne 0xf3ee
addq $0x2, %rsi
jmp 0xf439
cmpb 0x9f(%rbx), %al
jne 0xf474
incq %rsi
cmpb $0x1, 0x9b(%rbx)
jne 0xf439
movq %rbx, %rdi
callq 0xf6e4
cmpb $0x30, %al
je 0xf4f1
movl (%rbx), %ecx
decl %ecx
cmpl %ecx, %ebp
jge 0xf4f1
movq 0x8(%rbx), %rcx
incl %ebp
movq 0x8(%rcx,%r12,8), %rdx
movsbl %al, %esi
movq %rbx, %rdi
callq 0xf7ba
jmp 0xf4f1
movq %rbx, %rdi
callq 0xf55a
testl %eax, %eax
js 0xf4f1
movl (%rbx), %ecx
decl %ecx
cmpl %ecx, %ebp
jge 0xf4f1
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 0xf650
jmp 0xf4f1
movslq 0x28(%rbx), %rax
cmpl 0x2c(%rbx), %eax
jge 0xf489
movq 0x20(%rbx), %rcx
movl %ebp, (%rcx,%rax,4)
incl 0x28(%rbx)
jmp 0xf4bd
movq %rbx, %rdi
movq %r15, %rsi
callq 0xedb0
movq 0x8(%rbx), %rax
movq (%rax,%r12,8), %rsi
movq %rbx, %rdi
callq 0xedfe
movq %rbx, %rdi
callq 0xed76
cmpb $0x1, 0xad(%rbx)
jne 0xf4bd
movq %rbx, %rdi
callq 0x102fa
movq %rbx, %rdi
movq %r14, %rsi
callq 0xedb0
movq 0x8(%rbx), %rax
movq (%rax,%r12,8), %rsi
movq %rbx, %rdi
callq 0xedfe
movq %rbx, %rdi
callq 0xed76
cmpb $0x1, 0xad(%rbx)
jne 0xf4f1
movq %rbx, %rdi
callq 0x102fa
incl %ebp
cmpl (%rbx), %ebp
jl 0xf3c8
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq