(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:args_orig) op:Equal rhs:{($ VSub_At "$@")} spids:[126])] spids: [126] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(DQ ("-nologo -W3"))} spids:[129])] spids: [129] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:static_crt) op:Equal rhs:{(SQ )} spids:[134])] spids: [134] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:debug_crt) op:Equal rhs:{(SQ )} spids:[136])] spids: [136] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cl) op:Equal rhs:{(DQ (cl))} spids:[138])] spids: [138] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ml) op:Equal rhs:{(DQ (ml))} spids:[143])] spids: [143] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:safeseh) op:Equal rhs:{(DQ (-safeseh))} spids:[148])] spids: [148] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(SQ )} spids:[153])] spids: [153] ) (While cond: [(C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-gt)} {(0)} {(Lit_Other "]")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(-fexceptions)}] action: [(C {(shift)} {(1)})] spids: [179 180 196 -1] ) (case_arm pat_list: [{(-m32)}] action: [(C {(shift)} {(1)})] spids: [199 200 208 -1] ) (case_arm pat_list: [{(-m64)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ml) op: Equal rhs: {(DQ (ml64))} spids: [215] ) ] spids: [215] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:safeseh) op: Equal rhs: {(SQ )} spids: [224] ) ] spids: [224] ) (C {(shift)} {(1)}) ] spids: [211 212 232 -1] ) (case_arm pat_list: [{(-clang-cl)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cl) op: Equal rhs: {(DQ (clang-cl))} spids: [239] ) ] spids: [239] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:safeseh) op: Equal rhs: {(SQ )} spids: [245] ) ] spids: [245] ) (C {(shift)} {(1)}) ] spids: [235 236 253 -1] ) (case_arm pat_list: [{(-O0)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -Od"))} spids: [260] ) ] spids: [260] ) (C {(shift)} {(1)}) ] spids: [256 257 272 -1] ) (case_arm pat_list: [{(-O) (Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Name "$args_orig")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (-DFFI_DEBUG) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args"))} spids: [309] ) ] spids: [309] ) ] spids: [303 306 315 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(-O3)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -O2"))} spids: [349] ) ] spids: [349] ) ] spids: [345 346 356 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" ") ($ VSub_Number "$1"))} spids: [363] ) ] spids: [363] ) ] spids: [359 360 371 -1] ) ] spids: [338 342 374] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: {(DQ (true))} spids: [377] ) ] spids: [377] ) ] spids: [318 319 383 -1] ) ] spids: [296 300 386] ) (C {(shift)} {(1)}) ] spids: [275 277 394 -1] ) (case_arm pat_list: [{(-g)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -Zi"))} spids: [405] ) ] spids: [405] ) (C {(shift)} {(1)}) ] spids: [397 398 417 -1] ) (case_arm pat_list: [{(-DFFI_DEBUG)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -RTC1"))} spids: [428] ) ] spids: [428] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defines) op: Equal rhs: {(DQ ($ VSub_Name "$defines") (" ") ($ VSub_Number "$1"))} spids: [435] ) ] spids: [435] ) (C {(shift)} {(1)}) ] spids: [420 421 448 -1] ) (case_arm pat_list: [{(-DUSE_STATIC_RTL)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:static_crt) op: Equal rhs: {(1)} spids: [459] ) ] spids: [459] ) (C {(shift)} {(1)}) ] spids: [451 452 468 -1] ) (case_arm pat_list: [{(-DUSE_DEBUG_RTL)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:debug_crt) op: Equal rhs: {(1)} spids: [479] ) ] spids: [479] ) (C {(shift)} {(1)}) ] spids: [471 472 488 -1] ) (case_arm pat_list: [{(-c)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -c"))} spids: [495] ) ] spids: [495] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$args")}) (C {(sed)} {(SQ <"s%/Fe%/Fo%g">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [504 516] ) ) } spids: [502] ) ] spids: [502] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:single) op: Equal rhs: {(DQ (-c))} spids: [520] ) ] spids: [520] ) (C {(shift)} {(1)}) ] spids: [491 492 531 -1] ) (case_arm pat_list: [{(-D) (Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number "$1")}) (C {(sed)} {(SQ <"s/-D\\([^=][^=]*\\)=.*/\\1/g">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [543 553] ) ) } spids: [541] ) ] spids: [541] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:value) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number "$1")}) (C {(sed)} {(SQ <"s/-D[^=][^=]*=//g">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [559 569] ) ) } spids: [557] ) ] spids: [557] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ ($ VSub_Name "$args") (" -D") (${ VSub_Name name) ("='") ($ VSub_Name "$value") ("'") ) } spids: [573] ) ] spids: [573] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defines) op: Equal rhs: { (DQ ($ VSub_Name "$defines") (" -D") (${ VSub_Name name) ("='") ($ VSub_Name "$value") ("'") ) } spids: [586] ) ] spids: [586] ) (C {(shift)} {(1)}) ] spids: [534 538 604 -1] ) (case_arm pat_list: [{(-D) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" ") ($ VSub_Number "$1"))} spids: [612] ) ] spids: [612] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defines) op: Equal rhs: {(DQ ($ VSub_Name "$defines") (" ") ($ VSub_Number "$1"))} spids: [620] ) ] spids: [620] ) (C {(shift)} {(1)}) ] spids: [607 609 633 -1] ) (case_arm pat_list: [{(-I)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -I") ($ VSub_Number "$2"))} spids: [640] ) ] spids: [640] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:includes) op: Equal rhs: {(DQ ($ VSub_Name "$includes") (" -I") ($ VSub_Number "$2"))} spids: [648] ) ] spids: [648] ) (C {(shift)} {(2)}) ] spids: [636 637 661 -1] ) (case_arm pat_list: [{(-I) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" ") ($ VSub_Number "$1"))} spids: [669] ) ] spids: [669] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:includes) op: Equal rhs: {(DQ ($ VSub_Name "$includes") (" ") ($ VSub_Number "$1"))} spids: [677] ) ] spids: [677] ) (C {(shift)} {(1)}) ] spids: [664 666 690 -1] ) (case_arm pat_list: [{(-W)} {(-Wextra)}] action: [(C {(shift)} {(1)})] spids: [693 696 708 -1] ) (case_arm pat_list: [{(-Wall)}] action: [(C {(shift)} {(1)})] spids: [711 712 728 -1] ) (case_arm pat_list: [{(-pedantic)}] action: [(C {(shift)} {(1)})] spids: [731 732 744 -1] ) (case_arm pat_list: [{(-Werror)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -WX"))} spids: [751] ) ] spids: [751] ) (C {(shift)} {(1)}) ] spids: [747 748 763 -1] ) (case_arm pat_list: [{(-W) (Lit_Other "*")}] action: [(C {(shift)} {(1)})] spids: [766 768 780 -1] ) (case_arm pat_list: [{(-S)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -FAs"))} spids: [787] ) ] spids: [787] ) (C {(shift)} {(1)}) ] spids: [783 784 799 -1] ) (case_arm pat_list: [{(-o)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:outdir) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Number "$2")})] ) left_token: <Left_CommandSub "$("> spids: [808 812] ) ) } spids: [806] ) ] spids: [806] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(basename)} {($ VSub_Number "$2")}) (C {(sed)} {(SQ <"s/\\.[^.]*//g">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [818 828] ) ) } spids: [816] ) ] spids: [816] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$single"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(DQ (-Fo) ($ VSub_Number "$2"))} spids: [849] ) ] spids: [849] ) ] spids: [-1 845] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(DQ (-Fe) ($ VSub_Number "$2"))} spids: [859] ) ] spids: [859] ) ] spids: [856 866] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$assembly"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" ") ($ VSub_Name "$output"))} spids: [885] ) ] spids: [885] ) ] spids: [-1 882] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ ($ VSub_Name "$args") (" ") ($ VSub_Name "$output") (" -Fd") ($ VSub_Name "$outdir") (/) ($ VSub_Name "$base") (" -Fp") ($ VSub_Name "$outdir") (/) ($ VSub_Name "$base") (" -Fa") ($ VSub_Name "$outdir") (/) ($ VSub_Name "$base") ) } spids: [896] ) ] spids: [896] ) ] spids: [893 916] ) (C {(shift)} {(2)}) ] spids: [802 803 924 -1] ) (case_arm pat_list: [{(Lit_Other "*") (.S)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {($ VSub_Number "$1")} spids: [932] ) ] spids: [932] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:assembly) op: Equal rhs: {(DQ (true))} spids: [936] ) ] spids: [936] ) (C {(shift)} {(1)}) ] spids: [927 929 947 -1] ) (case_arm pat_list: [{(Lit_Other "*") (.c)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" ") ($ VSub_Number "$1"))} spids: [955] ) ] spids: [955] ) (C {(shift)} {(1)}) ] spids: [950 952 968 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" ") ($ VSub_Number "$1"))} spids: [979] ) ] spids: [979] ) (C {(shift)} {(1)}) ] spids: [971 972 992 -1] ) ] spids: [171 176 995] ) ] spids: [168 997] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$opt"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$args") (" -link -OPT:REF -OPT:ICF -INCREMENTAL:NO"))} spids: [1025] ) ] spids: [1025] ) ] spids: [-1 1022] ) ] spids: [-1 1031] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$static_crt"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:md) op:Equal rhs:{(-MT)} spids:[1050])] spids: [1050] ) ] spids: [-1 1047] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:md) op:Equal rhs:{(-MD)} spids:[1056])] spids: [1056] ) ] spids: [1053 1059] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$debug_crt"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md) op: Equal rhs: {(DQ (${ VSub_Name md) (d))} spids: [1078] ) ] spids: [1078] ) ] spids: [-1 1075] ) ] spids: [-1 1086] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$assembly"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$outdir"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:outdir) op: Equal rhs: {(DQ (.))} spids: [1121] ) ] spids: [1121] ) ] spids: [-1 1118] ) ] spids: [-1 1127] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ppsrc) op: Equal rhs: { (DQ ($ VSub_Name "$outdir") (/) (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(basename)} {($ VSub_Name "$src")}) (C {(sed)} {(SQ <"s/.S$/.asm/g">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [1134 1144] ) ) } spids: [1130] ) ] spids: [1130] ) (C {(echo)} { (DQ ($ VSub_Name "$cl") (" -nologo -EP ") ($ VSub_Name "$includes") (" ") ($ VSub_Name "$defines") (" ") ($ VSub_Name "$src") (" > ") ($ VSub_Name "$ppsrc") ) } ) (AndOr children: [ (SimpleCommand words: [ {(DQ ($ VSub_Name "$cl"))} {(-nologo)} {(-EP)} {($ VSub_Name "$includes")} {($ VSub_Name "$defines")} {($ VSub_Name "$src")} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$ppsrc")} spids: [1177] ) ] ) (C {(exit)} {($ VSub_QMark "$?")}) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$output")}) (C {(sed)} {(SQ <"s%/F[dpa][^ ]*%%g">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [1190 1202] ) ) } spids: [1188] ) ] spids: [1188] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ ("-nologo ") ($ VSub_Name "$safeseh") (" ") ($ VSub_Name "$single") (" ") ($ VSub_Name "$output") (" ") ($ VSub_Name "$ppsrc") ) } spids: [1206] ) ] spids: [1206] ) (C {(echo)} {(DQ ($ VSub_Name "$ml") (" ") ($ VSub_Name "$args"))}) (C {(eval)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$ml") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") ($ VSub_Name "$args") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {($ VSub_QMark "$?")} spids: [1240] ) ] spids: [1240] ) ] spids: [-1 1102] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Name "$md") (" ") ($ VSub_Name "$args"))} spids: [1255] ) ] spids: [1255] ) (C {(echo)} {(DQ ($ VSub_Name "$cl") (" ") ($ VSub_Name "$args"))}) (C {(eval)} { (DQ ("(") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$cl") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") ($ VSub_Name "$args") (" 2>&1 1>&3 | ") (" awk '{print ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0} /D9002/ {error=1} END{exit error}' >&2) 3>&1") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {($ VSub_QMark "$?")} spids: [1297] ) ] spids: [1297] ) ] spids: [1252 1300] ) (C {(exit)} {($ VSub_Name "$result")}) ] )