(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcversion) op: assign_op.Equal rhs: {(SQ <'$MirOS: src/bin/mksh/Build.sh,v 1.697 2016/03/04 18:28:39 tg Exp $'>)} spids: [3] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LC_ALL) op: assign_op.Equal rhs: {<C>} spids: [81] ) ] ) (C {<export>} {<LC_ALL>}) (command.Case to_match: {($ Id.VSub_DollarName '$ZSH_VERSION') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$VERSION')} arms: [ (case_arm pat_list: [{<Id.Lit_Colon ':'> <zsh> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ZSH_VERSION) op: assign_op.Equal rhs: {<2>} spids: [102] ) ] ) ] spids: [97 100 105 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} { (DQ (braced_var_sub token: <Id.VSub_Name ZSH_VERSION> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<x>}) ) ) } ) (command.Subshell child: (C {<emulate>} {<sh>}) redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<emulate>} {<sh>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NULLCMD) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [147] ) ] ) ] spids: [110 139] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<test>} {<-d>} {<'/usr/xpg4/bin/.'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {<'/usr/xpg4/bin'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PATH')} spids: [175] ) ] ) (C {<export>} {<PATH>}) ] spids: [153 168] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nl) op: assign_op.Equal rhs: {(SQ <'\n'>)} spids: [188] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:safeIFS) op: assign_op.Equal rhs: {(SQ <'\t'>)} spids: [193] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:safeIFS) op: assign_op.Equal rhs: {(DQ <' '> ($ Id.VSub_DollarName '$safeIFS') ($ Id.VSub_DollarName '$nl'))} spids: [198] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$safeIFS')} spids: [205] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:allu) op: assign_op.Equal rhs: {<QWERTYUIOPASDFGHJKLZXCVBNM>} spids: [208] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alll) op: assign_op.Equal rhs: {<qwertyuiopasdfghjklzxcvbnm>} spids: [211] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alln) op: assign_op.Equal rhs: {<0123456789>} spids: [214] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alls) op: assign_op.Equal rhs: {<______________________________________________________________>} spids: [217] ) ] ) (command.ShFunction name: genopt_die body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ <'E: '> ($ Id.VSub_Star '$*'))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'E: in \''> ($ Id.VSub_DollarName '$srcfile') <'\': \''> ($ Id.VSub_DollarName '$line') <'\''> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [228 239] ) ] else_action: [ (command.Simple words: [ {<echo>} { (DQ <'E: invalid input in \''> ($ Id.VSub_DollarName '$srcfile') <'\': \''> ($ Id.VSub_DollarName '$line') <'\''> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] ) (C {<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName '$bn') <.gen>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ) (command.ShFunction name: genopt_soptc body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optc) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$line'))}) (C {<sed>} {(SQ <'s/^[<>]\\(.\\).*$/\\1/'>)}) ] negated: F ) ) } spids: [311] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$optc'))} {<Id.Lit_Equals '='>} {<x> (SQ <'|'>)} ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optclo) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$optc'))}) (C {<tr>} {($ Id.VSub_DollarName '$allu')} {($ Id.VSub_DollarName '$alll')} ) ] negated: F ) ) } spids: [356] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$optc'))} {<Id.Lit_Equals '='>} {<x> (DQ ($ Id.VSub_DollarName '$optclo'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:islo) op: assign_op.Equal rhs: {<1>} spids: [396] ) ] ) ] spids: [376 393] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:islo) op: assign_op.Equal rhs: {<0>} spids: [403] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sym) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$line'))}) (C {<sed>} {(SQ <'s/^[<>]/|/'>)}) ] negated: F ) ) } spids: [410] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_str) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_str') ($ Id.VSub_DollarName '$nl') (DQ <'<'> ($ Id.VSub_DollarName '$optclo') ($ Id.VSub_DollarName '$islo') ($ Id.VSub_DollarName '$sym') ) } spids: [430] ) ] ) ] ) ) (command.ShFunction name: genopt_scond body: (BraceGroup children: [ (command.Case to_match: {<x> ($ Id.VSub_DollarName '$cond')} arms: [ (case_arm pat_list: [{<x>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: (word.Empty) spids: [462] ) ] ) ] spids: [458 459 465 -1] ) (case_arm pat_list: [{<x> <Id.Lit_Star '*'> (SQ <' '>) <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$cond'))}) (C {<sed>} {(SQ <'s/^ //'>)}) ] negated: F ) ) } spids: [477] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: {(DQ <'#if '> ($ Id.VSub_DollarName '$cond'))} spids: [497] ) ] ) ] spids: [468 474 504 -1] ) (case_arm pat_list: [{<x> (SQ <'!'>) <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$cond'))}) (C {<sed>} {(SQ <'s/^!//'>)}) ] negated: F ) ) } spids: [515] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: {(DQ <'#ifndef '> ($ Id.VSub_DollarName '$cond'))} spids: [535] ) ] ) ] spids: [507 512 542 -1] ) (case_arm pat_list: [{<x> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: {(DQ <'#ifdef '> ($ Id.VSub_DollarName '$cond'))} spids: [550] ) ] ) ] spids: [545 547 557 -1] ) ] ) ] ) ) (command.ShFunction name: do_genopt body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [572] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$srcfile'))}) (C {<genopt_die>} {<Source>} {<file>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <srcfile>} {<not>} {<set.>} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bn) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<basename>} {(DQ ($ Id.VSub_DollarName '$srcfile'))}) (C {<sed>} {(SQ <'s/.opt$//'>)}) ] negated: F ) ) } spids: [600] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_hdr) op: assign_op.Equal rhs: {(SQ <'/* +++ GENERATED FILE +++ DO NOT EDIT +++ */'>)} spids: [620] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: (word.Empty) spids: [626] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_str) op: assign_op.Equal rhs: (word.Empty) spids: [629] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_sym) op: assign_op.Equal rhs: (word.Empty) spids: [632] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ddefs) op: assign_op.Equal rhs: (word.Empty) spids: [635] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: assign_op.Equal rhs: {<0>} spids: [638] ) ] ) (command.Simple words: [{<exec>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$srcfile'))} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: (word.Empty) spids: [650] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<read>} {<line>}] more_env: [(env_pair name:IFS val:(word.Empty) spids:[655])] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$safeIFS')} spids: [665] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$state') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$line') } arms: [ (case_arm pat_list: [{<2> <Id.Lit_Colon ':'> (SQ <'|'>) <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_sym) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$line'))}) (C {<sed>} {(SQ <'s/^.//'>)}) ] negated: F ) ) } spids: [691] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#undef F0'>) } spids: [711] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#undef FN'>) } spids: [719] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$ddefs')} spids: [727] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: assign_op.Equal rhs: {<3>} spids: [732] ) ] ) ] spids: [678 684 736 -1] ) (case_arm pat_list: [{<1> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_At '@'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#endif'>) } spids: [750] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#ifndef F0'>) } spids: [758] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#define F0 FN'>) } spids: [766] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#endif'>) } spids: [774] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: assign_op.Equal rhs: {<2>} spids: [782] ) ] ) ] spids: [739 743 786 -1] ) (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_At '@'> <Id.Lit_Star '*'> } ] action: [(C {<genopt_die>})] spids: [789 794 799 -1] ) (case_arm pat_list: [ {<0> <Id.Lit_Colon ':'> <'/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\*'> ) <-> } {<0> <Id.Lit_Colon ':'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) <Id.Lit_Star '*'> } {<0> <Id.Lit_Colon ':'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_hdr) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_hdr') ($ Id.VSub_DollarName '$nl') ($ Id.VSub_DollarName '$line') } spids: [819] ) ] ) ] spids: [802 816 825 -1] ) (case_arm pat_list: [ {<0> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_Star '*'>} {<1> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sym) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$line'))}) (C {<sed>} {(SQ <'s/^@//'>)}) ] negated: F ) ) } spids: [844] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$state')} {<Id.Lit_Equals '='>} {<0>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#if defined('> ($ Id.VSub_DollarName '$sym') <')'>) } spids: [878] ) ] ) ] spids: [864 875] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#elif defined('> ($ Id.VSub_DollarName '$sym') <')'>) } spids: [891] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ddefs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$ddefs') ($ Id.VSub_DollarName '$nl') <'#undef '> ($ Id.VSub_DollarName '$sym') ) } spids: [904] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: assign_op.Equal rhs: {<1>} spids: [913] ) ] ) ] spids: [828 837 917 -1] ) (case_arm pat_list: [ {<0> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} {<3> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} ] action: [(C {<genopt_die>})] spids: [920 927 932 -1] ) (case_arm pat_list: [{<1> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') ($ Id.VSub_DollarName '$line') } spids: [945] ) ] ) ] spids: [935 938 951 -1] ) (case_arm pat_list: [ {<2> <Id.Lit_Colon ':'> (SQ <'<'>) <Id.Lit_Star '*'> (SQ <'|'>) <Id.Lit_Star '*'> } ] action: [(C {<genopt_soptc>})] spids: [954 964 970 -1] ) (case_arm pat_list: [ {<2> <Id.Lit_Colon ':'> (SQ <'>'>) <Id.Lit_Star '*'> (SQ <'|'>) <Id.Lit_Star '*'> } ] action: [ (C {<genopt_soptc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$line'))}) (C {<sed>} {(SQ <'s/^[^|]*|//'>)}) ] negated: F ) ) } spids: [989] ) ] ) (C {<genopt_scond>}) (command.Case to_match: {($ Id.VSub_DollarName '$optc')} arms: [ (case_arm pat_list: [{(SQ <'|'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optc) op: assign_op.Equal rhs: {<0>} spids: [1024] ) ] ) ] spids: [1019 1022 1027 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optc) op: assign_op.Equal rhs: { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\''> ) ($ Id.VSub_DollarName '$optc') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) } spids: [1033] ) ] ) ] spids: [1030 1031 1038 -1] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<read>} {<line>}] more_env: [(env_pair name:IFS val:(word.Empty) spids:[1044])] do_fork: T ) (C {<genopt_die>} {<Unexpected>} {<EOF>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$safeIFS')} spids: [1059] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$cond'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ ($ Id.VSub_DollarName '$cond')) } spids: [1073] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ ($ Id.VSub_DollarName '$line') <', '> ($ Id.VSub_DollarName '$optc') <')'> ) } spids: [1081] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$cond'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$o_gen') ($ Id.VSub_DollarName '$nl') (DQ <'#endif'>) } spids: [1102] ) ] ) ] ) ] spids: [973 983 1110 -1] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$state') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$o_sym')} arms: [ (case_arm pat_list: [{<3> <Id.Lit_Colon ':'>}] action: [(C {<genopt_die>} {<Expected>} {<optc>} {<sym>} {<at>} {<EOF>})] spids: [1128 1130 1144 -1] ) (case_arm pat_list: [{<3> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] spids: [1147 1150 1152 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<genopt_die>} {<Missing>} {<EOF>} {<marker>})] spids: [1155 1156 1166 -1] ) ] ) (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$o_str'))}) (C {<sort>}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<read>} {<x>} {<opts>} {<cond>}] more_env: [(env_pair name:IFS val:{(SQ <'|'>)} spids:[1186])] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$safeIFS')} spids: [1203] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$x'))}) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] ) (C {<genopt_scond>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$cond'))}) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$cond'))}) ] ) (C {<echo>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$opts') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$cond'))}) (C {<echo>} {(DQ <'#endif'>)}) ] ) ] ) ) (BraceGroup children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$o_hdr'))}) (C {<echo>} { (DQ <'#ifndef '> ($ Id.VSub_DollarName '$o_sym') ($ Id.VSub_DollarName '$o_gen') ) } ) (C {<echo>} {(DQ <'#else'>)}) (C {<cat>}) (C {<echo>} {(DQ <'#undef '> ($ Id.VSub_DollarName '$o_sym'))}) (C {<echo>} {(DQ <'#endif'>)}) ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$bn') <.gen>)} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$safeIFS')} spids: [1323] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$BUILDSH_RUN_GENOPT'))} {<Id.Lit_Equals '='>} {<x> (DQ <1>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<set>} {<x>} {<-G>} {(DQ ($ Id.VSub_DollarName '$srcfile'))}) (C {<shift>})] spids: [1334 1351] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ <-G>)}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<do_genopt>} {(DQ ($ Id.VSub_Number '$2'))}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '$?')} ) ] spids: [1369 1386] ) ] ) (C {<echo>} {(DQ <'For the build logs, demonstrate that /dev/null and /dev/tty exist:'>)}) (C {<ls>} {<-l>} {<'/dev/null'>} {<'/dev/tty'>}) (command.ShFunction name: v body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$e')} {(DQ ($ Id.VSub_Star '$*'))}) (C {<eval>} {(DQ ($ Id.VSub_At '$@'))}) ] ) ) (command.ShFunction name: vv body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_c) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [1448] ) ] ) (C {<shift>}) (command.Simple words: [ {($ Id.VSub_DollarName '$e')} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <' '> ($ Id.VSub_Star '$*') ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.Simple words: [{<eval>} {(DQ ($ Id.VSub_At '$@'))}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<vv.out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.Simple words: [{<sed>} {(DQ <'s\x07^\x07'> (${ Id.VSub_Name _c) <' \x07'>)}] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<vv.out>})] do_fork: T ) ] ) ) (command.ShFunction name: vq body: (BraceGroup children:[(C {<eval>} {(DQ ($ Id.VSub_At '$@'))})]) ) (command.ShFunction name: rmf body: (BraceGroup children: [ (command.ForEach iter_name: _f iter_words: [{(DQ ($ Id.VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$_f')} arms: [ (case_arm pat_list: [ {<Build.sh>} {<check.pl>} {<check.t>} {<dot.mkshrc>} {<Id.Lit_Star '*'> <.1>} {<Id.Lit_Star '*'> <.c>} {<Id.Lit_Star '*'> <.h>} {<Id.Lit_Star '*'> <.ico>} {<Id.Lit_Star '*'> <.opt>} ] spids: [1540 1562 1564 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName '$_f'))})] spids: [1567 1568 1578 -1] ) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: assign_op.Equal rhs: {<no>} spids: [1589] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bi) op: assign_op.Equal rhs: (word.Empty) spids: [1592] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ui) op: assign_op.Equal rhs: (word.Empty) spids: [1594] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ao) op: assign_op.Equal rhs: (word.Empty) spids: [1596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fx) op: assign_op.Equal rhs: (word.Empty) spids: [1598] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:me) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {(DQ ($ Id.VSub_Number '$0'))}) ) } spids: [1600] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CFLAGS')} spids: [1611] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<x>} spids: [1614] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldish_ed) op: assign_op.Equal rhs: {<stdout-ed> <Id.Lit_Comma ','> <no-stderr-ed>} spids: [1617] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-t>} {<1>}) terminator:<Id.Op_Semi _>)] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bi) op: assign_op.Equal rhs: {(SQ <'\x1b[1m'>)} spids: [1635] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ui) op: assign_op.Equal rhs: {(SQ <'\x1b[4m'>)} spids: [1641] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ao) op: assign_op.Equal rhs: {(SQ <'\x1b[0m'>)} spids: [1647] ) ] ) ] spids: [1623 1632] ) ] ) (command.ShFunction name: upper body: (BraceGroup children: [ (command.Pipeline children: [ (C {<echo>} {<Id.Lit_Colon ':'> (DQ ($ Id.VSub_At '$@'))}) (C {<sed>} {(SQ <'s/^://'>)}) (C {<tr>} {($ Id.VSub_DollarName '$alll')} {($ Id.VSub_DollarName '$allu')}) ] negated: F ) ] ) ) (command.ShFunction name: ac_testdone body: (BraceGroup children: [ (C {<eval>} {<HAVE_> ($ Id.VSub_DollarName '$fu') <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$fv')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fr) op: assign_op.Equal rhs: {<no>} spids: [1706] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$fv')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fr) op: assign_op.Equal rhs: {<yes>} spids: [1720] ) ] ) ] ) (C {($ Id.VSub_DollarName '$e')} { (DQ ($ Id.VSub_DollarName '$bi') <'==> '> ($ Id.VSub_DollarName '$fd') <...> ($ Id.VSub_DollarName '$ao') <' '> ($ Id.VSub_DollarName '$ui') ($ Id.VSub_DollarName '$fr') ($ Id.VSub_DollarName '$ao') ($ Id.VSub_DollarName '$fx') ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fx) op: assign_op.Equal rhs: (word.Empty) spids: [1740] ) ] ) ] ) ) (command.ShFunction name: ac_cache body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:f) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [1755] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fu) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<upper>} {($ Id.VSub_DollarName '$f')}) ) } spids: [1759] ) ] ) (C {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE_> ($ Id.VSub_DollarName '$fu') } ) (command.Case to_match: {($ Id.VSub_DollarName '$fv')} arms: [ (case_arm pat_list: [{<0>} {<1>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fx) op: assign_op.Equal rhs: {(SQ <' (cached)'>)} spids: [1790] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1784 1787 1801 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [1807] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>}) ] ) ) (command.ShFunction name: ac_testinit body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<ac_cache>} {($ Id.VSub_Number '$1')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ) (C {<shift>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (C {<shift>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fd) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 3> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {($ Id.VSub_DollarName '$f')} ) ) } spids: [1878] ) ] ) (C {<ac_testdone>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [1831 1838] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fc) op: assign_op.Equal rhs: {<0>} spids: [1897] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ft) op: assign_op.Equal rhs: {<1>} spids: [1920] ) ] ) ] spids: [1901 1917] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fc) op: assign_op.Equal rhs: {<1>} spids: [1947] ) ] ) (C {<shift>}) ] spids: [1927 1944] ) ] ) (C {<eval>} {<Id.Lit_VarLike 'ft='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE_> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<upper>} {($ Id.VSub_Number '$2')})) } ) (C {<shift>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fd) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 3> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {($ Id.VSub_DollarName '$f')} ) ) } spids: [1977] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$fc')} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$ft'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [2001] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fx) op: assign_op.Equal rhs: {(SQ <' (implied)'>)} spids: [2005] ) ] ) (C {<ac_testdone>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [1985 1998] ) ] ) (C {($ Id.VSub_DollarName '$e')} {<Id.Lit_TDot ...>} {($ Id.VSub_DollarName '$fd')}) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: ac_testnnd body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fr) op: assign_op.Equal rhs: {<1>} spids: [2066] ) ] ) (C {<shift>}) ] spids: [2046 2063] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fr) op: assign_op.Equal rhs: {<0>} spids: [2076] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<ac_testinit>} {(DQ ($ Id.VSub_At '$@'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.Simple words: [{<cat>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>})] do_fork: T ) (C {<vv>} {(SQ <']'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' conftest.c '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$tcfn')} {<Id.Lit_Equals '='>} {<no>}) (C {<test>} {<-f>} {<a.out>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: assign_op.Equal rhs: {<a.out>} spids: [2143] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$tcfn')} {<Id.Lit_Equals '='>} {<no>}) (C {<test>} {<-f>} {<a.exe>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: assign_op.Equal rhs: {<a.exe>} spids: [2165] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$tcfn')} {<Id.Lit_Equals '='>} {<no>}) (C {<test>} {<-f>} {<conftest.exe>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: assign_op.Equal rhs: {<conftest.exe>} spids: [2187] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$tcfn')} {<Id.Lit_Equals '='>} {<no>}) (C {<test>} {<-f>} {<conftest>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: assign_op.Equal rhs: {<conftest>} spids: [2209] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} {($ Id.VSub_DollarName '$tcfn')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$fr')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [2235] ) ] ) ] ) ] spids: [2213 2222] ) ] else_action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$fr')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [2252] ) ] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: assign_op.Equal rhs: (word.Empty) spids: [2259] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$phase')} {<Id.Lit_Equals '='>} {<u>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<gcc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: assign_op.Equal rhs: {(SQ <'unrecogni[sz]ed'>)} spids: [2286] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<hpcc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: assign_op.Equal rhs: {(SQ <unsupported>)} spids: [2302] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<pcc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: assign_op.Equal rhs: {(SQ <unsupported>)} spids: [2318] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<sunpro>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: assign_op.Equal rhs: {(SQ <'-e ignored -e turned.off'>)} spids: [2334] ) ] ) ] ) ] spids: [2262 2273] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$vscan'))}) (command.Simple words: [{<grep>} {($ Id.VSub_DollarName '$vscan')} {<vv.out>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$fr')} spids: [2367] ) ] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: ac_testn body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<ac_testnnd>} {(DQ ($ Id.VSub_At '$@'))}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<rmf>} {<conftest.c>} {<conftest.o>} {(${ Id.VSub_Name tcfn) <Id.Lit_Star '*'>} {<vv.out>}) (C {<ac_testdone>}) ] ) ) (command.ShFunction name: ac_ifcpp body: (BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:expr) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [2424] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.Simple words: [{<ac_testn>} {(DQ ($ Id.VSub_At '$@'))}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 2453 stdin_parts: [ <'#include <unistd.h>\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'int main(void) { return (isatty(0) +\n'> <'#'> ($ Id.VSub_DollarName '$expr') <'\n'> <' 0\n'> <'#else\n'> <'/* force a failure: expr is false */\n'> <' thiswillneverbedefinedIhope()\n'> <'#endif\n'> <' ); }\n'> ] ) ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)}) (C {<shift>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:f) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [2474] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fu) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<upper>} {($ Id.VSub_DollarName '$f')}) ) } spids: [2478] ) ] ) (C {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE_> ($ Id.VSub_DollarName '$fu') } ) (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$fv'))} {<Id.Lit_Equals '='>} {<x> (DQ <1>)}) ] ) ) (command.ShFunction name: add_cppflags body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_Star '$*'))} spids: [2520] ) ] ) ] ) ) (command.ShFunction name: ac_cppflags body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fu) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [2552] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [2556] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (C {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE_> ($ Id.VSub_DollarName '$fu') } ) ] ) (C {<add_cppflags>} {<-DHAVE_> ($ Id.VSub_DollarName '$fu') <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$fv')} ) ] ) ) (command.ShFunction name: ac_test body: (BraceGroup children:[(C {<ac_testn>} {(DQ ($ Id.VSub_At '$@'))}) (C {<ac_cppflags>})]) ) (command.ShFunction name: ac_flags body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ <->)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<shift>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hf) op: assign_op.Equal rhs: {<1>} spids: [2645] ) ] ) ] spids: [2622 2639] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hf) op: assign_op.Equal rhs: {<0>} spids: [2652] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fa) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [2659] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vn) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [2663] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:f) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [2667] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ft) op: assign_op.Equal rhs: {($ Id.VSub_Number '$4')} spids: [2671] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fl) op: assign_op.Equal rhs: {($ Id.VSub_Number '$5')} spids: [2675] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$ft'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ft) op: assign_op.Equal rhs: {(DQ <'if '> ($ Id.VSub_DollarName '$f') <' can be used'>)} spids: [2694] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CFLAGS')} spids: [2702] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$f'))} spids: [2706] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$fl'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_LDFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$LDFLAGS')} spids: [2728] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$fl')) } spids: [2732] ) ] ) ] spids: [2714 2725] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$hf')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<ac_testn>} {<can_> ($ Id.VSub_DollarName '$vn')} {(SQ )} {(DQ ($ Id.VSub_DollarName '$ft'))} ) ] spids: [2743 2754] ) ] else_action: [ (command.Simple words: [ {<ac_testn>} {<can_> ($ Id.VSub_DollarName '$vn')} {(SQ )} {(DQ ($ Id.VSub_DollarName '$ft'))} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 2793 stdin_parts: [ <'/* evil apo\'stroph in comment test */\n'> <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) ] ) (C {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE_CAN_> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<upper>} {($ Id.VSub_DollarName '$vn')})) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$fl'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<11>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$fa') ($ Id.VSub_DollarName '$fv')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_LDFLAGS')} spids: [2837] ) ] ) ] ) ] spids: [2812 2823] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<11>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$fa') ($ Id.VSub_DollarName '$fv')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_CFLAGS')} spids: [2855] ) ] ) ] ) ] ) ) (command.ShFunction name: ac_header body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:na) op: assign_op.Equal rhs: {<1>} spids: [2891] ) ] ) (C {<shift>}) ] spids: [2871 2888] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:na) op: assign_op.Equal rhs: {<0>} spids: [2901] ) ] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hf) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [2908] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hv) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$hf'))}) (C {<tr>} {<-d>} {(SQ <'\\012\\015'>)}) (C {<tr>} {<-c>} {($ Id.VSub_DollarName '$alll') ($ Id.VSub_DollarName '$allu') ($ Id.VSub_DollarName '$alln') } {($ Id.VSub_DollarName '$alls')} ) ] negated: F ) ) } spids: [2915] ) ] ) (command.Simple words: [{<echo>} {(DQ <'/* NeXTstep bug workaround */'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.ForEach iter_name: i do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$i')} arms: [ (case_arm pat_list: [{<_time>}] action: [ (command.Simple words: [{<echo>} {(SQ <'#if HAVE_BOTH_TIME_H'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#include <sys/time.h>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#include <time.h>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#elif HAVE_SYS_TIME_H'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#include <sys/time.h>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#elif HAVE_TIME_H'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#include <time.h>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#endif'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) ] spids: [2978 2979 3062 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [{<echo>} {(DQ <'#include <'> ($ Id.VSub_DollarName '$i') <'>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) ] spids: [3065 3066 3081 -1] ) ] ) ] ) ) (command.Simple words: [{<echo>} {(DQ <'#include <'> ($ Id.VSub_DollarName '$hf') <'>'>)}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'#include <unistd.h>'>)}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'int main(void) { return (isatty(0)); }'>)}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.Simple words: [ {<ac_testn>} {(DQ ($ Id.VSub_DollarName '$hv'))} {(DQ )} {(DQ <'<'> ($ Id.VSub_DollarName '$hf') <'>'>)} ] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>})] do_fork: T ) (C {<rmf>} {<x>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$na')}) (C {<ac_cppflags>}) ] ) ] ) ) (command.ShFunction name: addsrcs body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fr) op: assign_op.Equal rhs: {<0>} spids: [3188] ) ] ) (C {<shift>}) ] spids: [3168 3185] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fr) op: assign_op.Equal rhs: {<1>} spids: [3198] ) ] ) ] ) (C {<eval>} {<Id.Lit_VarLike 'i='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ($ Id.VSub_Number '$1') } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$fr')} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$i'))} ) (command.Case to_match: {(DQ <' '> ($ Id.VSub_DollarName '$SRCS') <' '>)} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) ($ Id.VSub_Number '$2') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <Id.Lit_Star '*'> } ] spids: [3235 3240 3242 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$SRCS') <' '> ($ Id.VSub_Number '$2'))} spids: [3248] ) ] ) ] spids: [3245 3246 3255 -1] ) ] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:curdir) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))} spids: [3264] ) (assign_pair lhs: (sh_lhs_expr.Name name:srcdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<dirname>} {(DQ ($ Id.VSub_Number '$0'))}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [3271] ) ] ) (command.Case to_match: {<x> ($ Id.VSub_DollarName '$srcdir')} arms: [ (case_arm pat_list: [{<x>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcdir) op: assign_op.Equal rhs: {<.>} spids: [3296] ) ] ) ] spids: [3292 3293 3300 -1] ) (case_arm pat_list: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> (DQ <'\t'>) <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> (DQ ($ Id.VSub_DollarName '$nl')) <Id.Lit_Star '*'>} ] action: [ (command.Simple words: [ {<echo>} {<Source>} {<directory>} {<should>} {<not>} {<contain>} {<space>} {<or>} {<tab>} {<or>} {<newline.>} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {<Errors>} {<may>} {<occur.>}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [3302 3317 3358 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> (DQ <'\''>) <Id.Lit_Star '*'>}] action: [ (C {<echo>} {<Source>} {<directory>} {<must>} {<not>} {<contain>} {<single>} {<quotes.>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [3360 3365 3390 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dstversion) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<sed>} {<-n>} {(SQ <'/define MKSH_VERSION/s/^.*"\\([^"]*\\)".*$/\\1/p'>)} {(DQ ($ Id.VSub_DollarName '$srcdir') <'/sh.h'>)} ) ) } spids: [3394] ) ] ) (C {<add_cppflags>} {<-DMKSH_BUILDSH>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:e) op: assign_op.Equal rhs: {<echo>} spids: [3423] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:r) op:assign_op.Equal rhs:{<0>} spids:[3426])] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:eq) op:assign_op.Equal rhs:{<0>} spids:[3429])] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:pm) op:assign_op.Equal rhs:{<0>} spids:[3432])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: assign_op.Equal rhs: {<normal>} spids: [3435] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optflags) op: assign_op.Equal rhs: {<-std-compile-opts>} spids: [3438] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: (word.Empty) spids: [3441] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: (word.Empty) spids: [3443] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tfn) op: assign_op.Equal rhs: (word.Empty) spids: [3445] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:legacy) op: assign_op.Equal rhs: {<0>} spids: [3447] ) ] ) (command.ForEach iter_name: i do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$last') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$i')} arms: [ (case_arm pat_list: [ {<c> <Id.Lit_Colon ':'> <combine>} {<c> <Id.Lit_Colon ':'> <dragonegg>} {<c> <Id.Lit_Colon ':'> <llvm>} {<c> <Id.Lit_Colon ':'> <lto>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$i')} spids: [3485] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: (word.Empty) spids: [3489] ) ] ) ] spids: [3467 3482 3492 -1] ) (case_arm pat_list: [{<c> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$me') <': Unknown option -c \''> ($ Id.VSub_DollarName '$i') <'\'!'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [3495 3498 3519 -1] ) (case_arm pat_list: [{<o> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optflags) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$i')} spids: [3528] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: (word.Empty) spids: [3532] ) ] ) ] spids: [3522 3525 3535 -1] ) (case_arm pat_list: [{<t> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tfn) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$i')} spids: [3544] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: (word.Empty) spids: [3548] ) ] ) ] spids: [3538 3541 3551 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-c>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: {<c>} spids: [3559] ) ] ) ] spids: [3554 3556 3563 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-G>}] action: [ (command.Simple words: [ {<echo>} {(DQ ($ Id.VSub_DollarName '$me') <': Do not call me with \'-G\'!'>)} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [3566 3568 3587 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-g>}] action: [ (C {<add_cppflags>} {<-DDEBUG>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CFLAGS') <' -g3 -fno-builtin'>)} spids: [3604] ) ] ) ] spids: [3590 3592 3611 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-j>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pm) op: assign_op.Equal rhs: {<1>} spids: [3619] ) ] ) ] spids: [3614 3616 3623 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-L>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:legacy) op: assign_op.Equal rhs: {<1>} spids: [3631] ) ] ) ] spids: [3626 3628 3635 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <Id.Lit_Other '+'> <L>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:legacy) op: assign_op.Equal rhs: {<0>} spids: [3644] ) ] ) ] spids: [3638 3641 3648 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-M>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: assign_op.Equal rhs: {<makefile>} spids: [3656] ) ] ) ] spids: [3651 3653 3660 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-O>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optflags) op: assign_op.Equal rhs: {<-std-compile-opts>} spids: [3668] ) ] ) ] spids: [3663 3665 3672 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-o>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: {<o>} spids: [3680] ) ] ) ] spids: [3675 3677 3684 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-Q>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:eq) op: assign_op.Equal rhs: {<1>} spids: [3692] ) ] ) ] spids: [3687 3689 3696 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-r>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: {<1>} spids: [3704] ) ] ) ] spids: [3699 3701 3708 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-t>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: {<t>} spids: [3716] ) ] ) ] spids: [3711 3713 3720 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <-v>}] action: [ (C {<echo>} {(DQ <'Build.sh '> ($ Id.VSub_DollarName '$srcversion'))}) (C {<echo>} {(DQ <'for mksh '> ($ Id.VSub_DollarName '$dstversion'))}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [3723 3725 3749 -1] ) (case_arm pat_list: [{<Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$me') <': Unknown option \''> ($ Id.VSub_DollarName '$i') <'\'!'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [3752 3754 3775 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$me') <': Unknown option -\''> ($ Id.VSub_DollarName '$last') <'\' \''> ($ Id.VSub_DollarName '$i') <'\'!'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [3778 3779 3802 -1] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$last'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$me') <': Option -\''> ($ Id.VSub_DollarName '$last') <'\' not followed by argument!'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [3809 3820] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$tfn'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$legacy')} {<Id.Lit_Equals '='>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tfn) op: assign_op.Equal rhs: {<mksh>} spids: [3867] ) ] ) ] spids: [3853 3864] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tfn) op: assign_op.Equal rhs: {<lksh>} spids: [3873] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-d>} {($ Id.VSub_DollarName '$tfn')}) (C {<test>} {<-d>} {($ Id.VSub_DollarName '$tfn') <.exe>}) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$me') <': Error: ./'> ($ Id.VSub_DollarName '$tfn') <' is a directory!'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [3878 3896] ) ] ) (C {<rmf>} {<a.exe> <Id.Lit_Star '*'>} {<a.out> <Id.Lit_Star '*'>} {<conftest.c>} {<conftest.exe> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <core>} {<core.> <Id.Lit_Star '*'>} {(${ Id.VSub_Name tfn) <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <.bc>} {<Id.Lit_Star '*'> <.dbg>} {<Id.Lit_Star '*'> <.ll>} {<Id.Lit_Star '*'> <.o>} {<Id.Lit_Star '*'> <.gen>} {<Rebuild.sh>} {<lft>} {<no>} {<signames.inc>} {<test.sh>} {<x>} {<vv.out>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: assign_op.Equal rhs: {(DQ <'lalloc.c eval.c exec.c expr.c funcs.c histrap.c jobs.c'>)} spids: [3974] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$SRCS') <' lex.c main.c misc.c shf.c syn.c tree.c var.c'>)} spids: [3979] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$legacy')} {<Id.Lit_Equals '='>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$SRCS') <' edit.c'>)} spids: [4000] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' shell:legacy-no int:32'>)} spids: [4007] ) ] ) ] spids: [3986 3997] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' shell:legacy-yes'>)} spids: [4016] ) ] ) (C {<add_cppflags>} {<-DMKSH_LEGACY_MODE>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_PERSISTENT_HISTORY) op: assign_op.Equal rhs: {<0>} spids: [4028] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_CONSERVATIVE_FDS) op: assign_op.Equal rhs: {<1>} spids: [4032] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$srcdir'))} {<Id.Lit_Equals '='>} {<x> (DQ <.>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ <'-I. '> ($ Id.VSub_DollarName '$CPPFLAGS'))} spids: [4061] ) ] ) ] spids: [4041 4058] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: { (DQ <'-I. -I\''> ($ Id.VSub_DollarName '$srcdir') <'\' '> ($ Id.VSub_DollarName '$CPPFLAGS') ) } spids: [4070] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$LDSTATIC'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$LDFLAGS'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$LDSTATIC') ) } spids: [4104] ) ] ) ] spids: [4090 4101] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$LDSTATIC')} spids: [4114] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$TARGET_OS'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<uname>} {<-s>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<uname>}) ] ) ) } spids: [4134] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$x'))} {<Id.Lit_Equals '='>} {<x> (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<uname>} {<-n>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$x')} spids: [4176] ) ] ) ] ) ] spids: [4120 4131] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$TARGET_OS'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {(DQ ($ Id.VSub_DollarName '$me') <': Set TARGET_OS, your uname is broken!'>)} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [4181 4192] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: (word.Empty) spids: [4212] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpc) op: assign_op.Equal rhs: {<-Wc> <Id.Lit_Comma ','>} spids: [4214] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpl) op: assign_op.Equal rhs: {<-Wl> <Id.Lit_Comma ','>} spids: [4218] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tsts) op: assign_op.Equal rhs: (word.Empty) spids: [4222] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpr) op: assign_op.Equal rhs: { (SQ < '|| for _f in ${tcfn}*; do case $_f in Build.sh|check.pl|check.t|dot.mkshrc|*.1|*.c|*.h|*.ico|*.opt) ;; *) rm -f "$_f" ;; esac; done' > ) } spids: [4224] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OS'))} {<Id.Lit_Equals '='>} {<x> (DQ <Android>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' android'>)} spids: [4253] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OS) op: assign_op.Equal rhs: {<Linux>} spids: [4260] ) ] ) ] spids: [4233 4250] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OS'))} {<Id.Lit_Equals '='>} {<x> (DQ <Minix>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ <'\n'> <'WARNING: additional checks before running Build.sh required!\n'> <'You can avoid these by calling Build.sh correctly, see below.\n'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 4319 stdin_parts: [ <'#include <sys/types.h>\n'> <'const char *\n'> <'#ifdef _NETBSD_SOURCE\n'> <'ct="Ninix3"\n'> <'#else\n'> <'ct="Minix3"\n'> <'#endif\n'> <';\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ct) op: assign_op.Equal rhs: {<unknown>} spids: [4321] ) ] ) (C {<vv>} {(SQ <']'>)} { (DQ (braced_var_sub token: <Id.VSub_Name CC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<cc>}) ) <' -E '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' conftest.c | grep ct= | tr -d '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'015 >x'> ) } ) (C {<sed>} {(SQ <'s/^/[ /'>)} {<x>}) (C {<eval>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<cat>} {<x>}))}) (C {<rmf>} {<x>} {<vv.out>}) (command.Case to_match: {($ Id.VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{<Minix3>} {<Ninix3>}] action: [ (command.Simple words: [ {<echo>} { (DQ <'\n'> <'Warning: you set TARGET_OS to '> ($ Id.VSub_DollarName '$TARGET_OS') <' but that is ambiguous.\n'> <'Please set it to either Minix3 or Ninix3, whereas the latter is\n'> <'all versions of Minix with even partial NetBSD(R) userland. The\n'> <'value determined from your compiler for the current compilation\n'> <'(which may be wrong) is: '> ($ Id.VSub_DollarName '$ct') <'\n'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ct')} spids: [4409] ) ] ) ] spids: [4384 4387 4413 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [ {<echo>} { (DQ <'\n'> <'Warning: you set TARGET_OS to '> ($ Id.VSub_DollarName '$TARGET_OS') <' but that is ambiguous.\n'> <'Please set it to either Minix3 or Ninix3, whereas the latter is\n'> <'all versions of Minix with even partial NetBSD(R) userland. The\n'> <'proper value couldn\'t be determined, continue at your own risk.\n'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [4416 4417 4436 -1] ) ] ) ] spids: [4269 4286] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{<NEXTSTEP>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OSREV'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple words: [{<hostinfo>}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<grep>} {(SQ <'NeXT Mach [0-9][0-9.]*:'>)}) (C {<sed>} {(SQ <'s/^.*NeXT Mach \\([0-9][0-9.]*\\):.*$/\\1/'>)}) ] negated: F ) ) } spids: [4472] ) ] ) ] ) ] spids: [4453 4454 4515 -1] ) (case_arm pat_list: [{<QNX>} {<SCO_SV>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OSREV'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-r>}))} spids: [4538] ) ] ) ] ) ] spids: [4517 4520 4548 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{<386BSD>}] action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_CAN_OTWO> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) (C {<add_cppflags>} {<-DMKSH_NO_SIGSETJMP>}) (C {<add_cppflags>} {<-DMKSH_TYPEDEF_SIG_ATOMIC_T> <Id.Lit_Equals '='> <int>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) ] spids: [4562 4563 4594 -1] ) (case_arm pat_list: [{<AIX>}] action: [ (C {<add_cppflags>} {<-D_ALL_SOURCE>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4596 4597 4616 -1] ) (case_arm pat_list: [{<BeOS>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$KSH_VERSION')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <MIRBSD> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) <KSH> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} spids: [4637] ) ] ) ] spids: [4629 4634 4643 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; you must recompile mksh with'>)} spids: [4650] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$oswarn') (${ Id.VSub_Name nl) <'itself in a second stage'> ) } spids: [4656] ) ] ) ] spids: [4646 4647 4666 -1] ) ] ) (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (C {<add_cppflags>} {<-DMKSH_DISABLE_TTY_WARNING>}) (C {<add_cppflags>} {<-DMKSH__NO_SETEUGID>}) ] spids: [4618 4619 4695 -1] ) (case_arm pat_list: [{<'BSD/OS'>}] action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4697 4698 4712 -1] ) (case_arm pat_list: [{<Coherent>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has major issues'>)} spids: [4718] ) ] ) (C {<add_cppflags>} {<-DMKSH__NO_SYMLINK>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' nosymlink'>)} spids: [4729] ) ] ) (C {<add_cppflags>} {<-DMKSH__NO_SETEUGID>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<add_cppflags>} {<-DMKSH_DISABLE_TTY_WARNING>}) ] spids: [4714 4715 4751 -1] ) (case_arm pat_list: [{<CYGWIN> <Id.Lit_Star '*'>}] action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4753 4755 4769 -1] ) (case_arm pat_list: [{<Darwin>}] action: [(C {<add_cppflags>} {<-D_DARWIN_C_SOURCE>})] spids: [4771 4772 4780 -1] ) (case_arm pat_list:[{<DragonFly>}] spids:[4782 4783 4786 -1]) (case_arm pat_list:[{<FreeBSD>}] spids:[4788 4789 4792 -1]) (case_arm pat_list: [{<FreeMiNT>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} spids: [4798] ) ] ) (C {<add_cppflags>} {<-D_GNU_SOURCE>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4794 4795 4825 -1] ) (case_arm pat_list: [{<GNU>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$CC')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <tendracc> <Id.Lit_Star '*'>}] spids: [4838 4841 4843 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<add_cppflags>} {<-D_GNU_SOURCE>})] spids: [4846 4847 4853 -1] ) ] ) (C {<add_cppflags>} {<-DSETUID_CAN_FAIL_WITH_EAGAIN>}) (C {<add_cppflags>} {<-DMKSH__NO_PATH_MAX>}) ] spids: [4827 4828 4873 -1] ) (case_arm pat_list: [{<'GNU/kFreeBSD'>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$CC')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <tendracc> <Id.Lit_Star '*'>}] spids: [4886 4889 4891 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<add_cppflags>} {<-D_GNU_SOURCE>})] spids: [4894 4895 4901 -1] ) ] ) (C {<add_cppflags>} {<-DSETUID_CAN_FAIL_WITH_EAGAIN>}) ] spids: [4875 4876 4912 -1] ) (case_arm pat_list: [{<Haiku>}] action: [ (command.Sentence child: (C {<add_cppflags>} {<-DMKSH_ASSUME_UTF8>}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_ASSUME_UTF8) op: assign_op.Equal rhs: {<1>} spids: [4923] ) ] ) ] spids: [4914 4915 4927 -1] ) (case_arm pat_list:[{<HP-UX>}] spids:[4929 4930 4933 -1]) (case_arm pat_list: [{<Interix>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpc) op: assign_op.Equal rhs: {(SQ <'-X '>)} spids: [4939] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpl) op: assign_op.Equal rhs: {(SQ <'-Y '>)} spids: [4945] ) ] ) (C {<add_cppflags>} {<-D_ALL_SOURCE>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name LIBS> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<-lcrypt>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4935 4936 4978 -1] ) (case_arm pat_list: [{<IRIX> <Id.Lit_Star '*'>}] action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4980 4982 4996 -1] ) (case_arm pat_list: [{<Linux>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$CC')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <tendracc> <Id.Lit_Star '*'>}] spids: [5009 5012 5014 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<add_cppflags>} {<-D_GNU_SOURCE>})] spids: [5017 5018 5024 -1] ) ] ) (C {<add_cppflags>} {<-DSETUID_CAN_FAIL_WITH_EAGAIN>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_REVOKE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [4998 4999 5046 -1] ) (case_arm pat_list: [{<LynxOS>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} spids: [5052] ) ] ) ] spids: [5048 5049 5058 -1] ) (case_arm pat_list:[{<MidnightBSD>}] spids:[5060 5061 5064 -1]) (case_arm pat_list: [{<Minix-vmd>}] action: [ (C {<add_cppflags>} {<-DMKSH__NO_SETEUGID>}) (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<add_cppflags>} {<-D_MINIX_SOURCE>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldish_ed) op: assign_op.Equal rhs: {<no-stderr-ed>} spids: [5090] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5066 5067 5108 -1] ) (case_arm pat_list: [{<Minix3>}] action: [ (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<add_cppflags>} {<-DMKSH_NO_LIMITS>}) (C {<add_cppflags>} {<-D_POSIX_SOURCE>} {<-D_POSIX_1_SOURCE> <Id.Lit_Equals '='> <2>} {<-D_MINIX>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldish_ed) op: assign_op.Equal rhs: {<no-stderr-ed>} spids: [5140] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5110 5111 5158 -1] ) (case_arm pat_list:[{<MirBSD>}] spids:[5160 5161 5164 -1]) (case_arm pat_list: [{<MSYS_> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (C {<add_cppflags>} {<-DMKSH_ASSUME_UTF8> <Id.Lit_Equals '='> <0>}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_ASSUME_UTF8) op: assign_op.Equal rhs: {<1>} spids: [5178] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_STDINT_H> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5166 5168 5212 -1] ) (case_arm pat_list:[{<NetBSD>}] spids:[5214 5215 5218 -1]) (case_arm pat_list: [{<NEXTSTEP>}] action: [ (C {<add_cppflags>} {<-D_NEXT_SOURCE>}) (C {<add_cppflags>} {<-D_POSIX_SOURCE>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name AWK> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<gawk>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name CC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<'cc -posix'>}) ) ) } ) (C {<add_cppflags>} {<-DMKSH_NO_SIGSETJMP>}) (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [{<4.2> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it needs libposix.a'>)} spids: [5286] ) ] ) ] spids: [5277 5279 5292 -1] ) ] ) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) ] spids: [5220 5221 5303 -1] ) (case_arm pat_list: [{<Ninix3>}] action: [ (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<add_cppflags>} {<-DMKSH_NO_LIMITS>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has unknown issues'>)} spids: [5332] ) ] ) ] spids: [5305 5306 5338 -1] ) (case_arm pat_list: [{<OpenBSD>}] action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5340 5341 5355 -1] ) (case_arm pat_list: [{<'OS/2'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_TERMIOS_H) op: assign_op.Equal rhs: {<0>} spids: [5361] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_MKNOD) op: assign_op.Equal rhs: {<0>} spids: [5365] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it is currently being ported'>)} spids: [5372] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' nosymlink'>)} spids: [5378] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name CC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<gcc>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name SIZE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<': size'>}) ) ) } ) (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (C {<add_cppflags>} {<-DMKSH_NOPROSPECTOFWORK>}) ] spids: [5357 5358 5417 -1] ) (case_arm pat_list: [{<OSF1>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_SIG_T) op: assign_op.Equal rhs: {<0>} spids: [5423] ) ] ) (C {<add_cppflags>} {<-D_OSF_SOURCE>}) (C {<add_cppflags>} {<-D_POSIX_C_SOURCE> <Id.Lit_Equals '='> <200112L>}) (C {<add_cppflags>} {<-D_XOPEN_SOURCE> <Id.Lit_Equals '='> <600>}) (C {<add_cppflags>} {<-D_XOPEN_SOURCE_EXTENDED>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5419 5420 5465 -1] ) (case_arm pat_list: [{<Plan9>}] action: [ (C {<add_cppflags>} {<-D_POSIX_SOURCE>}) (C {<add_cppflags>} {<-D_LIMITS_EXTENSION>}) (C {<add_cppflags>} {<-D_BSD_EXTENSION>}) (C {<add_cppflags>} {<-D_SUSV2_SOURCE>}) (command.Sentence child: (C {<add_cppflags>} {<-DMKSH_ASSUME_UTF8>}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_ASSUME_UTF8) op: assign_op.Equal rhs: {<1>} spids: [5496] ) ] ) (C {<add_cppflags>} {<-DMKSH_NO_CMDLINE_EDITING>}) (C {<add_cppflags>} {<-DMKSH__NO_SETEUGID>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(SQ <' and will currently not work'>)} spids: [5510] ) ] ) (C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>}) (C {<add_cppflags>} {<-DMKSH_MAYBE_KENCC>}) ] spids: [5467 5468 5530 -1] ) (case_arm pat_list: [{<PW32> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_SIG_T) op: assign_op.Equal rhs: {<0>} spids: [5537] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(SQ <' and will currently not work'>)} spids: [5544] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5532 5534 5561 -1] ) (case_arm pat_list: [{<QNX>}] action: [ (C {<add_cppflags>} {<-D__NO_EXT_QNX>}) (C {<add_cppflags>} {<-D__EXT_UNIX_MISC>}) (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [ {<Id.Lit_LBracket '['> <012345> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'>} {<6.> <Id.Lit_LBracket '['> <0123> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'>} {<6.4.> <Id.Lit_LBracket '['> <01> <Id.Lit_RBracket ']'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldish_ed) op: assign_op.Equal rhs: {<no-stderr-ed>} spids: [5604] ) ] ) ] spids: [5584 5601 5611 -1] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5563 5564 5628 -1] ) (case_arm pat_list: [{<SCO_SV>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [{<3.2> <Id.Lit_Star '*'>}] action: [(C {<add_cppflags>} {<-DMKSH_UNEMPLOYED>})] spids: [5641 5643 5655 -1] ) (case_arm pat_list: [{<5> <Id.Lit_Star '*'>}] spids: [5658 5660 5667 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(SQ <'; this is an unknown version of'>)} spids: [5674] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$oswarn') ($ Id.VSub_DollarName '$nl') ($ Id.VSub_DollarName '$TARGET_OS') <' '> (${ Id.VSub_Name TARGET_OSREV) <', please tell me what to do'> ) } spids: [5680] ) ] ) ] spids: [5670 5671 5693 -1] ) ] ) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SYS_SIGLIST> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) (braced_var_sub token: <Id.VSub_Name HAVE__SYS_SIGLIST> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5630 5631 5720 -1] ) (case_arm pat_list: [{<skyos>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} spids: [5726] ) ] ) ] spids: [5722 5723 5732 -1] ) (case_arm pat_list: [{<SunOS>}] action: [(C {<add_cppflags>} {<-D_BSD_SOURCE>}) (C {<add_cppflags>} {<-D__EXTENSIONS__>})] spids: [5734 5735 5748 -1] ) (case_arm pat_list: [{<syllable>}] action: [ (C {<add_cppflags>} {<-D_GNU_SOURCE>}) (C {<add_cppflags>} {<-DMKSH_NO_SIGSUSPEND>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(SQ <' and will currently not work'>)} spids: [5764] ) ] ) ] spids: [5750 5751 5770 -1] ) (case_arm pat_list: [{<ULTRIX>}] action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name CC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<'cc -YPOSIX'>}) ) ) } ) (C {<add_cppflags>} {<-DMKSH_TYPEDEF_SSIZE_T> <Id.Lit_Equals '='> <int>}) (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5772 5773 5810 -1] ) (case_arm pat_list: [{<UnixWare>} {<UNIX_SV>}] action: [ (C {<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SYS_SIGLIST> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) (braced_var_sub token: <Id.VSub_Name HAVE__SYS_SIGLIST> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5812 5815 5843 -1] ) (case_arm pat_list: [{<UWIN> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpc) op: assign_op.Equal rhs: {(SQ <'-Yc,'>)} spids: [5850] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpl) op: assign_op.Equal rhs: {(SQ <'-Yl,'>)} spids: [5856] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tsts) op: assign_op.Equal rhs: {(DQ <' 3<>/dev/tty'>)} spids: [5862] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it will compile, but the target'>)} spids: [5868] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$oswarn') (${ Id.VSub_Name nl) <'platform itself is very flakey/unreliable'> ) } spids: [5874] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [5845 5847 5895 -1] ) (case_arm pat_list: [{<_svr4>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(SQ <'; it may or may not work'>)} spids: [5909] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OSREV'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-r>}))} spids: [5930] ) ] ) ] ) ] spids: [5897 5898 5940 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: assign_op.Equal rhs: {(SQ <'; it may or may not work'>)} spids: [5946] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OSREV'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-r>}))} spids: [5967] ) ] ) ] ) ] spids: [5942 5943 5977 -1] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_MKNOD> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name AWK> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<awk>}) ) (braced_var_sub token: <Id.VSub_Name CC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<cc>}) ) (braced_var_sub token: <Id.VSub_Name NROFF> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<nroff>}) ) (braced_var_sub token: <Id.VSub_Name SIZE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<size>}) ) ) } ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$r')}) (command.Pipeline children: [ (C {<echo>}) (command.Simple words: [{($ Id.VSub_DollarName '$NROFF')} {<-v>}] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.Simple words: [{<grep>} {<GNU>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] negated: F ) (command.Pipeline children: [ (C {<echo>}) (command.Simple words: [{($ Id.VSub_DollarName '$NROFF')} {<-c>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NROFF) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$NROFF') <' -c'>)} spids: [6071] ) ] ) ] ) (C {($ Id.VSub_DollarName '$e')} { (DQ <'Hi from'> ($ Id.VSub_DollarName '$ao') <' '> ($ Id.VSub_DollarName '$bi') ($ Id.VSub_DollarName '$srcversion') ($ Id.VSub_DollarName '$ao') <' on:'> ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{<AIX>}] action: [ (C {<vv>} {(SQ <'|'>)} {(DQ <'oslevel >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}) ] spids: [6099 6100 6125 -1] ) (case_arm pat_list: [{<Darwin>}] action: [ (C {<vv>} {(SQ <'|'>)} {(DQ <'hwprefs machine_type os_type os_class >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'sw_vers >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'system_profiler SPSoftwareDataType SPHardwareDataType >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'/bin/sh --version >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'xcodebuild -version >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}) (C {<vv>} {(SQ <'|'>)} { (DQ < 'sysctl kern.version hw.machine hw.model hw.memsize hw.availcpu hw.cpufrequency hw.byteorder hw.cpu64bit_capable >&2' > ) } ) ] spids: [6127 6128 6208 -1] ) (case_arm pat_list: [{<IRIX> <Id.Lit_Star '*'>}] action: [ (C {<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'hinv -v >&2'>)}) ] spids: [6210 6212 6237 -1] ) (case_arm pat_list: [{<OSF1>}] action: [ (C {<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'/usr/sbin/sizer -v >&2'>)}) ] spids: [6239 6240 6265 -1] ) (case_arm pat_list: [{<SCO_SV>} {<UnixWare>} {<UNIX_SV>}] action: [ (C {<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ <'uname -X >&2'>)}) ] spids: [6267 6272 6297 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)})] spids: [6299 6300 6314 -1] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$oswarn'))}) (command.Simple words: [ {<echo>} { (DQ <'\n'> <'Warning: mksh has not yet been ported to or tested on your\n'> <'operating system \''> ($ Id.VSub_DollarName '$TARGET_OS') <'\''> ($ Id.VSub_DollarName '$oswarn') <'. If you can provide\n'> <'a shell account to the developer, this may improve; please\n'> <'drop us a success or failure notice or even send in diffs.\n'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] ) (C {($ Id.VSub_DollarName '$e')} { (DQ ($ Id.VSub_DollarName '$bi') ($ Id.VSub_DollarName '$me') <': Building the MirBSD Korn Shell'> ($ Id.VSub_DollarName '$ao') <' '> ($ Id.VSub_DollarName '$ui') ($ Id.VSub_DollarName '$dstversion') ($ Id.VSub_DollarName '$ao') <' on '> ($ Id.VSub_DollarName '$TARGET_OS') <' '> (${ Id.VSub_Name TARGET_OSREV) <...> ) } ) (C {($ Id.VSub_DollarName '$e')} {($ Id.VSub_DollarName '$bi') ($ Id.VSub_DollarName '$me') <Id.Lit_Colon ':'>} {<Scanning>} {<Id.KW_For for>} {<functions...>} {<please>} {<ignore>} {<any>} {<errors.> ($ Id.VSub_DollarName '$ao')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPP) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CC') <' -E'>)} spids: [6421] ) ] ) (C {($ Id.VSub_DollarName '$e')} {<Id.Lit_TDot ...>} {<which>} {<compiler>} {<seems>} {<to>} {<be>} {<used>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 6522 stdin_parts: [ <'const char *\n'> <'#if defined(__ICC) || defined(__INTEL_COMPILER)\n'> <'ct="icc"\n'> <'#elif defined(__xlC__) || defined(__IBMC__)\n'> <'ct="xlc"\n'> <'#elif defined(__SUNPRO_C)\n'> <'ct="sunpro"\n'> <'#elif defined(__ACK__)\n'> <'ct="ack"\n'> <'#elif defined(__BORLANDC__)\n'> <'ct="bcc"\n'> <'#elif defined(__WATCOMC__)\n'> <'ct="watcom"\n'> <'#elif defined(__MWERKS__)\n'> <'ct="metrowerks"\n'> <'#elif defined(__HP_cc)\n'> <'ct="hpcc"\n'> <'#elif defined(__DECC) || (defined(__osf__) && !defined(__GNUC__))\n'> <'ct="dec"\n'> <'#elif defined(__PGI)\n'> <'ct="pgi"\n'> <'#elif defined(__DMC__)\n'> <'ct="dmc"\n'> <'#elif defined(_MSC_VER)\n'> <'ct="msc"\n'> < '#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)\n' > <'ct="adsp"\n'> <'#elif defined(__IAR_SYSTEMS_ICC__)\n'> <'ct="iar"\n'> <'#elif defined(SDCC)\n'> <'ct="sdcc"\n'> <'#elif defined(__PCC__)\n'> <'ct="pcc"\n'> <'#elif defined(__TenDRA__)\n'> <'ct="tendra"\n'> <'#elif defined(__TINYC__)\n'> <'ct="tcc"\n'> <'#elif defined(__llvm__) && defined(__clang__)\n'> <'ct="clang"\n'> <'#elif defined(__NWCC__)\n'> <'ct="nwcc"\n'> <'#elif defined(__GNUC__)\n'> <'ct="gcc"\n'> <'#elif defined(_COMPILER_VERSION)\n'> <'ct="mipspro"\n'> <'#elif defined(__sgi)\n'> <'ct="mipspro"\n'> <'#elif defined(__hpux) || defined(__hpua)\n'> <'ct="hpcc"\n'> <'#elif defined(__ultrix)\n'> <'ct="ucode"\n'> <'#elif defined(__USLC__)\n'> <'ct="uslc"\n'> <'#elif defined(__LCC__)\n'> <'ct="lcc"\n'> <'#elif defined(MKSH_MAYBE_KENCC)\n'> <'/* and none of the above matches */\n'> <'ct="kencc"\n'> <'#else\n'> <'ct="unknown"\n'> <'#endif\n'> <';\n'> <'const char *\n'> <'#if defined(__KLIBC__) && !defined(__OS2__)\n'> <'et="klibc"\n'> <'#else\n'> <'et="unknown"\n'> <'#endif\n'> <';\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ct) op: assign_op.Equal rhs: {<untested>} spids: [6523] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:et) op: assign_op.Equal rhs: {<untested>} spids: [6526] ) ] ) (C {<vv>} {(SQ <']'>)} { (DQ ($ Id.VSub_DollarName '$CPP') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' conftest.c | '> <' sed -n \'/^ *[ce]t *= */s/^ *'> <Id.Lit_BadBackslash '\\'> <'([ce]t'> <Id.Lit_BadBackslash '\\'> <') *= */'> <Id.Lit_BadBackslash '\\'> <'1=/p\' | tr -d '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'015 >x'> ) } ) (C {<sed>} {(SQ <'s/^/[ /'>)} {<x>}) (C {<eval>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<cat>} {<x>}))}) (C {<rmf>} {<x>} {<vv.out>}) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 6593 stdin_parts: [<'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'>] ) ) ] do_fork: T ) (command.Case to_match: {($ Id.VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{<ack>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ <'-Dconst= '> ($ Id.VSub_DollarName '$CPPFLAGS'))} spids: [6608] ) ] ) ] spids: [6600 6601 6615 -1] ) (case_arm pat_list: [{<adsp>}] action: [ (command.Simple words: [ {<echo>} { (SQ <'Warning: Analog Devices C++ compiler for Blackfin, TigerSHARC\n'> <' and SHARC (21000) DSPs detected. This compiler has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [6617 6618 6634 -1] ) (case_arm pat_list: [{<bcc>}] action: [ (command.Simple words: [ {<echo>} { (DQ <'Warning: Borland C++ Builder detected. This compiler might\n'> <' produce broken executables. Continue at your own risk,\n'> <' please report success/failure to the developers.'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [6636 6637 6652 -1] ) (case_arm pat_list: [{<clang>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -version'> ) } ) (C {<vv>} {(SQ <'|'>)} { (DQ (braced_var_sub token: <Id.VSub_Name CLANG> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<clang>}) ) <' -version'> ) } ) (C {<vv>} {(SQ <'|'>)} { (DQ (braced_var_sub token: <Id.VSub_Name CLANG> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<clang>}) ) <' --version'> ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$CCC_CC') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$CCC_LD')} arms: [ (case_arm pat_list: [{<Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] spids: [6733 6735 6737 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <Id.Lit_Colon ':'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CCC_LD) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CCC_CC')} spids: [6744] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<CCC_LD>}) ] spids: [6740 6742 6752 -1] ) ] ) ] spids: [6654 6655 6758 -1] ) (case_arm pat_list: [{<dec>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -V'> ) } ) (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -Wl,-V conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [6760 6761 6807 -1] ) (case_arm pat_list: [{<dmc>}] action: [ (command.Simple words: [{<echo>} {(DQ <'Warning: Digital Mars Compiler detected. When running under'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <' UWIN, mksh tends to be unstable due to the limitations'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <' of this platform. Continue at your own risk,'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <' please report success/failure to the developers.'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [6809 6810 6853 -1] ) (case_arm pat_list: [{<gcc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -v conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) (C {<vv>} {(SQ <'|'>)} { (SQ <'echo `$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN $LIBS \\\n'> <'\t -dumpmachine` gcc`$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN \\\n'> <'\t $LIBS -dumpversion`'> ) } ) ] spids: [6855 6856 6893 -1] ) (case_arm pat_list: [{<hpcc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -V conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [6895 6896 6920 -1] ) (case_arm pat_list: [{<iar>}] action: [ (command.Simple words: [ {<echo>} { (SQ <'Warning: IAR Systems (http://www.iar.com) compiler for embedded\n'> <' systems detected. This unsupported compiler has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [6922 6923 6939 -1] ) (case_arm pat_list: [{<icc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -V'> ) } ) ] spids: [6941 6942 6967 -1] ) (case_arm pat_list: [{<kencc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -v conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [6969 6970 6994 -1] ) (case_arm pat_list: [{<lcc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -v conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) (C {<add_cppflags>} {<-D__inline__> <Id.Lit_Equals '='> <__inline>}) ] spids: [6996 6997 7028 -1] ) (case_arm pat_list: [{<metrowerks>}] action: [ (command.Simple words: [ {<echo>} { (SQ <'Warning: Metrowerks C compiler detected. This has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [7030 7031 7046 -1] ) (case_arm pat_list: [{<mipspro>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -version'> ) } ) ] spids: [7048 7049 7074 -1] ) (case_arm pat_list: [{<msc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpr) op: assign_op.Equal rhs: (word.Empty) spids: [7080] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{<Interix>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$C89_COMPILER')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_COMPILER) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<ntpath2posix>} {<-c>} {(DQ ($ Id.VSub_DollarName '$C89_COMPILER'))} ) ) } spids: [7111] ) ] ) ] spids: [7097 7108] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_COMPILER) op: assign_op.Equal rhs: {<CL.EXE>} spids: [7128] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$C89_LINKER')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_LINKER) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<ntpath2posix>} {<-c>} {(DQ ($ Id.VSub_DollarName '$C89_LINKER'))} ) ) } spids: [7149] ) ] ) ] spids: [7135 7146] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_LINKER) op: assign_op.Equal rhs: {<LINK.EXE>} spids: [7166] ) ] ) ] ) (C {<vv>} {(SQ <'|'>)} {(DQ ($ Id.VSub_DollarName '$C89_COMPILER') <' /HELP >&2'>)}) (C {<vv>} {(SQ <'|'>)} {(DQ ($ Id.VSub_DollarName '$C89_LINKER') <' /LINK >&2'>)}) ] spids: [7093 7094 7197 -1] ) ] ) ] spids: [7076 7077 7203 -1] ) (case_arm pat_list: [{<nwcc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -version'> ) } ) ] spids: [7205 7206 7231 -1] ) (case_arm pat_list: [{<pcc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -v'> ) } ) ] spids: [7233 7234 7259 -1] ) (case_arm pat_list: [{<pgi>}] action: [ (command.Simple words: [ {<echo>} { (SQ <'Warning: PGI detected. This unknown compiler has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [7261 7262 7277 -1] ) (case_arm pat_list: [{<sdcc>}] action: [ (command.Simple words: [ {<echo>} { (SQ <'Warning: sdcc (http://sdcc.sourceforge.net), the small devices\n'> <' C compiler for embedded systems detected. This has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [7279 7280 7296 -1] ) (case_arm pat_list: [{<sunpro>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -V conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [7298 7299 7323 -1] ) (case_arm pat_list: [{<tcc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -v'> ) } ) ] spids: [7325 7326 7351 -1] ) (case_arm pat_list: [{<tendra>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -V 2>&1 | '> <'\t grep -F -i -e version -e release'> ) } ) ] spids: [7353 7354 7381 -1] ) (case_arm pat_list: [{<ucode>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -V'> ) } ) (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -Wl,-V conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [7383 7384 7430 -1] ) (case_arm pat_list: [{<uslc>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$TARGET_OS') <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$TARGET_OSREV') } arms: [ (case_arm pat_list: [{<SCO_SV> <Id.Lit_Colon ':'> <3.2> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CFLAGS') <' -g'>)} spids: [7456] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_CAN_OTWO> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) (braced_var_sub token: <Id.VSub_Name HAVE_CAN_OPTIMISE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] spids: [7445 7449 7479 -1] ) ] ) (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -V conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [7432 7433 7506 -1] ) (case_arm pat_list: [{<watcom>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -v conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [7508 7509 7533 -1] ) (case_arm pat_list: [{<xlc>}] action: [ (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -qversion'> ) } ) (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' '> ($ Id.VSub_DollarName '$LIBS') <' -qversion=verbose'> ) } ) (C {<vv>} {(SQ <'|'>)} {(DQ <'ld -V'>)}) ] spids: [7535 7536 7594 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$ct'))} {<Id.Lit_Equals '='>} {<x> (DQ <untested>)} ) (C {($ Id.VSub_DollarName '$e')} {(DQ <'!!! detecting preprocessor failed'>)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ct) op: assign_op.Equal rhs: {<unknown>} spids: [7623] ) ] ) (C {<vv>} {(DQ ($ Id.VSub_DollarName '$CC') <' --version'>)}) (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -v conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) (C {<vv>} {(SQ <'|'>)} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -V conftest.c '> ($ Id.VSub_DollarName '$LIBS') ) } ) ] spids: [7596 7597 7677 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{<dragonegg>} {<llvm>}] action: [(C {<vv>} {(SQ <'|'>)} {(DQ <'llc -version'>)})] spids: [7687 7690 7704 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:etd) op: assign_op.Equal rhs: {(DQ <' on '> ($ Id.VSub_DollarName '$et'))} spids: [7708] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$et')} arms: [ (case_arm pat_list: [{<klibc>}] action: [(C {<add_cppflags>} {<-DMKSH_NO_LIMITS>})] spids: [7720 7721 7729 -1] ) (case_arm pat_list: [{<unknown>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:etd) op: assign_op.Equal rhs: (word.Empty) spids: [7739] ) ] ) ] spids: [7731 7732 7742 -1] ) (case_arm pat_list:[{<Id.Lit_Star '*'>}] spids:[7744 7745 7752 -1]) ] ) (C {($ Id.VSub_DollarName '$e')} { (DQ ($ Id.VSub_DollarName '$bi') <'==> which compiler seems to be used...'> ($ Id.VSub_DollarName '$ao') <' '> ($ Id.VSub_DollarName '$ui') ($ Id.VSub_DollarName '$ct') ($ Id.VSub_DollarName '$etd') ($ Id.VSub_DollarName '$ao') ) } ) (C {<rmf>} {<conftest.c>} {<conftest.o>} {<conftest>} {<a.out> <Id.Lit_Star '*'>} {<a.exe> <Id.Lit_Star '*'>} {<conftest.exe> <Id.Lit_Star '*'>} {<vv.out>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$NOWARN')} spids: [7798] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [7801] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [7803] ) ] ) (C {<ac_flags>} {<0>} {<compiler_works>} {(SQ )} {(SQ <'if the compiler works'>)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_COMPILER_WORKS')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_COMPILER_KNOWN) op: assign_op.Equal rhs: {<0>} spids: [7832] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<unknown>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_COMPILER_KNOWN) op: assign_op.Equal rhs: {<1>} spids: [7845] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<ac_ifcpp>} {(SQ <'if 0'>)} {<compiler_fails>} {(SQ )} {(SQ <'if the compiler does not fail correctly'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CFLAGS')} spids: [7871] ) ] ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_CAN_DELEXE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<x>}) ) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{<dec>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$CFLAGS') <' '> (${ Id.VSub_Name ccpl) <-non_shared> ) } spids: [7897] ) ] ) (command.Simple words: [ {<ac_testn>} {<can_delexe>} {<compiler_fails>} {<0>} {(SQ <'for the -non_shared linker option'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 7926 stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) ] spids: [7893 7894 7928 -1] ) (case_arm pat_list: [{<dmc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$CFLAGS') <' '> (${ Id.VSub_Name ccpl) <'/DELEXECUTABLE'> ) } spids: [7935] ) ] ) (command.Simple words: [ {<ac_testn>} {<can_delexe>} {<compiler_fails>} {<0>} {(SQ <'for the /DELEXECUTABLE linker option'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 7964 stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) ] spids: [7931 7932 7966 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [7969 7970 7978 -1] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_DELEXE')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_CFLAGS')} spids: [7994] ) ] ) ] ) (command.Simple words: [ {<ac_testn>} {<compiler_still_fails>} {(SQ )} {(SQ <'if the compiler still does not fail correctly'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin:{<EOF>} here_end_span_id:8013) ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_COMPILER_STILL_FAILS')} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] spids: [7848 7868] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<ac_ifcpp>} {(SQ <'ifdef __TINYC__'>)} {<couldbe_tcc>} {(SQ <'!'>)} {<compiler_known>} {<0>} {(SQ <'if this could be tcc'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ct) op: assign_op.Equal rhs: {<tcc>} spids: [8059] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPP) op: assign_op.Equal rhs: {(SQ <'cpp -D__TINYC__'>)} spids: [8063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_COMPILER_KNOWN) op: assign_op.Equal rhs: {<1>} spids: [8069] ) ] ) ] spids: [8031 8056] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{<bcc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <-w>)} spids: [8085] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <'-w!'>)} spids: [8094] ) ] ) ] spids: [8081 8082 8103 -1] ) (case_arm pat_list:[{<dec>}] spids:[8105 8106 8113 -1]) (case_arm pat_list: [{<dmc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <-w>)} spids: [8119] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <-wx>)} spids: [8128] ) ] ) ] spids: [8115 8116 8137 -1] ) (case_arm pat_list: [{<hpcc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8143] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {<Id.Lit_Other '+'> <We>} spids: [8146] ) ] ) ] spids: [8139 8140 8151 -1] ) (case_arm pat_list: [{<kencc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8157] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8160] ) ] ) ] spids: [8153 8154 8163 -1] ) (case_arm pat_list: [{<mipspro>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8169] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {(DQ <'-diag_error 1-10000'>)} spids: [8172] ) ] ) ] spids: [8165 8166 8178 -1] ) (case_arm pat_list: [{<msc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <'/w'>)} spids: [8184] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <'/WX'>)} spids: [8193] ) ] ) ] spids: [8180 8181 8202 -1] ) (case_arm pat_list: [{<sunpro>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$save_NOWARN'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {(SQ <'-errwarn=%none'>)} spids: [8223] ) ] ) ] ) (C {<ac_flags>} {<0>} {<errwarnnone>} {(DQ ($ Id.VSub_DollarName '$save_NOWARN'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_ERRWARNNONE')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8250] ) ] ) ] ) (C {<ac_flags>} {<0>} {<errwarnall>} {(DQ <'-errwarn=%all'>)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_ERRWARNALL')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {(DQ <'-errwarn=%all'>)} spids: [8274] ) ] ) ] ) ] spids: [8204 8205 8280 -1] ) (case_arm pat_list: [{<tendra>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {<-w>} spids: [8286] ) ] ) ] spids: [8282 8283 8290 -1] ) (case_arm pat_list: [{<ucode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8296] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {<-w2>} spids: [8299] ) ] ) ] spids: [8292 8293 8303 -1] ) (case_arm pat_list: [{<watcom>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8309] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {<-Wc> <Id.Lit_Comma ','> <-we>} spids: [8312] ) ] ) ] spids: [8305 8306 8318 -1] ) (case_arm pat_list: [{<xlc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {<-qflag> <Id.Lit_Equals '='> <i> <Id.Lit_Colon ':'> <e>} spids: [8324] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {<-qflag> <Id.Lit_Equals '='> <i> <Id.Lit_Colon ':'> <i>} spids: [8332] ) ] ) ] spids: [8320 8321 8340 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$save_NOWARN'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: {<-Wno-error>} spids: [8361] ) ] ) ] ) (C {<ac_flags>} {<0>} {<wnoerror>} {(DQ ($ Id.VSub_DollarName '$save_NOWARN'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_WNOERROR')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: assign_op.Equal rhs: (word.Empty) spids: [8386] ) ] ) ] ) (C {<ac_flags>} {<0>} {<werror>} {<-Werror>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_WERROR')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {<-Werror>} spids: [8408] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<icc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$DOWARN') <' -wd1419'>)} spids: [8422] ) ] ) ] ) ] spids: [8342 8343 8429 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_NOWARN')} spids: [8433] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {<Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName '$orig_CFLAGS'))}) (C {<sed>} {(SQ <'s/^://'>)}) (C {<tr>} {<-c>} {<-d>} {($ Id.VSub_DollarName '$alll') ($ Id.VSub_DollarName '$allu') ($ Id.VSub_DollarName '$alln') } ) ] negated: F ) ) } spids: [8446] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$i'))} {<Id.Lit_Equals '='>} {<x> (DQ )}) (command.Case to_match: {($ Id.VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{<hpcc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<u>} spids: [8506] ) ] ) (C {<ac_flags>} {<1>} {<otwo>} {<Id.Lit_Other '+'> <O2>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<x>} spids: [8520] ) ] ) ] spids: [8502 8503 8524 -1] ) (case_arm pat_list:[{<kencc>} {<tcc>} {<tendra>}] spids:[8526 8531 8538 -1]) (case_arm pat_list: [{<sunpro>}] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 8559 stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> <'#define __IDSTRING_CONCAT(l,p)\t__LINTED__ ## l ## _ ## p\n'> <'#define __IDSTRING_EXPAND(l,p)\t__IDSTRING_CONCAT(l,p)\n'> <'#define pad\t\t\tvoid __IDSTRING_EXPAND(__LINE__,x)(void) { }\n'> ] ) ) ] do_fork: T ) (command.Pipeline children: [ (C {<yes>} {<pad>}) (command.Simple words: [{<head>} {<-n>} {<256>}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<ac_flags>} {<->} {<1>} {<otwo>} {<-xO2>}] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>})] do_fork: T ) (C {<rmf>} {<x>}) ] spids: [8540 8541 8596 -1] ) (case_arm pat_list: [{<xlc>}] action: [ (C {<ac_flags>} {<1>} {<othree>} {(DQ <'-O3 -qstrict'>)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_OTHREE')}) (C {<ac_flags>} {<1>} {<otwo>} {<-O2>}) ] ) ] spids: [8598 8599 8632 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<ac_flags>} {<1>} {<otwo>} {<-O2>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_OTWO')}) (C {<ac_flags>} {<1>} {<optimise>} {<-O>}) ] ) ] spids: [8634 8635 8666 -1] ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:i) op:assign_op.Equal rhs:{<0>} spids:[8673])] ) (command.Case to_match: {($ Id.VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{<bcc>}] action: [ (C {<ac_flags>} {<1>} {<strpool>} {(DQ (${ Id.VSub_Name ccpc) <-d>)} {(SQ <'if string pooling can be enabled'>)} ) ] spids: [8682 8683 8704 -1] ) (case_arm pat_list: [{<clang>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: {<1>} spids: [8710] ) ] ) ] spids: [8706 8707 8714 -1] ) (case_arm pat_list: [{<dec>}] action: [ (C {<ac_flags>} {<0>} {<verb>} {<-verbose>}) (C {<ac_flags>} {<1>} {<rodata>} {<-readonly_strings>}) ] spids: [8716 8717 8738 -1] ) (case_arm pat_list: [{<dmc>}] action: [ (C {<ac_flags>} {<1>} {<decl>} {(DQ (${ Id.VSub_Name ccpc) <-r>)} {(SQ <'for strict prototype checks'>)} ) (C {<ac_flags>} {<1>} {<schk>} {(DQ (${ Id.VSub_Name ccpc) <-s>)} {(SQ <'for stack overflow checking'>)} ) ] spids: [8740 8741 8780 -1] ) (case_arm pat_list: [{<gcc>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$DOWARN')} spids: [8790] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<u>} spids: [8794] ) ] ) (C {<ac_flags>} {<1>} {<wnodeprecateddecls>} {<-Wno-deprecated-declarations>}) (C {<ac_flags>} {<1>} {<no_eh_frame>} {<-fno-asynchronous-unwind-tables>}) (C {<ac_flags>} {<1>} {<fnostrictaliasing>} {<-fno-strict-aliasing>}) (C {<ac_flags>} {<1>} {<fstackprotectorstrong>} {<-fstack-protector-strong>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_FSTACKPROTECTORSTRONG')} ) (C {<ac_flags>} {<1>} {<fstackprotectorall>} {<-fstack-protector-all>}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<dragonegg>}) (command.Case to_match: { (DQ <' '> ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ) } arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <-fplugin> <Id.Lit_Equals '='> <Id.Lit_Star '*'> <dragonegg> <Id.Lit_Star '*'> } ] spids: [8884 8891 8893 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<ac_flags>} {<1>} {<fplugin_dragonegg>} {<-fplugin> <Id.Lit_Equals '='> <dragonegg>} ) ] spids: [8896 8897 8909 -1] ) ] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{<combine>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [8926] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checks) op: assign_op.Equal rhs: {(SQ <'7 8'>)} spids: [8930] ) ] ) ] spids: [8922 8923 8936 -1] ) (case_arm pat_list: [{<lto>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [8943] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checks) op: assign_op.Equal rhs: {(SQ <'1 2 3 4 5 6 7 8'>)} spids: [8947] ) ] ) ] spids: [8939 8940 8953 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [8960] ) ] ) ] spids: [8956 8957 8964 -1] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<1>}) (command.ForEach iter_name: what iter_words: [{($ Id.VSub_DollarName '$checks')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<1>}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$what')} arms: [ (case_arm pat_list: [{<1>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <'-flto=jobserver'>)} spids: [9015] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ <-fuse-linker-plugin>)} spids: [9021] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<1>} spids: [9027] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<fltojs_lp>} spids: [9030] ) ] ) ] spids: [9012 9013 9033 -1] ) (case_arm pat_list: [{<2>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <'-flto=jobserver'>)} spids: [9039] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ )} spids: [9044] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<1>} spids: [9049] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<fltojs_nn>} spids: [9052] ) ] ) ] spids: [9036 9037 9055 -1] ) (case_arm pat_list: [{<3>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <'-flto=jobserver'>)} spids: [9061] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ <'-fno-use-linker-plugin -fwhole-program'>)} spids: [9067] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<1>} spids: [9073] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<fltojs_np>} spids: [9076] ) ] ) ] spids: [9058 9059 9079 -1] ) (case_arm pat_list: [{<4>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <-flto>)} spids: [9085] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ <-fuse-linker-plugin>)} spids: [9091] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<1>} spids: [9097] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<fltons_lp>} spids: [9100] ) ] ) ] spids: [9082 9083 9103 -1] ) (case_arm pat_list: [{<5>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <-flto>)} spids: [9109] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ )} spids: [9114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<1>} spids: [9119] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<fltons_nn>} spids: [9122] ) ] ) ] spids: [9106 9107 9125 -1] ) (case_arm pat_list: [{<6>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <-flto>)} spids: [9131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ <'-fno-use-linker-plugin -fwhole-program'>)} spids: [9137] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<1>} spids: [9143] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<fltons_np>} spids: [9146] ) ] ) ] spids: [9128 9129 9149 -1] ) (case_arm pat_list: [{<7>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: assign_op.Equal rhs: {(SQ <'-fwhole-program --combine'>)} spids: [9155] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: assign_op.Equal rhs: {(SQ )} spids: [9160] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: assign_op.Equal rhs: {<0>} spids: [9165] ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: assign_op.Equal rhs: {<combine>} spids: [9168] ) (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: assign_op.Equal rhs: {<combine>} spids: [9171] ) ] ) ] spids: [9152 9153 9174 -1] ) (case_arm pat_list: [{<8>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [9180] ) (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: assign_op.Equal rhs: {<normal>} spids: [9183] ) ] ) ] spids: [9177 9178 9186 -1] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<1>}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) (C {<ac_flags>} {($ Id.VSub_DollarName '$t_use')} {($ Id.VSub_DollarName '$t_name')} {(DQ ($ Id.VSub_DollarName '$t_cflags'))} { (DQ <'if gcc supports '> ($ Id.VSub_DollarName '$t_cflags') <' '> ($ Id.VSub_DollarName '$t_ldflags') ) } {(DQ ($ Id.VSub_DollarName '$t_ldflags'))} ) ] ) ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: {<1>} spids: [9232] ) ] ) ] spids: [8782 8783 9236 -1] ) (case_arm pat_list: [{<hpcc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<u>} spids: [9242] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<x>} spids: [9254] ) ] ) ] spids: [9238 9239 9258 -1] ) (case_arm pat_list: [{<icc>}] action: [ (C {<ac_flags>} {<1>} {<fnobuiltinsetmode>} {<-fno-builtin-setmode>}) (C {<ac_flags>} {<1>} {<fnostrictaliasing>} {<-fno-strict-aliasing>}) (C {<ac_flags>} {<1>} {<fstacksecuritycheck>} {<-fstack-security-check>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: {<1>} spids: [9291] ) ] ) ] spids: [9260 9261 9295 -1] ) (case_arm pat_list: [{<mipspro>}] action: [ (C {<ac_flags>} {<1>} {<fullwarn>} {<-fullwarn>} {(SQ <'for remark output support'>)}) ] spids: [9297 9298 9314 -1] ) (case_arm pat_list: [{<msc>}] action: [ (C {<ac_flags>} {<1>} {<strpool>} {(DQ (${ Id.VSub_Name ccpc) <'/GF'>)} {(SQ <'if string pooling can be enabled'>)} ) (command.Simple words: [{<echo>} {(SQ <'int main(void) { char test[64] = ""; return (*test); }'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.Simple words: [ {<ac_flags>} {<->} {<1>} {<stackon>} {(DQ (${ Id.VSub_Name ccpc) <'/GZ'>)} {(SQ <'if stack checks can be enabled'>)} ] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>})] do_fork: T ) (command.Simple words: [ {<ac_flags>} {<->} {<1>} {<stckall>} {(DQ (${ Id.VSub_Name ccpc) <'/Ge'>)} {(SQ <'stack checks for all functions'>)} ] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>})] do_fork: T ) (command.Simple words: [ {<ac_flags>} {<->} {<1>} {<secuchk>} {(DQ (${ Id.VSub_Name ccpc) <'/GS'>)} {(SQ <'for compiler security checks'>)} ] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>})] do_fork: T ) (C {<rmf>} {<x>}) (C {<ac_flags>} {<1>} {<wall>} {(DQ (${ Id.VSub_Name ccpc) <'/Wall'>)} {(SQ <'to enable all warnings'>)} ) (C {<ac_flags>} {<1>} {<wp64>} {(DQ (${ Id.VSub_Name ccpc) <'/Wp64'>)} {(SQ <'to enable 64-bit warnings'>)} ) ] spids: [9316 9317 9458 -1] ) (case_arm pat_list: [{<nwcc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: {<1>} spids: [9464] ) ] ) ] spids: [9460 9461 9472 -1] ) (case_arm pat_list: [{<sunpro>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<u>} spids: [9478] ) ] ) (C {<ac_flags>} {<1>} {<v>} {<-v>}) (C {<ac_flags>} {<1>} {<ipo>} {<-xipo>} {(SQ <'for cross-module optimisation'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<x>} spids: [9504] ) ] ) ] spids: [9474 9475 9508 -1] ) (case_arm pat_list: [{<tcc>}] action: [(C {<Id.Lit_Colon ':'>})] spids: [9510 9511 9520 -1] ) (case_arm pat_list: [{<tendra>}] action: [ (C {<ac_flags>} {<0>} {<ysystem>} {<-Ysystem>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_YSYSTEM')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ <'-Ysystem '> ($ Id.VSub_DollarName '$CPPFLAGS'))} spids: [9545] ) ] ) ] ) (C {<ac_flags>} {<1>} {<extansi>} {<-Xa>}) ] spids: [9522 9523 9561 -1] ) (case_arm pat_list: [{<xlc>}] action: [ (C {<ac_flags>} {<1>} {<rodata>} {(DQ <'-qro -qroconst -qroptr'>)}) (C {<ac_flags>} {<1>} {<rtcheck>} {<-qcheck> <Id.Lit_Equals '='> <all>}) (C {<ac_flags>} {<1>} {<wformat>} {(DQ <'-qformat=all -qformat=nozln'>)}) ] spids: [9563 9564 9608 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$i')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<ac_flags>} {<1>} {<wall>} {<-Wall>}) (C {<ac_flags>} {<1>} {<fwrapv>} {<-fwrapv>}) ] spids: [9615 9626] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<x>} spids: [9649] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$DOWARN')} spids: [9655] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$ct')} {<Id.Lit_Equals '='>} {<pcc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<u>} spids: [9668] ) ] ) ] ) (command.Simple words: [{<ac_test>} {<attribute_bounded>} {(SQ )} {(SQ <'for __attribute__((__bounded__))'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 9716 stdin_parts: [ <'#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'/* force a failure: TenDRA and gcc 1.42 have false positive here */\n'> <'int main(void) { return (thiswillneverbedefinedIhope()); }\n'> <'#else\n'> <'#include <string.h>\n'> <'#undef __attribute__\n'> <'int xcopy(const void *, void *, size_t)\n'> <' __attribute__((__bounded__(__buffer__, 1, 3)))\n'> <' __attribute__((__bounded__(__buffer__, 2, 3)));\n'> <'int main(int ac, char *av[]) { return (xcopy(av[0], av[--ac], 1)); }\n'> <'int xcopy(const void *s, void *d, size_t n) {\n'> <'/*\n'> <' * if memmove does not exist, we are not on a system\n'> <' * with GCC with __bounded__ attribute either so poo\n'> <' */\n'> <'memmove(d, s, n); return ((int)n);\n'> <'}\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<attribute_format>} {(SQ )} {(SQ <'for __attribute__((__format__))'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 9746 stdin_parts: [ <'#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'/* force a failure: TenDRA and gcc 1.42 have false positive here */\n'> <'int main(void) { return (thiswillneverbedefinedIhope()); }\n'> <'#else\n'> <'#define fprintf printfoo\n'> <'#include <stdio.h>\n'> <'#undef __attribute__\n'> <'#undef fprintf\n'> <'extern int fprintf(FILE *, const char *format, ...)\n'> <' __attribute__((__format__(__printf__, 2, 3)));\n'> <'int main(int ac, char **av) { return (fprintf(stderr, "%s%d", *av, ac)); }\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<attribute_noreturn>} {(SQ )} {(SQ <'for __attribute__((__noreturn__))'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 9774 stdin_parts: [ <'#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'/* force a failure: TenDRA and gcc 1.42 have false positive here */\n'> <'int main(void) { return (thiswillneverbedefinedIhope()); }\n'> <'#else\n'> <'#include <stdlib.h>\n'> <'#undef __attribute__\n'> <'void fnord(void) __attribute__((__noreturn__));\n'> <'int main(void) { fnord(); }\n'> <'void fnord(void) { exit(0); }\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<attribute_pure>} {(SQ )} {(SQ <'for __attribute__((__pure__))'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 9802 stdin_parts: [ <'#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'/* force a failure: TenDRA and gcc 1.42 have false positive here */\n'> <'int main(void) { return (thiswillneverbedefinedIhope()); }\n'> <'#else\n'> <'#include <unistd.h>\n'> <'#undef __attribute__\n'> <'int foo(const char *) __attribute__((__pure__));\n'> <'int main(int ac, char **av) { return (foo(av[ac - 1]) + isatty(0)); }\n'> <'int foo(const char *s) { return ((int)s[0]); }\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<attribute_unused>} {(SQ )} {(SQ <'for __attribute__((__unused__))'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 9829 stdin_parts: [ <'#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'/* force a failure: TenDRA and gcc 1.42 have false positive here */\n'> <'int main(void) { return (thiswillneverbedefinedIhope()); }\n'> <'#else\n'> <'#include <unistd.h>\n'> <'#undef __attribute__\n'> <'int main(int ac __attribute__((__unused__)), char **av\n'> <' __attribute__((__unused__))) { return (isatty(0)); }\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<attribute_used>} {(SQ )} {(SQ <'for __attribute__((__used__))'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 9856 stdin_parts: [ <'#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n'> <'extern int thiswillneverbedefinedIhope(void);\n'> <'/* force a failure: TenDRA and gcc 1.42 have false positive here */\n'> <'int main(void) { return (thiswillneverbedefinedIhope()); }\n'> <'#else\n'> <'#include <unistd.h>\n'> <'#undef __attribute__\n'> <'static const char fnord[] __attribute__((__used__)) = "42";\n'> <'int main(void) { return (isatty(0)); }\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_NOWARN')} spids: [9861] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:phase) op: assign_op.Equal rhs: {<x>} spids: [9864] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<ac_ifcpp>} {(SQ <'ifdef MKSH_SMALL'>)} {<isset_MKSH_SMALL>} {(SQ )} {(DQ <'if a reduced-feature mksh is requested'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_NICE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_PERSISTENT_HISTORY> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' smksh'>)} spids: [9922] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_CONSERVATIVE_FDS) op: assign_op.Equal rhs: {<1>} spids: [9929] ) ] ) ] spids: [9877 9897] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<ac_ifcpp>} {(SQ <'if defined(MKSH_BINSHPOSIX) || defined(MKSH_BINSHREDUCED)'>)} {<isset_MKSH_BINSH>} {(SQ )} {(SQ <'if invoking as sh should be handled specially'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' binsh'>)} spids: [9958] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<ac_ifcpp>} {(SQ <'ifdef MKSH_UNEMPLOYED'>)} {<isset_MKSH_UNEMPLOYED>} {(SQ )} {(DQ <'if mksh will be built without job control'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' arge'>)} spids: [9985] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<ac_ifcpp>} {(SQ <'ifdef MKSH_NOPROSPECTOFWORK'>)} {<isset_MKSH_NOPROSPECTOFWORK>} {(SQ )} {(DQ <'if mksh will be built without job signals'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' arge nojsig'>)} spids: [10012] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<ac_ifcpp>} {(SQ <'ifdef MKSH_ASSUME_UTF8'>)} {<isset_MKSH_ASSUME_UTF8>} {(SQ )} {(SQ <'if the default UTF-8 mode is specified'>)} ) (C {<Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<0>}) ) ) } ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<ac_ifcpp>} {(SQ <'ifdef MKSH_CONSERVATIVE_FDS'>)} {<isset_MKSH_CONSERVATIVE_FDS>} {(SQ )} {(SQ <'if traditional/conservative fd use is requested'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' convfds'>)} spids: [10068] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<ac_ifcpp>} {(SQ <'ifdef MKSH_MIDNIGHTBSD01ASH_COMPAT'>)} {<isset_MKSH_MIDNIGHTBSD01ASH_COMPAT>} {(SQ )} {(SQ <'if the MidnightBSD 0.1 ash compatibility mode is requested'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' mnbsdash'>)} spids: [10113] ) ] ) ] ) (C {<ac_header>} {<'sys/time.h'>} {<'sys/types.h'>}) (C {<ac_header>} {<time.h>} {<'sys/types.h'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(DQ <11>)} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$HAVE_SYS_TIME_H') ($ Id.VSub_DollarName '$HAVE_TIME_H'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_BOTH_TIME_H) op: assign_op.Equal rhs: {<0>} spids: [10156] ) ] ) ] ) (command.Simple words: [ {<ac_test>} {<both_time_h>} {(SQ )} {(SQ <'whether <sys/time.h> and <time.h> can both be included'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10180 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <sys/time.h>\n'> <'#include <time.h>\n'> <'#include <unistd.h>\n'> <'int main(void) { struct tm tm; return ((int)sizeof(tm) + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (C {<ac_header>} {<'sys/bsdtypes.h'>}) (C {<ac_header>} {<'sys/file.h'>} {<'sys/types.h'>}) (C {<ac_header>} {<'sys/mkdev.h'>} {<'sys/types.h'>}) (C {<ac_header>} {<'sys/mman.h'>} {<'sys/types.h'>}) (C {<ac_header>} {<'sys/param.h'>}) (C {<ac_header>} {<'sys/resource.h'>} {<'sys/types.h'>} {<_time>}) (C {<ac_header>} {<'sys/select.h'>} {<'sys/types.h'>}) (C {<ac_header>} {<'sys/sysmacros.h'>}) (C {<ac_header>} {<bstring.h>}) (C {<ac_header>} {<grp.h>} {<'sys/types.h'>}) (C {<ac_header>} {<io.h>}) (C {<ac_header>} {<libgen.h>}) (C {<ac_header>} {<libutil.h>} {<'sys/types.h'>}) (C {<ac_header>} {<paths.h>}) (C {<ac_header>} {<stdint.h>} {<stdarg.h>}) (C {<ac_header>} {<strings.h>} {<'sys/types.h'>} {<string.h>}) (C {<ac_header>} {<termios.h>}) (C {<ac_header>} {<ulimit.h>} {<'sys/types.h'>}) (C {<ac_header>} {<values.h>}) (command.Simple words: [ {<echo>} { (SQ <'#include <sys/types.h>\n'> <'#include <unistd.h>\n'> <'/* check that off_t can represent 2^63-1 correctly, thx FSF */\n'> <'#define LARGE_OFF_T ((((off_t)1 << 31) << 31) - 1 + (((off_t)1 << 31) << 31))\n'> <'int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 &&\n'> <' LARGE_OFF_T % 2147483647 == 1) ? 1 : -1];\n'> <'int main(void) { return (isatty(0)); }'> ) } ] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<lft.c>})] do_fork: T ) (command.Simple words: [{<ac_testn>} {<can_lfs>} {(SQ )} {(DQ <'for large file support'>)}] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<lft.c>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CPPFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CPPFLAGS')} spids: [10323] ) ] ) (C {<add_cppflags>} {<-D_FILE_OFFSET_BITS> <Id.Lit_Equals '='> <64>}) (command.Simple words: [ {<ac_testn>} {<can_lfs_sus>} {(SQ <'!'>)} {<can_lfs>} {<0>} {(DQ <'... with -D_FILE_OFFSET_BITS=64'>)} ] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<lft.c>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_LFS_SUS')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_CPPFLAGS')} spids: [10365] ) ] ) (C {<add_cppflags>} {<-D_LARGE_FILES> <Id.Lit_Equals '='> <1>}) (command.Simple words: [ {<ac_testn>} {<can_lfs_aix>} {(SQ <'!'>)} {<can_lfs>} {<0>} {(DQ <'... with -D_LARGE_FILES=1'>)} ] redirects: [(redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<lft.c>})] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CAN_LFS_AIX')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_CPPFLAGS')} spids: [10406] ) ] ) ] ) ] spids: [10351 10362] ) ] ) (C {<rm>} {<-f>} {<lft.c>}) (C {<rmf>} {<lft> <Id.Lit_Star '*'>}) (command.Simple words: [ {<ac_test>} {<can_inttypes>} {(SQ <'!'>)} {<stdint_h>} {<1>} {(DQ <'for standard 32-bit integer types'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10459 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <stddef.h>\n'> <'int main(int ac, char **av) { return ((uint32_t)(size_t)*av + (int32_t)ac); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<can_ucbints>} {(SQ <'!'>)} {<can_inttypes>} {<1>} {(DQ <'for UCB 32-bit integer types'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10484 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <stddef.h>\n'> <'int main(int ac, char **av) { return ((u_int32_t)(size_t)*av + (int32_t)ac); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<can_int8type>} {(SQ <'!'>)} {<stdint_h>} {<1>} {(DQ <'for standard 8-bit integer type'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10509 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <stddef.h>\n'> <'int main(int ac, char **av) { return ((uint8_t)(size_t)av[ac]); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<can_ucbint8>} {(SQ <'!'>)} {<can_int8type>} {<1>} {(DQ <'for UCB 8-bit integer type'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10534 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <stddef.h>\n'> <'int main(int ac, char **av) { return ((u_int8_t)(size_t)av[ac]); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<rlim_t>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10559 stdin_parts: [ <'#include <sys/types.h>\n'> <'#if HAVE_BOTH_TIME_H\n'> <'#include <sys/time.h>\n'> <'#include <time.h>\n'> <'#elif HAVE_SYS_TIME_H\n'> <'#include <sys/time.h>\n'> <'#elif HAVE_TIME_H\n'> <'#include <time.h>\n'> <'#endif\n'> <'#if HAVE_SYS_RESOURCE_H\n'> <'#include <sys/resource.h>\n'> <'#endif\n'> <'#include <unistd.h>\n'> <'int main(void) { return (((int)(rlim_t)0) + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_testn>} {<sig_t>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10578 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <signal.h>\n'> <'#include <stddef.h>\n'> <'volatile sig_t foo = (sig_t)0;\n'> <'int main(void) { return (foo == (sig_t)0); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_testn>} {<sighandler_t>} {(SQ <'!'>)} {<sig_t>} {<0>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10602 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <signal.h>\n'> <'#include <stddef.h>\n'> <'volatile sighandler_t foo = (sighandler_t)0;\n'> <'int main(void) { return (foo == (sighandler_t)0); }\n'> ] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_SIGHANDLER_T')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<add_cppflags>} {<-Dsig_t> <Id.Lit_Equals '='> <sighandler_t>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_SIG_T) op: assign_op.Equal rhs: {<1>} spids: [10624] ) ] ) ] spids: [10603 10614] ) ] ) (command.Simple words: [{<ac_testn>} {<__sighandler_t>} {(SQ <'!'>)} {<sig_t>} {<0>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 10652 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <signal.h>\n'> <'#include <stddef.h>\n'> <'volatile __sighandler_t foo = (__sighandler_t)0;\n'> <'int main(void) { return (foo == (__sighandler_t)0); }\n'> ] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE___SIGHANDLER_T')} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<add_cppflags>} {<-Dsig_t> <Id.Lit_Equals '='> <__sighandler_t>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_SIG_T) op: assign_op.Equal rhs: {<1>} spids: [10674] ) ] ) ] spids: [10653 10664] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_SIG_T')}) (C {<add_cppflags>} {<-Dsig_t> <Id.Lit_Equals '='> <nosig_t>}) ] ) (C {<ac_cppflags>} {<SIG_T>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<makefile>}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Id.Lit_Colon ':'>} {<nothing>} {<to>} {<check>})] spids: [10710 10721] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_LINK_WORKS) op: assign_op.Equal rhs: {<x>} spids: [10735] ) ] ) (C {<ac_testinit>} {<link_works>} {(SQ )} {(SQ <'checking if the final link command may succeed'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [10751] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>}) (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 10783 stdin_parts: [ <'#define EXTERN\n'> <'#define MKSH_INCLUDES_ONLY\n'> <'#include '> <Id.Right_DoubleQuote '"'> <sh.h> <Id.Right_DoubleQuote '"'> <'\n'> <'__RCSID('> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$srcversion') <Id.Right_DoubleQuote '"'> <');\n'> <'int main(void) { printf('> <Id.Right_DoubleQuote '"'> <'Hello, World!'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> <Id.Right_DoubleQuote '"'> <'); return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.Case to_match: {($ Id.VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{<llvm>}] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -emit-llvm -c conftest.c'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [10811] ) ] ) ] ) (C {<rmf>} {($ Id.VSub_DollarName '$tfn') <.s>}) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} { (DQ <'llvm-link -o - conftest.o | opt '> ($ Id.VSub_DollarName '$optflags') <' | llc -o '> ($ Id.VSub_DollarName '$tfn') <.s> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [10843] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' -o '> ($ Id.VSub_DollarName '$tcfn') <' '> ($ Id.VSub_DollarName '$tfn') <'.s '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) ] ) ] spids: [10792 10793 10876 -1] ) (case_arm pat_list: [{<dragonegg>}] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -S -flto conftest.c'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [10898] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} {(DQ <'mv conftest.s conftest.ll'>)}) ] ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} {(DQ <'llvm-as conftest.ll'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [10937] ) ] ) ] ) (C {<rmf>} {($ Id.VSub_DollarName '$tfn') <.s>}) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} { (DQ <'llvm-link -o - conftest.bc | opt '> ($ Id.VSub_DollarName '$optflags') <' | llc -o '> ($ Id.VSub_DollarName '$tfn') <.s> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [10969] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' -o '> ($ Id.VSub_DollarName '$tcfn') <' '> ($ Id.VSub_DollarName '$tfn') <'.s '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) ] ) ] spids: [10879 10880 11002 -1] ) (case_arm pat_list: [{<combine>}] action: [ (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' -fwhole-program --combine '> ($ Id.VSub_DollarName '$NOWARN') <' -o '> ($ Id.VSub_DollarName '$tcfn') <' conftest.c '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) ] spids: [11005 11006 11030 -1] ) (case_arm pat_list: [{<lto>} {<normal>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: assign_op.Equal rhs: {<normal>} spids: [11039] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -c conftest.c'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [11058] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<0>}) (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' -o '> ($ Id.VSub_DollarName '$tcfn') <' conftest.o '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) ] ) ] spids: [11033 11036 11089 -1] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$tcfn')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<0>} spids: [11103] ) ] ) ] ) (C {<ac_testdone>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$fv')} {<Id.Lit_Equals '='>} {<1>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> (DQ <NetBSD>)} {<Id.Lit_Equals '='>} {<x> (DQ ($ Id.VSub_DollarName '$TARGET_OS'))} ) (C {($ Id.VSub_DollarName '$e')} {<Ignore>} {<the>} {<compatibility>} {<warning.>}) ] ) (command.Simple words: [{<ac_testn>} {<sys_errlist>} {(SQ )} {(DQ <'the sys_errlist[] array and sys_nerr'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11183 stdin_parts: [ <'extern const int sys_nerr;\n'> <'extern const char * const sys_errlist[];\n'> <'extern int isatty(int);\n'> <'int main(void) { return (*sys_errlist[sys_nerr - 1] + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_testn>} {<_sys_errlist>} {(SQ <'!'>)} {<sys_errlist>} {<0>} {(DQ <'the _sys_errlist[] array and _sys_nerr'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11209 stdin_parts: [ <'extern const int _sys_nerr;\n'> <'extern const char * const _sys_errlist[];\n'> <'extern int isatty(int);\n'> <'int main(void) { return (*_sys_errlist[_sys_nerr - 1] + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$HAVE__SYS_ERRLIST'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<add_cppflags>} {<-Dsys_nerr> <Id.Lit_Equals '='> <_sys_nerr>}) (C {<add_cppflags>} {<-Dsys_errlist> <Id.Lit_Equals '='> <_sys_errlist>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_SYS_ERRLIST) op: assign_op.Equal rhs: {<1>} spids: [11240] ) ] ) ] spids: [11210 11223] ) ] ) (C {<ac_cppflags>} {<SYS_ERRLIST>}) (command.ForEach iter_name: what iter_words: [{<name>} {<list>}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uwhat) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<upper>} {($ Id.VSub_DollarName '$what')}) ) } spids: [11264] ) ] ) (command.Simple words: [ {<ac_testn>} {<sys_sig> ($ Id.VSub_DollarName '$what')} {(SQ )} {(DQ <'the sys_sig'> (${ Id.VSub_Name what) <'[] array'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 11305 stdin_parts: [ <'extern const char * const sys_sig'> (${ Id.VSub_Name what) <'[];\n'> <'extern int isatty(int);\n'> <'int main(void) { return (sys_sig'> (${ Id.VSub_Name what) <'[0][0] + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_testn>} {<_sys_sig> ($ Id.VSub_DollarName '$what')} {(SQ <'!'>)} {<sys_sig> ($ Id.VSub_DollarName '$what')} {<0>} {(DQ <'the _sys_sig'> (${ Id.VSub_Name what) <'[] array'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 11344 stdin_parts: [ <'extern const char * const _sys_sig'> (${ Id.VSub_Name what) <'[];\n'> <'extern int isatty(int);\n'> <'int main(void) { return (_sys_sig'> (${ Id.VSub_Name what) <'[0][0] + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (C {<eval>} {<Id.Lit_VarLike 'uwhat_v='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE__SYS_SIG> ($ Id.VSub_DollarName '$uwhat') } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$uwhat_v'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<add_cppflags>} {<-Dsys_sig> ($ Id.VSub_DollarName '$what') <Id.Lit_Equals '='> <_sys_sig> ($ Id.VSub_DollarName '$what') } ) (C {<eval>} {<HAVE_SYS_SIG> ($ Id.VSub_DollarName '$uwhat') <Id.Lit_Equals '='> <1>} ) ] spids: [11354 11367] ) ] ) (C {<ac_cppflags>} {<SYS_SIG> ($ Id.VSub_DollarName '$uwhat')}) ] ) ) (command.Simple words: [{<ac_test>} {<flock>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11423 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <fcntl.h>\n'> <'#undef flock\n'> <'#if HAVE_SYS_FILE_H\n'> <'#include <sys/file.h>\n'> <'#endif\n'> <'int main(void) { return (flock(0, LOCK_EX | LOCK_UN)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<lock_fcntl>} {(SQ <'!'>)} {<flock>} {<1>} {(SQ <'whether we can lock files with fcntl'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11453 stdin_parts: [ <'#include <fcntl.h>\n'> <'#undef flock\n'> <'int main(void) {\n'> <'struct flock lks;\n'> <'lks.l_type = F_WRLCK | F_UNLCK;\n'> <'return (fcntl(0, F_SETLKW, &lks));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<getrusage>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11471 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(void) {\n'> <'struct rusage ru;\n'> <'return (getrusage(RUSAGE_SELF, &ru) +\n'> <' getrusage(RUSAGE_CHILDREN, &ru));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<getsid>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11484 stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return ((int)getsid(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<gettimeofday>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11498 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(void) { struct timeval tv; return (gettimeofday(&tv, NULL)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<killpg>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11511 stdin_parts: [ <'#include <signal.h>\n'> <'int main(int ac, char *av[]) { return (av[0][killpg(123, ac)]); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<memmove>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11531 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <stddef.h>\n'> <'#include <string.h>\n'> <'#if HAVE_STRINGS_H\n'> <'#include <strings.h>\n'> <'#endif\n'> <'int main(int ac, char *av[]) {\n'> <'return (*(int *)(void *)memmove(av[0], av[1], (size_t)ac));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<mknod>} {(SQ )} {(SQ <'if to use mknod(), makedev() and friends'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11557 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(int ac, char *av[]) {\n'> <'dev_t dv;\n'> <'dv = makedev((unsigned int)ac, (unsigned int)av[0][0]);\n'> <'return (mknod(av[0], (mode_t)0, dv) ? (int)major(dv) :\n'> <' (int)minor(dv));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<mmap>} {<lock_fcntl>} {<0>} {(SQ <'for mmap and munmap'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11588 stdin_parts: [ <'#include <sys/types.h>\n'> <'#if HAVE_SYS_FILE_H\n'> <'#include <sys/file.h>\n'> <'#endif\n'> <'#if HAVE_SYS_MMAN_H\n'> <'#include <sys/mman.h>\n'> <'#endif\n'> <'#include <stddef.h>\n'> <'#include <stdlib.h>\n'> <'int main(void) { return ((void *)mmap(NULL, (size_t)0,\n'> <' PROT_READ, MAP_PRIVATE, 0, (off_t)0) == (void *)NULL ? 1 :\n'> <' munmap(NULL, 0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<nice>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11601 stdin_parts: [<'#include <unistd.h>\n'> <'int main(void) { return (nice(4)); }\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<revoke>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11618 stdin_parts: [ <'#include <sys/types.h>\n'> <'#if HAVE_LIBUTIL_H\n'> <'#include <libutil.h>\n'> <'#endif\n'> <'#include <unistd.h>\n'> <'int main(int ac, char *av[]) { return (ac + revoke(av[0])); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<setlocale_ctype>} {(SQ )} {(SQ <'setlocale(LC_CTYPE, "")'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11639 stdin_parts: [ <'#include <locale.h>\n'> <'#include <stddef.h>\n'> <'int main(void) { return ((int)(size_t)(void *)setlocale(LC_CTYPE, "")); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<langinfo_codeset>} {<setlocale_ctype>} {<0>} {(SQ <'nl_langinfo(CODESET)'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11661 stdin_parts: [ <'#include <langinfo.h>\n'> <'#include <stddef.h>\n'> <'int main(void) { return ((int)(size_t)(void *)nl_langinfo(CODESET)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<select>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11702 stdin_parts: [ <'#include <sys/types.h>\n'> <'#if HAVE_BOTH_TIME_H\n'> <'#include <sys/time.h>\n'> <'#include <time.h>\n'> <'#elif HAVE_SYS_TIME_H\n'> <'#include <sys/time.h>\n'> <'#elif HAVE_TIME_H\n'> <'#include <time.h>\n'> <'#endif\n'> <'#if HAVE_SYS_BSDTYPES_H\n'> <'#include <sys/bsdtypes.h>\n'> <'#endif\n'> <'#if HAVE_SYS_SELECT_H\n'> <'#include <sys/select.h>\n'> <'#endif\n'> <'#if HAVE_BSTRING_H\n'> <'#include <bstring.h>\n'> <'#endif\n'> <'#include <stddef.h>\n'> <'#include <stdlib.h>\n'> <'#include <string.h>\n'> <'#if HAVE_STRINGS_H\n'> <'#include <strings.h>\n'> <'#endif\n'> <'#include <unistd.h>\n'> <'int main(void) {\n'> <'struct timeval tv = { 1, 200000 };\n'> <'fd_set fds; FD_ZERO(&fds); FD_SET(0, &fds);\n'> <'return (select(FD_SETSIZE, &fds, NULL, NULL, &tv));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<setresugid>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11716 stdin_parts: [ <'#include <sys/types.h>\n'> <'#include <unistd.h>\n'> <'int main(void) { return (setresuid(0,0,0) + setresgid(0,0,0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<setgroups>} {<setresugid>} {<0>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11737 stdin_parts: [ <'#include <sys/types.h>\n'> <'#if HAVE_GRP_H\n'> <'#include <grp.h>\n'> <'#endif\n'> <'#include <unistd.h>\n'> <'int main(void) { gid_t gid = 0; return (setgroups(0, &gid)); }\n'> ] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<x> (DQ ($ Id.VSub_DollarName '$et'))} {<Id.Lit_Equals '='>} {<x> (DQ <klibc>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<ac_testn>} {<__rt_sigsuspend>} {(SQ )} {(SQ <'whether klibc uses RT signals'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11780 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'extern int __rt_sigsuspend(const sigset_t *, size_t);\n'> <'int main(void) { return (__rt_sigsuspend(NULL, 0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_testn>} {<__sigsuspend_s>} {(SQ <'!'>)} {<__rt_sigsuspend>} {<1>} {(SQ <'whether sigsuspend is usable (1/2)'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11815 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'extern int __sigsuspend_s(sigset_t);\n'> <'int main(void) { return (__sigsuspend_s(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_testn>} {<__sigsuspend_xxs>} {(SQ <'!'>)} {<__sigsuspend_s>} {<1>} {(SQ <'whether sigsuspend is usable (2/2)'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11844 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'extern int __sigsuspend_xxs(int, int, sigset_t);\n'> <'int main(void) { return (__sigsuspend_xxs(0, 0, 0)); }\n'> ] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ <000>)} {<Id.Lit_Equals '='>} { (DQ ($ Id.VSub_DollarName '$HAVE___RT_SIGSUSPEND') ($ Id.VSub_DollarName '$HAVE___SIGSUSPEND_S') ($ Id.VSub_DollarName '$HAVE___SIGSUSPEND_XXS') ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<add_cppflags>} {<-DMKSH_NO_SIGSUSPEND>})] spids: [11847 11864] ) ] ) ] spids: [11739 11756] ) ] ) (command.Simple words: [{<ac_test>} {<strerror>} {(SQ <'!'>)} {<sys_errlist>} {<0>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11900 stdin_parts: [ <'extern char *strerror(int);\n'> <'int main(int ac, char *av[]) { return (*strerror(*av[ac])); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<strsignal>} {(SQ <'!'>)} {<sys_siglist>} {<0>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11922 stdin_parts: [ <'#include <string.h>\n'> <'#include <signal.h>\n'> <'int main(void) { return (strsignal(1)[0]); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<strlcpy>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11936 stdin_parts: [ <'#include <string.h>\n'> <'int main(int ac, char *av[]) { return (strlcpy(*av, av[1],\n'> <' (size_t)ac)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<flock_decl>} {<flock>} {<1>} {(SQ <'for declaration of flock()'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11970 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'#if HAVE_SYS_FILE_H\n'> <'#include <sys/file.h>\n'> <'#endif\n'> <'int main(void) { return ((flock)(0, 0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<ac_test>} {<revoke_decl>} {<revoke>} {<1>} {(SQ <'for declaration of revoke()'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 11991 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(void) { return ((revoke)("")); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<sys_errlist_decl>} {<sys_errlist>} {<0>} {(DQ <'for declaration of sys_errlist[] and sys_nerr'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 12012 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(void) { return (*sys_errlist[sys_nerr - 1] + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<sys_siglist_decl>} {<sys_siglist>} {<0>} {(SQ <'for declaration of sys_siglist[]'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 12033 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(void) { return (sys_siglist[0][0] + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fd) op: assign_op.Equal rhs: {(SQ <'if to use persistent history'>)} spids: [12044] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<ac_cache>} {<PERSISTENT_HISTORY>}) (command.Case to_match: {($ Id.VSub_DollarName '$HAVE_MMAP') ($ Id.VSub_DollarName '$HAVE_FLOCK') ($ Id.VSub_DollarName '$HAVE_LOCK_FCNTL') } arms: [ (case_arm pat_list: [{<11> <Id.Lit_Star '*'>} {<101>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [12069] ) ] ) ] spids: [12063 12067 12072 -1] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$fv')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' no-histfile'>)} spids: [12086] ) ] ) ] ) (C {<ac_testdone>}) (C {<ac_cppflags>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CFLAGS')} spids: [12097] ) ] ) (command.Simple words: [ {<ac_testn>} {<compile_time_asserts_> ($ Id.VSub_Dollar '$$')} {(SQ )} {(SQ <'whether compile-time assertions pass'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 12173 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'#ifndef CHAR_BIT\n'> <'#define CHAR_BIT 8\t/* defuse this test on really legacy systems */\n'> <'#endif\n'> <'struct ctasserts {\n'> <'#define cta(name, assertion) char name[(assertion) ? 1 : -1]\n'> <'/* this one should be defined by the standard */\n'> <'cta(char_is_1_char, (sizeof(char) == 1) && (sizeof(signed char) == 1) &&\n'> <' (sizeof(unsigned char) == 1));\n'> <'cta(char_is_8_bits, ((CHAR_BIT) == 8) && ((int)(unsigned char)0xFF == 0xFF) &&\n'> < ' ((int)(unsigned char)0x100 == 0) && ((int)(unsigned char)(int)-1 == 0xFF));\n' > <'/* the next assertion is probably not really needed */\n'> <'cta(short_is_2_char, sizeof(short) == 2);\n'> < 'cta(short_size_no_matter_of_signedness, sizeof(short) == sizeof(unsigned short));\n' > <'/* the next assertion is probably not really needed */\n'> <'cta(int_is_4_char, sizeof(int) == 4);\n'> <'cta(int_size_no_matter_of_signedness, sizeof(int) == sizeof(unsigned int));\n'> <'\n'> <'cta(long_ge_int, sizeof(long) >= sizeof(int));\n'> <'cta(long_size_no_matter_of_signedness, sizeof(long) == sizeof(unsigned long));\n'> <'\n'> <'#ifndef MKSH_LEGACY_MODE\n'> <'/* the next assertion is probably not really needed */\n'> <'cta(ari_is_4_char, sizeof(mksh_ari_t) == 4);\n'> <'/* but this is */\n'> < 'cta(ari_has_31_bit, 0 < (mksh_ari_t)(((((mksh_ari_t)1 << 15) << 15) - 1) * 2 + 1));\n' > <'/* the next assertion is probably not really needed */\n'> <'cta(uari_is_4_char, sizeof(mksh_uari_t) == 4);\n'> <'/* but the next three are; we REQUIRE unsigned integer wraparound */\n'> < 'cta(uari_has_31_bit, 0 < (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 2 + 1));\n' > < 'cta(uari_has_32_bit, 0 < (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 4 + 3));\n' > <'cta(uari_wrap_32_bit,\n'> <' (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 4 + 3) >\n'> <' (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 4 + 4));\n'> <'#define NUM 22\n'> <'#else\n'> <'#define NUM 16\n'> <'#endif\n'> <'/* these are always required */\n'> <'cta(ari_is_signed, (mksh_ari_t)-1 < (mksh_ari_t)0);\n'> <'cta(uari_is_unsigned, (mksh_uari_t)-1 > (mksh_uari_t)0);\n'> < '/* we require these to have the precisely same size and assume 2s complement */\n' > < 'cta(ari_size_no_matter_of_signedness, sizeof(mksh_ari_t) == sizeof(mksh_uari_t));\n' > <'\n'> <'cta(sizet_size_no_matter_of_signedness, sizeof(ssize_t) == sizeof(size_t));\n'> <'cta(sizet_voidptr_same_size, sizeof(size_t) == sizeof(void *));\n'> <'cta(sizet_funcptr_same_size, sizeof(size_t) == sizeof(void (*)(void)));\n'> <'/* our formatting routines assume this */\n'> <'cta(ptr_fits_in_long, sizeof(size_t) <= sizeof(long));\n'> <'cta(ari_fits_in_long, sizeof(mksh_ari_t) <= sizeof(long));\n'> <'/* for struct alignment people */\n'> <'char padding[64 - NUM];\n'> <'};\n'> <'char ctasserts_dblcheck[sizeof(struct ctasserts) == 64 ? 1 : -1];\n'> <'int main(void) { return (sizeof(ctasserts_dblcheck) + isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$save_CFLAGS')} spids: [12174] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<eval>} {<test>} {<1>} {<Id.Lit_Equals '='>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <HAVE_COMPILE_TIME_ASSERTS_> ($ Id.VSub_Dollar '$$') } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$legacy')} {<Id.Lit_Equals '='>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<ac_test>} {<long_32bit>} {(SQ )} {(SQ <'whether long is 32 bit wide'>)}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 12246 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'#ifndef CHAR_BIT\n'> <'#define CHAR_BIT 0\n'> <'#endif\n'> <'struct ctasserts {\n'> <'#define cta(name, assertion) char name[(assertion) ? 1 : -1]\n'> <'cta(char_is_8_bits, (CHAR_BIT) == 8);\n'> <'cta(long_is_32_bits, sizeof(long) == 4);\n'> <'};\n'> <'int main(void) { return (sizeof(struct ctasserts)); }\n'> ] ) ) ] do_fork: T ) (command.Simple words: [ {<ac_test>} {<long_64bit>} {(SQ <'!'>)} {<long_32bit>} {<0>} {(SQ <'whether long is 64 bit wide'>)} ] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 12281 stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'#ifndef CHAR_BIT\n'> <'#define CHAR_BIT 0\n'> <'#endif\n'> <'struct ctasserts {\n'> <'#define cta(name, assertion) char name[(assertion) ? 1 : -1]\n'> <'cta(char_is_8_bits, (CHAR_BIT) == 8);\n'> <'cta(long_is_64_bits, sizeof(long) == 8);\n'> <'};\n'> <'int main(void) { return (sizeof(struct ctasserts)); }\n'> ] ) ) ] do_fork: T ) (command.Case to_match: {($ Id.VSub_DollarName '$HAVE_LONG_32BIT') ($ Id.VSub_DollarName '$HAVE_LONG_64BIT')} arms: [ (case_arm pat_list: [{<10>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' int:32'>)} spids: [12295] ) ] ) ] spids: [12292 12293 12301 -1] ) (case_arm pat_list: [{<01>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' int:64'>)} spids: [12307] ) ] ) ] spids: [12304 12305 12313 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$check_categories') <' int:u'>)} spids: [12319] ) ] ) ] spids: [12316 12317 12325 -1] ) ] ) ] spids: [12205 12216] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_SYS_SIGNAME')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<ac_testinit>} {<cpp_dd>} {(SQ )} {(SQ <'checking if the C Preprocessor supports -dD'>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(SQ <'#define foo bar'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (C {<vv>} {(SQ <']'>)} { (DQ ($ Id.VSub_DollarName '$CPP') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -dD conftest.c >x'> ) } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<grep>} {(SQ <'#define foo bar'>)} {<x>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: assign_op.Equal rhs: {<1>} spids: [12415] ) ] ) ] ) (C {<rmf>} {<conftest.c>} {<x>} {<vv.out>}) (C {<ac_testdone>}) ] spids: [12352 12368] ) ] ) ] ) (C {($ Id.VSub_DollarName '$e')} {<Id.Lit_TDot ...>} {<done.>}) (command.Simple words: [{<echo>} {<wq>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Pipeline children: [ (command.Simple words: [{<ed>} {<x>}] redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>}) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple words: [{<grep>} {<3>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$check_categories') <' '> ($ Id.VSub_DollarName '$oldish_ed') ) } spids: [12488] ) ] ) ] ) (C {<rmf>} {<x>} {<vv.out>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_SYS_SIGNAME')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CPP_DD')} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$e')} {<Generating>} {<list>} {<of>} {<signal>} {<names...>}) ] spids: [12516 12527] ) ] else_action: [ (C {($ Id.VSub_DollarName '$e')} {<No>} {<list>} {<of>} {<signal>} {<names>} {<available>} {<via>} {<cpp.>} {<Falling>} {<back...>} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseenone) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [12572] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseentwo) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [12576] ) ] ) (command.Simple words: [ {<echo>} { (SQ <'#include <signal.h>\n'> <'#if defined(NSIG_MAX)\n'> <'#define cfg_NSIG NSIG_MAX\n'> <'#elif defined(NSIG)\n'> <'#define cfg_NSIG NSIG\n'> <'#elif defined(_NSIG)\n'> <'#define cfg_NSIG _NSIG\n'> <'#elif defined(SIGMAX)\n'> <'#define cfg_NSIG (SIGMAX + 1)\n'> <'#elif defined(_SIGMAX)\n'> <'#define cfg_NSIG (_SIGMAX + 1)\n'> <'#else\n'> <'/*XXX better error out, see sh.h */\n'> <'#define cfg_NSIG 64\n'> <'#endif\n'> <'int\n'> <'mksh_cfg= cfg_NSIG\n'> <';'> ) } ] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<vq>} { (DQ ($ Id.VSub_DollarName '$CPP') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' conftest.c'> ) } ) (C {<grep>} {<-v>} {(SQ <'^#'>)}) (C {<sed>} { (SQ <'/mksh_cfg.*= *$/{\n'> <'\t\tN\n'> <'\t\ts/\\n/ /\n'> <'\t\t}'>) } ) (C {<grep>} {(SQ <'^ *mksh_cfg *='>)}) (C {<sed>} { (SQ <'s/^ *mksh_cfg *=[\t ]*\\([()0-9x+-][()0-9x+\t -]*\\).*$/\\1/'> ) } ) ] negated: F ) ) } spids: [12611] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$NSIG')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <mksh_cfg> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$e')} {(DQ <'Error: NSIG=\''> ($ Id.VSub_DollarName '$NSIG') <'\''>)} ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: assign_op.Equal rhs: {<0>} spids: [12719] ) ] ) ] spids: [12705 12708 12722 -1] ) (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\)'> ) <Id.Lit_Other '+'> <-> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {(DQ ($ Id.VSub_DollarName '$AWK'))} {(DQ <'BEGIN { print '> ($ Id.VSub_DollarName '$NSIG') <' }'>)} ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [12736] ) ] ) ] spids: [12725 12734 12754 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:printf) op: assign_op.Equal rhs: {<printf>} spids: [12760] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell child: (C {<printf>} {<hallo>}) redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:printf) op: assign_op.Equal rhs: {<echo>} spids: [12778] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$printf')} {<Id.Lit_Equals '='>} {<echo>}) (C {<test>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<printf>} {<Id.Lit_Other '%'> <d>} {<42>}) ) ) } {<Id.Lit_Equals '='>} {<42>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:printf) op: assign_op.Equal rhs: {<echo>} spids: [12813] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$printf')} {<Id.Lit_Equals '='>} {<echo>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<printf>} {<Id.Lit_Other '%'> <d>} {(DQ ($ Id.VSub_DollarName '$NSIG'))} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [12827] ) ] ) ] ) (C {($ Id.VSub_DollarName '$printf')} {(DQ <'NSIG='> ($ Id.VSub_DollarName '$NSIG') <' ... '>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: assign_op.Equal rhs: {(DQ <'ABRT FPE ILL INT SEGV TERM ALRM BUS CHLD CONT HUP KILL PIPE QUIT'>)} spids: [12854] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sigs') <' STOP TSTP TTIN TTOU USR1 USR2 POLL PROF SYS TRAP URG VTALRM'> ) } spids: [12860] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sigs') <' XCPU XFSZ INFO WINCH EMT IO DIL LOST PWR SAK CLD IOT STKFLT'> ) } spids: [12867] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sigs') <' ABND DCE DUMP IOERR TRACE DANGER THCONT THSTOP RESV UNUSED'> ) } spids: [12874] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_CPP_DD')}) (C {<test>} {($ Id.VSub_DollarName '$NSIG')} {<-gt>} {<1>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$sigs') <' '>) (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<vq>} { (DQ ($ Id.VSub_DollarName '$CPP') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' -dD conftest.c'> ) } ) (C {<grep>} {(SQ <'[\t ]SIG[A-Z0-9][A-Z0-9]*[\t ]'>)}) (C {<sed>} {(SQ <'s/^.*[\t ]SIG\\([A-Z0-9][A-Z0-9]*\\)[\t ].*$/\\1/'>)} ) (C {<sort>}) ] negated: F ) ) } spids: [12901] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$NSIG')} {<-gt>} {<1>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: assign_op.Equal rhs: (word.Empty) spids: [12975] ) ] ) ] ) (command.Pipeline children: [ (command.ForEach iter_name: name iter_words: [{($ Id.VSub_DollarName '$sigs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$sigseenone')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$name') <Id.Lit_Colon ':'> <Id.Lit_Star '*'> } ] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [12997 13002 13006 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseenone) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$sigseenone') ($ Id.VSub_DollarName '$name') <Id.Lit_Colon ':'> } spids: [13012] ) ] ) (command.Simple words: [{<echo>} {(SQ <'#include <signal.h>'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {<int>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Simple words: [ {<echo>} {<Id.Lit_VarLike 'mksh_cfg='>} {<SIG> ($ Id.VSub_DollarName '$name')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <';'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Pipeline children: [ (C {<vq>} { (DQ ($ Id.VSub_DollarName '$CPP') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$NOWARN') <' conftest.c'> ) } ) (C {<grep>} {<-v>} {(SQ <'^#'>)}) (C {<sed>} { (SQ <'/mksh_cfg.*= *$/{\n'> <'\t\t\tN\n'> <'\t\t\ts/\\n/ /\n'> <'\t\t\t}'> ) } ) (C {<grep>} {(SQ <'^ *mksh_cfg *='>)}) (C {<sed>} {(SQ <'s/^ *mksh_cfg *=[\t ]*\\([0-9][0-9x]*\\).*$/:\\1 '>) ($ Id.VSub_DollarName '$name') <'/'> } ) ] negated: F ) ] ) ) (C {<sed>} {<-n>} {(SQ <'/^:[^ ]/s/^://p'>)}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<read>} {<nr>} {<name>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$printf')} {<Id.Lit_Equals '='>} {<echo>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nr) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<printf>} {<Id.Lit_Other '%'> <d>} {(DQ ($ Id.VSub_DollarName '$nr'))} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [13158] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$nr')} {<-gt>} {<0>}) (C {<test>} {($ Id.VSub_DollarName '$nr')} {<-lt>} {($ Id.VSub_DollarName '$NSIG')} ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$sigseentwo')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$nr') <Id.Lit_Colon ':'> <Id.Lit_Star '*'> } ] spids: [13206 13211 13213 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <'\t\t{ '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$name') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <', '> ($ Id.VSub_DollarName '$nr') <' },'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseentwo) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$sigseentwo') ($ Id.VSub_DollarName '$nr') <Id.Lit_Colon ':'> } spids: [13232] ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$printf')} { (DQ ($ Id.VSub_DollarName '$name') <'='> ($ Id.VSub_DollarName '$nr') <' '> ) } ] redirects: [ (redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) ] spids: [13216 13217 13251 -1] ) ] ) ] ) redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<signames.inc>} ) ] ) ] negated: F ) (C {<rmf>} {<conftest.c>}) (C {($ Id.VSub_DollarName '$e')} {<done.>}) ] spids: [12502 12513] ) ] ) (C {<addsrcs>} {(SQ <'!'>)} {<HAVE_STRLCPY>} {<strlcpy.c>}) (C {<addsrcs>} {<USE_PRINTF_BUILTIN>} {<printf.c>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$USE_PRINTF_BUILTIN'))}) (C {<add_cppflags>} {<-DMKSH_PRINTF_BUILTIN>}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$HAVE_CAN_VERB'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CFLAGS') <' -verbose'>)} spids: [13322] ) ] ) ] ) (C {<add_cppflags>} {<-DMKSH_BUILD_R> <Id.Lit_Equals '='> <523>}) (C {($ Id.VSub_DollarName '$e')} {($ Id.VSub_DollarName '$bi') ($ Id.VSub_DollarName '$me') <Id.Lit_Colon ':'>} {<Finished>} {<configuration>} {<testing> <Id.Lit_Comma ','>} {<now>} {<producing>} {<output.> ($ Id.VSub_DollarName '$ao')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:files) op: assign_op.Equal rhs: (word.Empty) spids: [13356] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: assign_op.Equal rhs: (word.Empty) spids: [13358] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sp) op: assign_op.Equal rhs: (word.Empty) spids: [13360] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$tcfn')} arms: [ (case_arm pat_list: [{<a.exe>} {<conftest.exe>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshexe) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$tfn') <.exe>} spids: [13374] ) ] ) (C {<add_cppflags>} {<-DMKSH_EXE_EXT>}) ] spids: [13368 13371 13384 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshexe) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$tfn')} spids: [13390] ) ] ) ] spids: [13386 13387 13394 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$curdir')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshshebang) op: assign_op.Equal rhs: {(DQ <'#!./'> ($ Id.VSub_DollarName '$mkshexe'))} spids: [13409] ) ] ) ] spids: [13404 13407 13415 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshshebang) op: assign_op.Equal rhs: { (DQ <'#!'> ($ Id.VSub_DollarName '$curdir') <'/'> ($ Id.VSub_DollarName '$mkshexe') ) } spids: [13420] ) ] ) ] spids: [13417 13418 13428 -1] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<test.sh>}) (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 13773 stdin_parts: [ ($ Id.VSub_DollarName '$mkshshebang') <'\n'> <'LC_ALL=C PATH=\''> ($ Id.VSub_DollarName '$PATH') <'\'; export LC_ALL PATH\n'> <'test -n '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <KSH_VERSION> <Id.Right_DoubleQuote '"'> <' || exit 1\n'> <'set -A check_categories -- '> ($ Id.VSub_DollarName '$check_categories') <'\n'> <'pflag=\''> ($ Id.VSub_DollarName '$curdir') <'/'> ($ Id.VSub_DollarName '$mkshexe') <'\'\n'> <'sflag=\''> ($ Id.VSub_DollarName '$srcdir') <'/check.t\'\n'> <'usee=0 Pflag=0 Sflag=0 uset=0 vflag=1 xflag=0\n'> <'while getopts '> <Id.Right_DoubleQuote '"'> <'C:e:fPp:QSs:t:v'> <Id.Right_DoubleQuote '"'> <' ch; do case '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'ch {\n'> <'(C)\tcheck_categories['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#check_categories[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'OPTARG ;;\n'> <'(e)\tusee=1; eflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'OPTARG ;;\n'> <'(f)\tcheck_categories['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#check_categories[*]}]=fastbox ;;\n'> <'(P)\tPflag=1 ;;\n'> <'(+P)\tPflag=0 ;;\n'> <'(p)\tpflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'OPTARG ;;\n'> <'(Q)\tvflag=0 ;;\n'> <'(+Q)\tvflag=1 ;;\n'> <'(S)\tSflag=1 ;;\n'> <'(+S)\tSflag=0 ;;\n'> <'(s)\tsflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'OPTARG ;;\n'> <'(t)\tuset=1; tflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'OPTARG ;;\n'> <'(v)\tvflag=1 ;;\n'> <'(+v)\tvflag=0 ;;\n'> <'(*)\txflag=1 ;;\n'> <'}\n'> <'done\n'> <'shift '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'((OPTIND - 1))\n'> <'set -A args -- \''> ($ Id.VSub_DollarName '$srcdir') <'/check.pl\' -p '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <pflag> <Id.Right_DoubleQuote '"'> <'\n'> <'x=\n'> <'for y in '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{check_categories[@]}'> <Id.Right_DoubleQuote '"'> <'; do\n'> <'x='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'x,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'y\n'> <'done\n'> <'if [[ -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'x ]]; then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-C\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{x#,}\n'> <'fi\n'> <'if (( usee )); then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-e\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'eflag\n'> <'fi\n'> <'(( Pflag )) && args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-P\n'> <'if (( uset )); then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-t\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'tflag\n'> <'fi\n'> <'(( vflag )) && args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-v\n'> <'(( xflag )) && args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-x\t# force usage by synerr\n'> <'if [[ -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'TMPDIR && -d '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'TMPDIR/. ]]; then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]=-T\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'TMPDIR\n'> <'fi\n'> <'print Testing mksh for conformance:\n'> <'grep -F -e Mir\'\'OS: -e MIRBSD '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <sflag> <Id.Right_DoubleQuote '"'> <'\n'> <'print '> <Id.Right_DoubleQuote '"'> <'This shell is actually:'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <t> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <KSH_VERSION> <Id.Right_DoubleQuote '"'> <'\n'> <'print \'test.sh built for mksh '> ($ Id.VSub_DollarName '$dstversion') <'\'\n'> <'cstr=\''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'os = defined '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'^O ? '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'^O : '> <Id.Right_DoubleQuote '"'> <unknown> <Id.Right_DoubleQuote '"'> <';\'\n'> <'cstr='> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <cstr> <Id.Right_DoubleQuote '"'> <'\'print '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'os . '> <Id.Right_DoubleQuote '"'> <', Perl version '> <Id.Right_DoubleQuote '"'> <' . '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'];\'\n'> <'for perli in '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'PERL perl5 perl no; do\n'> <'if [[ '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli = no ]]; then\n'> <'print Cannot find a working Perl interpreter, aborting.\n'> <'exit 1\n'> <'fi\n'> <'print '> <Id.Right_DoubleQuote '"'> <'Trying Perl interpreter \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli\'...'> <Id.Right_DoubleQuote '"'> <'\n'> <'perlos='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli -e '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <cstr> <Id.Right_DoubleQuote '"'> <')\n'> <'rv='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'?\n'> <'print '> <Id.Right_DoubleQuote '"'> <'Errorlevel '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'rv, running on \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perlos\''> <Id.Right_DoubleQuote '"'> <'\n'> <'if (( rv )); then\n'> <'print '> <Id.Right_DoubleQuote '"'> <'=> not using'> <Id.Right_DoubleQuote '"'> <'\n'> <'continue\n'> <'fi\n'> <'if [[ -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perlos ]]; then\n'> <'print '> <Id.Right_DoubleQuote '"'> <'=> using it'> <Id.Right_DoubleQuote '"'> <'\n'> <'break\n'> <'fi\n'> <'done\n'> <'(( Sflag )) || echo + '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <sflag> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'> <Id.Right_DoubleQuote '"'> <'\n'> <'(( Sflag )) || exec '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <sflag> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$tsts') <'\n'> <'# use of the -S option for check.t split into multiple chunks\n'> <'rv=0\n'> <'for s in '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <sflag> <Id.Right_DoubleQuote '"'> <'.*; do\n'> <'echo + '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <s> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'> <Id.Right_DoubleQuote '"'> <'\n'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <s> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$tsts') <'\n'> <'rc='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'?\n'> <'(( rv = rv ? rv : rc ))\n'> <'done\n'> <'exit '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'rv\n'> ] ) ) ] do_fork: T ) (C {<chmod>} {<755>} {<test.sh>}) (command.Case to_match: {($ Id.VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{<dragonegg>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:emitbc) op: assign_op.Equal rhs: {(DQ <'-S -flto'>)} spids: [13790] ) ] ) ] spids: [13786 13787 13796 -1] ) (case_arm pat_list: [{<llvm>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:emitbc) op: assign_op.Equal rhs: {(DQ <'-emit-llvm -c'>)} spids: [13802] ) ] ) ] spids: [13798 13799 13808 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:emitbc) op: assign_op.Equal rhs: {<-c>} spids: [13814] ) ] ) ] spids: [13810 13811 13818 -1] ) ] ) (command.Simple words: [{<echo>} {(DQ <': # work around NeXTstep bug'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$srcdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optfiles) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<echo>} {<Id.Lit_Star '*'> <.opt>}) ) } spids: [13837] ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$curdir'))}) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$optfiles')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<echo>} {(DQ <'echo + Running genopt on \''> ($ Id.VSub_DollarName '$file') <'\'...'>)}) (C {<echo>} { (DQ <'(srcfile=\''> ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file') <'\'; BUILDSH_RUN_GENOPT=1; . \''> ($ Id.VSub_DollarName '$srcdir') <'/Build.sh\')'> ) } ) ] ) redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] ) (command.Simple words: [{<echo>} {<set>} {<-x>}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:op) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {<x> (DQ ($ Id.VSub_DollarName '$file'))}) (C {<sed>} {(SQ <'s/^x\\(.*\\)\\.c$/\\1./'>)}) ] negated: F ) ) } spids: [13912] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file')} spids: [13949] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:files) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$files') ($ Id.VSub_DollarName '$sp') ($ Id.VSub_DollarName '$file') ) } spids: [13955] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sp) op: assign_op.Equal rhs: {(SQ <' '>)} spids: [13963] ) ] ) (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$emitbc') <' '> ($ Id.VSub_DollarName '$file') <' || exit 1'> ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<dragonegg>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {(DQ <'mv '> (${ Id.VSub_Name op) <'s '> (${ Id.VSub_Name op) <ll>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<Rebuild.sh>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'llvm-as '> (${ Id.VSub_Name op) <'ll || exit 1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<Rebuild.sh>} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$objs') ($ Id.VSub_DollarName '$sp') (${ Id.VSub_Name op) <bc> ) } spids: [14034] ) ] ) ] spids: [13988 13999] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$objs') ($ Id.VSub_DollarName '$sp') (${ Id.VSub_Name op) <o> ) } spids: [14048] ) ] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{<dragonegg>} {<llvm>}] action: [ (command.Simple words: [{<echo>} {(DQ <'rm -f '> ($ Id.VSub_DollarName '$tfn') <.s>)}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'llvm-link -o - '> ($ Id.VSub_DollarName '$objs') <' | opt '> ($ Id.VSub_DollarName '$optflags') <' | llc -o '> ($ Id.VSub_DollarName '$tfn') <.s> ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lobjs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$tfn') <.s>} spids: [14103] ) ] ) ] spids: [14069 14072 14108 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lobjs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$objs')} spids: [14114] ) ] ) ] spids: [14110 14111 14118 -1] ) ] ) (command.Simple words: [{<echo>} {<Id.Lit_VarLike 'tcfn='> ($ Id.VSub_DollarName '$mkshexe')}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' -o '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'tcfn '> ($ Id.VSub_DollarName '$lobjs') <' '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'test -f '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'tcfn || exit 1; '> ($ Id.VSub_DollarName '$SIZE') <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <tcfn> ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<makefile>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extras) op: assign_op.Equal rhs: {(SQ <'emacsfn.h rlimits.opt sh.h sh_flags.opt var_spec.h'>)} spids: [14180] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$HAVE_SYS_SIGNAME')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extras) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$extras') <' signames.inc'>)} spids: [14196] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gens) op: assign_op.Equal rhs: (word.Empty) spids: [14203] ) (assign_pair lhs: (sh_lhs_expr.Name name:genq) op: assign_op.Equal rhs: (word.Empty) spids: [14205] ) ] ) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$optfiles')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:genf) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<basename>} {(DQ ($ Id.VSub_DollarName '$file'))}) (C {<sed>} {(SQ <'s/.opt$/.gen/'>)}) ] negated: F ) ) } spids: [14220] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gens) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$gens') <' '> ($ Id.VSub_DollarName '$genf'))} spids: [14240] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:genq) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$genq') ($ Id.VSub_DollarName '$nl') ($ Id.VSub_DollarName '$genf') <': '> ($ Id.VSub_DollarName '$srcdir') <'/Build.sh '> ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file') <'\n'> <'\t\t\tsrcfile='> ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file') <'; BUILDSH_RUN_GENOPT=1; . '> ($ Id.VSub_DollarName '$srcdir') <'/Build.sh'> ) } spids: [14248] ) ] ) ] ) ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<Makefrag.inc>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 14387 stdin_parts: [ <'# Makefile fragment for building mksh '> ($ Id.VSub_DollarName '$dstversion') <'\n'> <'\n'> <'PROG=\t\t'> ($ Id.VSub_DollarName '$mkshexe') <'\n'> <'MAN=\t\tmksh.1\n'> <'SRCS=\t\t'> ($ Id.VSub_DollarName '$SRCS') <'\n'> <'SRCS_FP=\t'> ($ Id.VSub_DollarName '$files') <'\n'> <'OBJS_BP=\t'> ($ Id.VSub_DollarName '$objs') <'\n'> <'INDSRCS=\t'> ($ Id.VSub_DollarName '$extras') <'\n'> <'NONSRCS_INST=\tdot.mkshrc '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(MAN)\n'> <'NONSRCS_NOINST=\tBuild.sh Makefile Rebuild.sh check.pl check.t test.sh\n'> <'CC=\t\t'> ($ Id.VSub_DollarName '$CC') <'\n'> <'CFLAGS=\t\t'> ($ Id.VSub_DollarName '$CFLAGS') <'\n'> <'CPPFLAGS=\t'> ($ Id.VSub_DollarName '$CPPFLAGS') <'\n'> <'LDFLAGS=\t'> ($ Id.VSub_DollarName '$LDFLAGS') <'\n'> <'LIBS=\t\t'> ($ Id.VSub_DollarName '$LIBS') <'\n'> <'\n'> <'.depend '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(OBJS_BP):'> ($ Id.VSub_DollarName '$gens') ($ Id.VSub_DollarName '$genq') <'\n'> <'\n'> <'# not BSD make only:\n'> <'#VPATH=\t\t'> ($ Id.VSub_DollarName '$srcdir') <'\n'> <'#all: '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(PROG)\n'> <'#'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(PROG): '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(OBJS_BP)\n'> <'#\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(CC) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(CFLAGS) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(LDFLAGS) -o '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'@ '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(OBJS_BP) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(LIBS)\n'> <'#'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(OBJS_BP): '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(SRCS_FP) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(NONSRCS)\n'> <'#.c.o:\n'> <'#\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(CC) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(CFLAGS) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(CPPFLAGS) -c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'<\n'> <'\n'> <'# for all make variants:\n'> <'#REGRESS_FLAGS=\t-f\n'> <'#regress:\n'> <'#\t./test.sh '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(REGRESS_FLAGS)\n'> <'check_categories='> ($ Id.VSub_DollarName '$check_categories') <'\n'> <'\n'> <'# for BSD make only:\n'> <'#.PATH: '> ($ Id.VSub_DollarName '$srcdir') <'\n'> <'#.include <bsd.prog.mk>\n'> ] ) ) ] do_fork: T ) (C {($ Id.VSub_DollarName '$e')}) (C {($ Id.VSub_DollarName '$e')} {<Generated>} {<Makefrag.inc>} {<successfully.>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [14166 14177] ) ] ) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$optfiles')}] do_arg_iter: F body: (command.DoGroup children: [ (C {($ Id.VSub_DollarName '$e')} {(DQ <'+ Running genopt on \''> ($ Id.VSub_DollarName '$file') <'\'...'>)} ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<do_genopt>} {(DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file'))} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<combine>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: assign_op.Equal rhs: {(DQ <'-o '> ($ Id.VSub_DollarName '$mkshexe'))} spids: [14458] ) ] ) (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file')} spids: [14485] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$objs') <' '> ($ Id.VSub_DollarName '$file'))} spids: [14491] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:emitbc) op: assign_op.Equal rhs: {(DQ <'-fwhole-program --combine'>)} spids: [14502] ) ] ) (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' '> ($ Id.VSub_DollarName '$emitbc') <' '> ($ Id.VSub_DollarName '$objs') <' '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) ] spids: [14444 14455] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$pm')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file')} spids: [14562] ) ] ) ] ) (command.Sentence child: (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$emitbc') <' '> ($ Id.VSub_DollarName '$file') ) } ) terminator: <Id.Op_Amp _> ) ] ) ) (C {<wait>}) ] spids: [14528 14539] ) ] else_action: [ (command.ForEach iter_name: file iter_words: [{($ Id.VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<dragonegg>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:op) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {<x> (DQ ($ Id.VSub_DollarName '$file'))}) (C {<sed>} {(SQ <'s/^x\\(.*\\)\\.c$/\\1./'>)}) ] negated: F ) ) } spids: [14617] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$file')} spids: [14654] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$CPPFLAGS') <' '> ($ Id.VSub_DollarName '$emitbc') <' '> ($ Id.VSub_DollarName '$file') ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<dragonegg>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<v>} {(DQ <'mv '> (${ Id.VSub_Name op) <'s '> (${ Id.VSub_Name op) <ll>)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<v>} {(DQ <'llvm-as '> (${ Id.VSub_Name op) <ll>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ) ] spids: [14681 14692] ) ] ) ] ) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{<dragonegg>} {<llvm>}] action: [ (C {<rmf>} {($ Id.VSub_DollarName '$tfn') <.s>}) (C {<v>} { (DQ <'llvm-link -o - '> ($ Id.VSub_DollarName '$objs') <' | opt '> ($ Id.VSub_DollarName '$optflags') <' | llc -o '> ($ Id.VSub_DollarName '$tfn') <.s> ) } ) ] spids: [14740 14743 14765 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$mkshexe')} spids: [14769] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$cm')} {<Id.Lit_Equals '='>} {<combine>}) (C {<v>} { (DQ ($ Id.VSub_DollarName '$CC') <' '> ($ Id.VSub_DollarName '$CFLAGS') <' '> ($ Id.VSub_DollarName '$LDFLAGS') <' -o '> ($ Id.VSub_DollarName '$tcfn') <' '> ($ Id.VSub_DollarName '$lobjs') <' '> ($ Id.VSub_DollarName '$LIBS') <' '> ($ Id.VSub_DollarName '$ccpr') ) } ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$tcfn')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$r')}) (C {<v>} { (DQ ($ Id.VSub_DollarName '$NROFF') <' -mdoc <\''> ($ Id.VSub_DollarName '$srcdir') <'/mksh.1\' >'> ($ Id.VSub_DollarName '$tfn') <.cat1> ) } ) (C {<rmf>} {($ Id.VSub_DollarName '$tfn') <.cat1>}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$eq')}) (C {<v>} {($ Id.VSub_DollarName '$SIZE')} {($ Id.VSub_DollarName '$tcfn')}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: {<install>} spids: [14858] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {<'/usr/ucb/'> ($ Id.VSub_DollarName '$i')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: assign_op.Equal rhs: {<'/usr/ucb/'> ($ Id.VSub_DollarName '$i')} spids: [14870] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$eq')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:e) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [14884] ) ] ) ] ) (C {($ Id.VSub_DollarName '$e')}) (C {($ Id.VSub_DollarName '$e')} {<Installing>} {<the>} {<shell> <Id.Lit_Colon ':'>}) (C {($ Id.VSub_DollarName '$e')} { (DQ <'# '> ($ Id.VSub_DollarName '$i') <' -c -s -o root -g bin -m 555 '> ($ Id.VSub_DollarName '$tfn') <' /bin/'> ($ Id.VSub_DollarName '$tfn') ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$legacy')} {<Id.Lit_Equals '='>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$e')} { (DQ <'# grep -x /bin/'> ($ Id.VSub_DollarName '$tfn') <' /etc/shells >/dev/null || echo /bin/'> ($ Id.VSub_DollarName '$tfn') <' >>/etc/shells'> ) } ) (C {($ Id.VSub_DollarName '$e')} { (DQ <'# '> ($ Id.VSub_DollarName '$i') <' -c -o root -g bin -m 444 dot.mkshrc /usr/share/doc/mksh/examples/'> ) } ) ] spids: [14909 14920] ) ] ) (C {($ Id.VSub_DollarName '$e')}) (C {($ Id.VSub_DollarName '$e')} {<Installing>} {<the>} {<manual> <Id.Lit_Colon ':'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} {($ Id.VSub_DollarName '$tfn') <.cat1>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {($ Id.VSub_DollarName '$e')} { (DQ <'# '> ($ Id.VSub_DollarName '$i') <' -c -o root -g bin -m 444 '> ($ Id.VSub_DollarName '$tfn') <.cat1> ) } {(DQ <'/usr/share/man/cat1/'> ($ Id.VSub_DollarName '$tfn') <.0>)} ) (C {($ Id.VSub_DollarName '$e')} {<or>}) ] spids: [14955 14965] ) ] ) (C {($ Id.VSub_DollarName '$e')} { (DQ <'# '> ($ Id.VSub_DollarName '$i') <' -c -o root -g bin -m 444 '> ($ Id.VSub_DollarName '$tfn') <'.1 /usr/share/man/man1/'> ($ Id.VSub_DollarName '$tfn') <.1> ) } ) (C {($ Id.VSub_DollarName '$e')}) (C {($ Id.VSub_DollarName '$e')} {<Run>} {<the>} {<regression>} {<test>} {<suite> <Id.Lit_Colon ':'>} {<'./test.sh'>} ) (C {($ Id.VSub_DollarName '$e')} {<Please>} {<also>} {<read>} {<the>} {<sample>} {<file>} {<dot.mkshrc>} {<and>} {<the>} {<fine>} {<manual.>} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) (command.Simple words: [{<Id.Lit_Colon ':'>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOD>)} here_end_span_id: 15135 stdin_parts: [ <'\n'> <'=== Environment used ===\n'> <'\n'> <'==== build environment ====\n'> <'AWK\t\t\t\tdefault: awk\n'> <'CC\t\t\t\tdefault: cc\n'> <'CFLAGS\t\t\t\tif empty, defaults to -xO2 or +O2\n'> <'\t\t\t\tor -O3 -qstrict or -O2, per compiler\n'> <'CPPFLAGS\t\t\tdefault empty\n'> <'LDFLAGS\t\t\t\tdefault empty; added before sources\n'> <'LDSTATIC\t\t\tset this to \'-static\'; default unset\n'> <'LIBS\t\t\t\tdefault empty; added after sources\n'> <'\t\t\t\t[Interix] default: -lcrypt (XXX still needed?)\n'> <'NOWARN\t\t\t\t-Wno-error or similar\n'> <'NROFF\t\t\t\tdefault: nroff\n'> <'TARGET_OS\t\t\tdefault: $(uname -s || uname)\n'> <'TARGET_OSREV\t\t\t[QNX] default: $(uname -r)\n'> <'\n'> <'==== feature selectors ====\n'> <'USE_PRINTF_BUILTIN\t\t1 to include (unsupported) printf(1) as builtin\n'> <'===== general format =====\n'> <'HAVE_STRLEN\t\t\tac_test\n'> <'HAVE_STRING_H\t\t\tac_header\n'> <'HAVE_CAN_FSTACKPROTECTORALL\tac_flags\n'> <'\n'> <'==== cpp definitions ====\n'> <'DEBUG\t\t\t\tdont use in production, wants gcc, implies:\n'> <'DEBUG_LEAKS\t\t\tenable freeing resources before exiting\n'> <'MKSHRC_PATH\t\t\t"~/.mkshrc" (do not change)\n'> <'MKSH_A4PB\t\t\tforce use of arc4random_pushb\n'> <'MKSH_ASSUME_UTF8\t\t(0=disabled, 1=enabled; default: unset)\n'> <'MKSH_BINSHPOSIX\t\t\tif */sh or */-sh, enable set -o posix\n'> <'MKSH_BINSHREDUCED\t\tif */sh or */-sh, enable set -o sh\n'> <'MKSH_CLRTOEOL_STRING\t\t"\\033[K"\n'> <'MKSH_CLS_STRING\t\t\t"\\033[;H\\033[J"\n'> <'MKSH_CONSERVATIVE_FDS\t\tfd 0-9 for scripts, shell only up to 31\n'> <'MKSH_DEFAULT_EXECSHELL\t\t"/bin/sh" (do not change)\n'> <'MKSH_DEFAULT_PROFILEDIR\t\t"/etc" (do not change)\n'> <'MKSH_DEFAULT_TMPDIR\t\t"/tmp" (do not change)\n'> <'MKSH_DISABLE_DEPRECATED\t\tdisable code paths scheduled for later removal\n'> <'MKSH_DISABLE_EXPERIMENTAL\tdisable code not yet comfy for (LTS) snapshots\n'> <'MKSH_DISABLE_TTY_WARNING\tshut up warning about ctty if OS cant be fixed\n'> <'MKSH_DONT_EMIT_IDSTRING\t\tomit RCS IDs from binary\n'> <'MKSH_MIDNIGHTBSD01ASH_COMPAT\tset -o sh: additional compatibility quirk\n'> <'MKSH_NOPROSPECTOFWORK\t\tdisable jobs, co-processes, etc. (do not use)\n'> <'MKSH_NOPWNAM\t\t\tskip PAM calls, for -static on glibc or Solaris\n'> <'MKSH_NO_CMDLINE_EDITING\t\tdisable command line editing code entirely\n'> <'MKSH_NO_DEPRECATED_WARNING\tomit warning when deprecated stuff is run\n'> <'MKSH_NO_LIMITS\t\t\tomit ulimit code\n'> <'MKSH_NO_SIGSETJMP\t\tdefine if sigsetjmp is broken or not available\n'> <'MKSH_NO_SIGSUSPEND\t\tuse sigprocmask+pause instead of sigsuspend\n'> <'MKSH_SMALL\t\t\tomit some code, optimise hard for size (slower)\n'> <'MKSH_SMALL_BUT_FAST\t\tdisable some hard-for-size optim. (modern sys.)\n'> <'MKSH_S_NOVI=1\t\t\tdisable Vi editing mode (default if MKSH_SMALL)\n'> <'MKSH_TYPEDEF_SIG_ATOMIC_T\tdefine to e.g. \'int\' if sig_atomic_t is missing\n'> <'MKSH_TYPEDEF_SSIZE_T\t\tdefine to e.g. \'long\' if your OS has no ssize_t\n'> <'MKSH_UNEMPLOYED\t\t\tdisable job control (but not jobs/co-processes)\n'> <'\n'> <'=== generic installation instructions ===\n'> <'\n'> <'Set CC and possibly CFLAGS, CPPFLAGS, LDFLAGS, LIBS. If cross-compiling,\n'> <'also set TARGET_OS. To disable tests, set e.g. HAVE_STRLCPY=0; to enable\n'> <'them, set to a value other than 0 or 1. Ensure /bin/ed is installed. For\n'> <'MKSH_SMALL but with Vi mode, add -DMKSH_S_NOVI=0 to CPPFLAGS as well.\n'> <'\n'> <'Normally, the following command is what you want to run, then:\n'> <'$ (sh Build.sh -r -c lto && ./test.sh -f) 2>&1 | tee log\n'> <'\n'> <'Copy dot.mkshrc to /etc/skel/.mkshrc; install mksh into $prefix/bin; or\n'> <'/bin; install the manpage, if omitting the -r flag a catmanpage is made\n'> <'using $NROFF. Consider using a forward script as /etc/skel/.mkshrc like\n'> <'http://anonscm.debian.org/cgit/collab-maint/mksh.git/plain/debian/.mkshrc\n'> <'and put dot.mkshrc as /etc/mkshrc so users need not keep up their HOME.\n'> <'\n'> <'You may also want to install the lksh binary (also as /bin/sh) built by:\n'> <'$ CPPFLAGS="$CPPFLAGS -DMKSH_BINSHPOSIX" sh Build.sh -L -r -c lto\n'> <'\n'> ] ) ) ] do_fork: T ) ] )