(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'srcversion='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcversion='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'srcversion='> 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 $'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LC_ALL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LC_ALL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LC_ALL='> name:LC_ALL) op: assign_op.Equal rhs: {<C>} ) ] redirects: [] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<LC_ALL>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName ZSH_VERSION) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName VERSION)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <zsh> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ZSH_VERSION='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ZSH_VERSION='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ZSH_VERSION='> name:ZSH_VERSION) op: assign_op.Equal rhs: {<2>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-n>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ZSH_VERSION> var_name: ZSH_VERSION suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<x>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <emulate> more_env: [] words: [{<emulate>} {<sh>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> 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>} ) ] ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <emulate> more_env: [] words: [{<emulate>} {<sh>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'NULLCMD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NULLCMD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NULLCMD='> name:NULLCMD) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] spids: [110 139] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] 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 _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {<'/usr/xpg4/bin'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName PATH)} ) ] redirects: [] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<PATH>}] redirects: [] do_fork: T ) ] spids: [153 168] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'nl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nl='> name:nl) op: assign_op.Equal rhs: {(SQ <'\n'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'safeIFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'safeIFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'safeIFS='> name:safeIFS) op: assign_op.Equal rhs: {(SQ <'\t'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'safeIFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'safeIFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'safeIFS='> name:safeIFS) op: assign_op.Equal rhs: {(DQ <' '> ($ Id.VSub_DollarName safeIFS) ($ Id.VSub_DollarName nl))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName safeIFS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'allu='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'allu='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'allu='> name:allu) op: assign_op.Equal rhs: {<QWERTYUIOPASDFGHJKLZXCVBNM>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'alll='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alll='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'alll='> name:alll) op: assign_op.Equal rhs: {<qwertyuiopasdfghjklzxcvbnm>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'alln='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alln='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'alln='> name:alln) op: assign_op.Equal rhs: {<0123456789>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'alls='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alls='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'alls='> name:alls) op: assign_op.Equal rhs: {<______________________________________________________________>} ) ] redirects: [] ) (command.ShFunction name_tok: <genopt_die> name: genopt_die body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName bn) <.gen>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <genopt_soptc> name: genopt_soptc body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'optc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'optc='> name:optc) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName line))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^[<>]\\(.\\).*$/\\1/'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName optc))} {<Id.Lit_Equals '='>} {<x> (SQ <'|'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'optclo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optclo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'optclo='> name:optclo) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName optc))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [ {<tr>} {($ Id.VSub_DollarName allu)} {($ Id.VSub_DollarName alll)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName optc))} {<Id.Lit_Equals '='>} {<x> (DQ ($ Id.VSub_DollarName optclo))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'islo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'islo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'islo='> name:islo) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [376 393] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'islo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'islo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'islo='> name:islo) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sym='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sym='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sym='> name:sym) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName line))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^[<>]/|/'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_str='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_str='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_str='> 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) ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <genopt_scond> name: genopt_scond body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{<x> ($ Id.VSub_DollarName cond)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <x> pattern: (pat.Words words:[{<x>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <x> pattern: (pat.Words words:[{<x> <Id.Lit_Star '*'> (SQ <' '>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^ //'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: {(DQ <'#if '> ($ Id.VSub_DollarName cond))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <x> pattern: (pat.Words words:[{<x> (SQ <'!'>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^!//'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: {(DQ <'#ifndef '> ($ Id.VSub_DollarName cond))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <x> pattern: (pat.Words words:[{<x> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: {(DQ <'#ifdef '> ($ Id.VSub_DollarName cond))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <do_genopt> name: do_genopt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'srcfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'srcfile='> name:srcfile) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName srcfile))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <genopt_die> more_env: [] words: [ {<genopt_die>} {<Source>} {<file>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <srcfile>} {<not>} {<set.>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'bn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bn='> name:bn) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {(DQ ($ Id.VSub_DollarName srcfile))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/.opt$//'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_hdr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_hdr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_hdr='> name:o_hdr) op: assign_op.Equal rhs: {(SQ <'/* +++ GENERATED FILE +++ DO NOT EDIT +++ */'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_str='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_str='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_str='> name:o_str) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_sym='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_sym='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_sym='> name:o_sym) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ddefs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ddefs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ddefs='> name:ddefs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'state='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'state='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'state='> name:state) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <exec> more_env: [] 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 left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [(EnvPair left:<Id.Lit_VarLike 'IFS='> name:IFS val:(rhs_word__Empty))] words: [{<read>} {<line>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName safeIFS)} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName state) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName line) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <2> pattern: (pat.Words words: [{<2> <Id.Lit_Colon ':'> (SQ <'|'>) <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'o_sym='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_sym='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_sym='> name:o_sym) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName line))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^.//'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#undef F0'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#undef FN'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName ddefs)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'state='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'state='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'state='> name:state) op: assign_op.Equal rhs: {<3>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <1> pattern: (pat.Words words: [{<1> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_At '@'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#endif'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#ifndef F0'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#define F0 FN'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#endif'>) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'state='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'state='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'state='> name:state) op: assign_op.Equal rhs: {<2>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_At '@'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <genopt_die> more_env: [] words: [{<genopt_die>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <0> pattern: (pat.Words words: [ {<0> <Id.Lit_Colon ':'> <'/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\*'> ch: '*' ) <-> } {<0> <Id.Lit_Colon ':'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*') <Id.Lit_Star '*'> } {<0> <Id.Lit_Colon ':'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'o_hdr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_hdr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_hdr='> name:o_hdr) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_hdr) ($ Id.VSub_DollarName nl) ($ Id.VSub_DollarName line) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <0> pattern: (pat.Words words: [ {<0> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_Star '*'>} {<1> <Id.Lit_Colon ':'> <Id.Lit_At '@'> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'sym='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sym='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sym='> name:sym) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName line))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^@//'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName state)} {<Id.Lit_Equals '='>} {<0>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'o_gen='> name: o_gen ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#if defined('> ($ Id.VSub_DollarName sym) <')'>) } ) ] redirects: [] ) ] spids: [864 875] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'o_gen='> name: o_gen ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#elif defined('> ($ Id.VSub_DollarName sym) <')'>) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ddefs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ddefs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ddefs='> name:ddefs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName ddefs) ($ Id.VSub_DollarName nl) <'#undef '> ($ Id.VSub_DollarName sym) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'state='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'state='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'state='> name:state) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <0> pattern: (pat.Words words: [ {<0> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} {<3> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <genopt_die> more_env: [] words: [{<genopt_die>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <1> pattern: (pat.Words words:[{<1> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> name:o_gen) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) ($ Id.VSub_DollarName line) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <2> pattern: (pat.Words words: [ {<2> <Id.Lit_Colon ':'> (SQ <'<'>) <Id.Lit_Star '*'> (SQ <'|'>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <genopt_soptc> more_env: [] words: [{<genopt_soptc>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <2> pattern: (pat.Words words: [ {<2> <Id.Lit_Colon ':'> (SQ <'>'>) <Id.Lit_Star '*'> (SQ <'|'>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <genopt_soptc> more_env: [] words: [{<genopt_soptc>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'cond='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cond='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cond='> name:cond) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName line))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^[^|]*|//'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <genopt_scond> more_env: [] words: [{<genopt_scond>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName optc)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ <'|'>)}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'optc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optc='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'optc='> name: optc ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'optc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optc='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'optc='> name: optc ) op: assign_op.Equal rhs: { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\''> ch: '\'' ) ($ Id.VSub_DollarName optc) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''> ch:'\'') } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <read> more_env: [(EnvPair left:<Id.Lit_VarLike 'IFS='> name:IFS val:(rhs_word__Empty))] words: [{<read>} {<line>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <genopt_die> more_env: [] words: [{<genopt_die>} {<Unexpected>} {<EOF>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName safeIFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'o_gen='> name: o_gen ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ ($ Id.VSub_DollarName cond)) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'o_gen='> 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) <')'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'o_gen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'o_gen='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'o_gen='> name: o_gen ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName o_gen) ($ Id.VSub_DollarName nl) (DQ <'#endif'>) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName state) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName o_sym)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <3> pattern: (pat.Words words:[{<3> <Id.Lit_Colon ':'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <genopt_die> more_env: [] words: [{<genopt_die>} {<Expected>} {<optc>} {<sym>} {<at>} {<EOF>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <3> pattern: (pat.Words words:[{<3> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <genopt_die> more_env: [] words: [{<genopt_die>} {<Missing>} {<EOF>} {<marker>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName o_str))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [ (EnvPair left: <Id.Lit_VarLike 'IFS='> name: IFS val: {(SQ <'|'>)} ) ] words: [{<read>} {<x>} {<opts>} {<cond>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName safeIFS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName x))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <genopt_scond> more_env: [] words: [{<genopt_scond>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName opts) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName cond))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#endif'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName o_hdr))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'#ifndef '> ($ Id.VSub_DollarName o_sym) ($ Id.VSub_DollarName o_gen))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#else'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#undef '> ($ Id.VSub_DollarName o_sym))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#endif'>)}] redirects: [] do_fork: T ) ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName bn) <.gen>)} ) ] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName safeIFS)} ) ] redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName BUILDSH_RUN_GENOPT))} {<Id.Lit_Equals '='>} {<x> (DQ <1>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<x>} {<-G>} {(DQ ($ Id.VSub_DollarName srcfile))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [1334 1351] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ <-G>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <do_genopt> more_env: [] words: [{<do_genopt>} {(DQ ($ Id.VSub_Number 2))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] spids: [1369 1386] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'For the build logs, demonstrate that /dev/null and /dev/tty exist:'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ls> more_env: [] words: [{<ls>} {<-l>} {<'/dev/null'>} {<'/dev/tty'>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <v> name: v body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {(DQ ($ Id.VSub_Star '*'))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <vv> name: vv body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_c='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_c='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_c='> name:_c) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <' '> ($ Id.VSub_Star '*') ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] 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 blame_tok: <sed> more_env: [] 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 ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <vq> name: vq body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <rmf> name: rmf body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [_f] iterable: (for_iter.Words words:[{(DQ ($ Id.VSub_At '@'))}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _f)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Build.sh> pattern: (pat.Words words: [ {<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>} ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName _f))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'tcfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tcfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tcfn='> name:tcfn) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'bi='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bi='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bi='> name:bi) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ui='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ui='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ui='> name:ui) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ao='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ao='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ao='> name:ao) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fx='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fx='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fx='> name:fx) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'me='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'me='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'me='> name:me) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {(DQ ($ Id.VSub_Number 0))}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'orig_CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'orig_CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'orig_CFLAGS='> name:orig_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName CFLAGS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oldish_ed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldish_ed='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldish_ed='> name:oldish_ed) op: assign_op.Equal rhs: {<stdout-ed> <Id.Lit_Comma ','> <no-stderr-ed>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-t>} {<1>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'bi='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bi='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bi='> name:bi) op: assign_op.Equal rhs: {(SQ <'\x1b[1m'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ui='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ui='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ui='> name:ui) op: assign_op.Equal rhs: {(SQ <'\x1b[4m'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ao='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ao='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ao='> name:ao) op: assign_op.Equal rhs: {(SQ <'\x1b[0m'>)} ) ] redirects: [] ) ] spids: [1623 1632] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <upper> name: upper body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<Id.Lit_Colon ':'> (DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^://'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {($ Id.VSub_DollarName alll)} {($ Id.VSub_DollarName allu)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_testdone> name: ac_testdone body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<HAVE_> ($ Id.VSub_DollarName fu) <Id.Lit_Equals '='> ($ Id.VSub_DollarName fv)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fr='> name:fr) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName fv)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fr='> name:fr) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fx='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fx='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fx='> name:fx) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_cache> name: ac_cache body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'f='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'f='> name:f) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fu='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fu='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fu='> name:fu) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <upper> more_env: [] words: [{<upper>} {($ Id.VSub_DollarName f)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <HAVE_> ($ Id.VSub_DollarName fu) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName fv)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>} {<1>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fx='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fx='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fx='> name:fx) op: assign_op.Equal rhs: {(SQ <' (cached)'>)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_testinit> name: ac_testinit body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <ac_cache> more_env: [] words: [{<ac_cache>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {<x> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'fd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fd='> name:fd) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {($ Id.VSub_DollarName f)} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <ac_testdone> more_env: [] words: [{<ac_testdone>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [1831 1838] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fc='> name:fc) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ft='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ft='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ft='> name:ft) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [1901 1917] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fc='> name:fc) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [1927 1944] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'ft='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <HAVE_> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <upper> more_env: [] words: [{<upper>} {($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fd='> name:fd) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {($ Id.VSub_DollarName f)} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName fc)} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName ft))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fx='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fx='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fx='> name:fx) op: assign_op.Equal rhs: {(SQ <' (implied)'>)} ) ] redirects: [] ) (command.Simple blame_tok: <ac_testdone> more_env: [] words: [{<ac_testdone>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [1985 1998] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<Id.Lit_TDot ...>} {($ Id.VSub_DollarName fd)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_testnnd> name: ac_testnnd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fr='> name:fr) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [2046 2063] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fr='> name:fr) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_testinit> more_env: [] words: [{<ac_testinit>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>})] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName tcfn)} {<Id.Lit_Equals '='>} {<no>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<a.out>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tcfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tcfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tcfn='> name:tcfn) op: assign_op.Equal rhs: {<a.out>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName tcfn)} {<Id.Lit_Equals '='>} {<no>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<a.exe>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tcfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tcfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tcfn='> name:tcfn) op: assign_op.Equal rhs: {<a.exe>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName tcfn)} {<Id.Lit_Equals '='>} {<no>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<conftest.exe>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tcfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tcfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tcfn='> name:tcfn) op: assign_op.Equal rhs: {<conftest.exe>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName tcfn)} {<Id.Lit_Equals '='>} {<no>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<conftest>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'tcfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tcfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tcfn='> name:tcfn) op: assign_op.Equal rhs: {<conftest>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName tcfn)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName fr)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [2213 2222] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName fr)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'vscan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vscan='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vscan='> name:vscan) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName phase)} {<Id.Lit_Equals '='>} {<u>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<gcc>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'vscan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vscan='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vscan='> name:vscan) op: assign_op.Equal rhs: {(SQ <'unrecogni[sz]ed'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<hpcc>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'vscan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vscan='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vscan='> name:vscan) op: assign_op.Equal rhs: {(SQ <unsupported>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<pcc>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'vscan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vscan='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vscan='> name:vscan) op: assign_op.Equal rhs: {(SQ <unsupported>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<sunpro>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'vscan='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vscan='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vscan='> name:vscan) op: assign_op.Equal rhs: {(SQ <'-e ignored -e turned.off'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [2262 2273] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName vscan))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] 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 left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {($ Id.VSub_DollarName fr)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_testn> name: ac_testn body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <ac_testnnd> more_env: [] words: [{<ac_testnnd>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <rmf> more_env: [] words: [ {<rmf>} {<conftest.c>} {<conftest.o>} {(${ Id.VSub_Name tcfn) <Id.Lit_Star '*'>} {<vv.out>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_testdone> more_env: [] words: [{<ac_testdone>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_ifcpp> name: ac_ifcpp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'expr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'expr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'expr='> name:expr) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'f='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'f='> name:f) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fu='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fu='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fu='> name:fu) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <upper> more_env: [] words: [{<upper>} {($ Id.VSub_DollarName f)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <HAVE_> ($ Id.VSub_DollarName fu) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_DollarName fv))} {<Id.Lit_Equals '='>} {<x> (DQ <1>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <add_cppflags> name: add_cppflags body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_Star '*'))} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_cppflags> name: ac_cppflags body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ )}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fu='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fu='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fu='> name:fu) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {<x> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <HAVE_> ($ Id.VSub_DollarName fu) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [ {<add_cppflags>} {<-DHAVE_> ($ Id.VSub_DollarName fu) <Id.Lit_Equals '='> ($ Id.VSub_DollarName fv)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_test> name: ac_test body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <ac_testn> more_env: [] words: [{<ac_testn>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_cppflags> more_env: [] words: [{<ac_cppflags>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_flags> name: ac_flags body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ <->)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'hf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hf='> name:hf) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [2622 2639] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'hf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hf='> name:hf) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fa='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fa='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fa='> name:fa) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'vn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'vn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'vn='> name:vn) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'f='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'f='> name:f) op: assign_op.Equal rhs: {($ Id.VSub_Number 3)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ft='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ft='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ft='> name:ft) op: assign_op.Equal rhs: {($ Id.VSub_Number 4)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fl='> name:fl) op: assign_op.Equal rhs: {($ Id.VSub_Number 5)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_DollarName ft))} {<Id.Lit_Equals '='>} {<x> (DQ )}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ft='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ft='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ft='> name:ft) op: assign_op.Equal rhs: {(DQ <'if '> ($ Id.VSub_DollarName f) <' can be used'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'save_CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_CFLAGS='> name:save_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName CFLAGS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName f))} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName fl))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_LDFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_LDFLAGS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'save_LDFLAGS='> name: save_LDFLAGS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName LDFLAGS)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LDFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LDFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LDFLAGS='> name:LDFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName LDFLAGS) <' '> ($ Id.VSub_DollarName fl))} ) ] redirects: [] ) ] spids: [2714 2725] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName hf)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <ac_testn> more_env: [] words: [ {<ac_testn>} {<can_> ($ Id.VSub_DollarName vn)} {(SQ )} {(DQ ($ Id.VSub_DollarName ft))} ] redirects: [] do_fork: T ) ] spids: [2743 2754] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'/* evil apo\'stroph in comment test */\n'> <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'fv='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <HAVE_CAN_> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <upper> more_env: [] words: [{<upper>} {($ Id.VSub_DollarName vn)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName fl))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<11>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName fa) ($ Id.VSub_DollarName fv)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'LDFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LDFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LDFLAGS='> name:LDFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_LDFLAGS)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [2812 2823] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<11>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName fa) ($ Id.VSub_DollarName fv)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_CFLAGS)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ac_header> name: ac_header body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'na='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'na='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'na='> name:na) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [2871 2888] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'na='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'na='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'na='> name:na) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'hf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hf='> name:hf) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'hv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'hv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hv='> name:hv) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName hf))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {<-d>} {(SQ <'\\012\\015'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [ {<tr>} {<-c>} {($ Id.VSub_DollarName alll) ($ Id.VSub_DollarName allu) ($ Id.VSub_DollarName alln) } {($ Id.VSub_DollarName alls)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName i)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <_time> pattern: (pat.Words words:[{<_time>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'#endif'>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<x>} ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <ac_testn> more_env: [] 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 ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<x>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName na)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_cppflags> more_env: [] words: [{<ac_cppflags>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <addsrcs> name: addsrcs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<x> (DQ <'!'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fr='> name:fr) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [3168 3185] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fr='> name:fr) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'i='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ($ Id.VSub_Number 1) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName fr)} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName SRCS) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) ($ Id.VSub_Number 2) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'SRCS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SRCS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCS='> name:SRCS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName SRCS) <' '> ($ Id.VSub_Number 2))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'curdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'curdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'curdir='> name:curdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) (AssignPair left: <Id.Lit_VarLike 'srcdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'srcdir='> name:srcdir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <dirname> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{<x> ($ Id.VSub_DollarName srcdir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <x> pattern: (pat.Words words:[{<x>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'srcdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'srcdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'srcdir='> name:srcdir) op: assign_op.Equal rhs: {<.>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Id.Lit_Star '*'> } {<Id.Lit_Star '*'> (DQ <'\t'>) <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> (DQ ($ Id.VSub_DollarName nl)) <Id.Lit_Star '*'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] words: [{<echo>} {<Errors>} {<may>} {<occur.>}] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> (DQ <'\''>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<Source>} {<directory>} {<must>} {<not>} {<contain>} {<single>} {<quotes.>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dstversion='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dstversion='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dstversion='> name:dstversion) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-n>} {(SQ <'/define MKSH_VERSION/s/^.*"\\([^"]*\\)".*$/\\1/p'>)} {(DQ ($ Id.VSub_DollarName srcdir) <'/sh.h'>)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_BUILDSH>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'e='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'e='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'e='> name:e) op: assign_op.Equal rhs: {<echo>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'r='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r='> name:r) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'eq='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'eq='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'eq='> name:eq) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pm='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pm='> name:pm) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cm='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cm='> name:cm) op: assign_op.Equal rhs: {<normal>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'optflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optflags='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'optflags='> name:optflags) op: assign_op.Equal rhs: {<-std-compile-opts>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tfn='> name:tfn) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'legacy='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'legacy='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'legacy='> name:legacy) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName last) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName i)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <c> pattern: (pat.Words words: [ {<c> <Id.Lit_Colon ':'> <combine>} {<c> <Id.Lit_Colon ':'> <dragonegg>} {<c> <Id.Lit_Colon ':'> <llvm>} {<c> <Id.Lit_Colon ':'> <lto>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cm='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cm='> name:cm) op: assign_op.Equal rhs: {($ Id.VSub_DollarName i)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <c> pattern: (pat.Words words:[{<c> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <o> pattern: (pat.Words words:[{<o> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'optflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optflags='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'optflags='> name:optflags) op: assign_op.Equal rhs: {($ Id.VSub_DollarName i)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <t> pattern: (pat.Words words:[{<t> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tfn='> name:tfn) op: assign_op.Equal rhs: {($ Id.VSub_DollarName i)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-c>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: {<c>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-G>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-g>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DDEBUG>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName CFLAGS) <' -g3 -fno-builtin'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-j>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pm='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pm='> name:pm) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-L>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'legacy='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'legacy='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'legacy='> name:legacy) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <Id.Lit_Other '+'> <L>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'legacy='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'legacy='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'legacy='> name:legacy) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-M>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cm='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cm='> name:cm) op: assign_op.Equal rhs: {<makefile>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-O>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'optflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optflags='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'optflags='> name:optflags) op: assign_op.Equal rhs: {<-std-compile-opts>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-o>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: {<o>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-Q>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'eq='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'eq='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'eq='> name:eq) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-r>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'r='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r='> name:r) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-t>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'last='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'last='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'last='> name:last) op: assign_op.Equal rhs: {<t>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <-v>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Build.sh '> ($ Id.VSub_DollarName srcversion))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'for mksh '> ($ Id.VSub_DollarName dstversion))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName last))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [3809 3820] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName tfn))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName legacy)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tfn='> name:tfn) op: assign_op.Equal rhs: {<mksh>} ) ] redirects: [] ) ] spids: [3853 3864] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'tfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tfn='> name:tfn) op: assign_op.Equal rhs: {<lksh>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {($ Id.VSub_DollarName tfn)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {($ Id.VSub_DollarName tfn) <.exe>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [3878 3896] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <rmf> more_env: [] words: [ {<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>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'SRCS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SRCS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCS='> name:SRCS) op: assign_op.Equal rhs: {(DQ <'lalloc.c eval.c exec.c expr.c funcs.c histrap.c jobs.c'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SRCS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SRCS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCS='> 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'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName legacy)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'SRCS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SRCS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCS='> name:SRCS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName SRCS) <' edit.c'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' shell:legacy-no int:32'>)} ) ] redirects: [] ) ] spids: [3986 3997] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' shell:legacy-yes'>)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_LEGACY_MODE>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_PERSISTENT_HISTORY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_PERSISTENT_HISTORY='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_PERSISTENT_HISTORY='> name: HAVE_PERSISTENT_HISTORY ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_CONSERVATIVE_FDS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_CONSERVATIVE_FDS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_CONSERVATIVE_FDS='> name: HAVE_ISSET_MKSH_CONSERVATIVE_FDS ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName srcdir))} {<Id.Lit_Equals '='>} {<x> (DQ <.>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ <'-I. '> ($ Id.VSub_DollarName CPPFLAGS))} ) ] redirects: [] ) ] spids: [4041 4058] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: { (DQ <'-I. -I\''> ($ Id.VSub_DollarName srcdir) <'\' '> ($ Id.VSub_DollarName CPPFLAGS)) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName LDSTATIC))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName LDFLAGS))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'LDFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LDFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LDFLAGS='> name:LDFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName LDFLAGS) <' '> ($ Id.VSub_DollarName LDSTATIC))} ) ] redirects: [] ) ] spids: [4090 4101] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'LDFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LDFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LDFLAGS='> name:LDFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName LDSTATIC)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName TARGET_OS))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'x='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'x='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.AndOr children: [ (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-s>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName x))} {<Id.Lit_Equals '='>} {<x> (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-n>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_OS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OS='> name:TARGET_OS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName x)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [4120 4131] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName TARGET_OS))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [4181 4192] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ccpc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpc='> name:ccpc) op: assign_op.Equal rhs: {<-Wc> <Id.Lit_Comma ','>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ccpl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpl='> name:ccpl) op: assign_op.Equal rhs: {<-Wl> <Id.Lit_Comma ','>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tsts='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tsts='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tsts='> name:tsts) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ccpr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpr='> 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' > ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OS))} {<Id.Lit_Equals '='>} {<x> (DQ <Android>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' android'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_OS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OS='> name:TARGET_OS) op: assign_op.Equal rhs: {<Linux>} ) ] redirects: [] ) ] spids: [4233 4250] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OS))} {<Id.Lit_Equals '='>} {<x> (DQ <Minix>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 left: <Id.Lit_VarLike 'ct='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ct='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ct='> name:ct) op: assign_op.Equal rhs: {<unknown>} ) ] redirects: [] ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <']'>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<cc>}) right: <Id.Right_DollarBrace '}'> ) <' -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 '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'015 >x'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^/[ /'>)} {<x>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<x>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<x>} {<vv.out>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ct)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Minix3> pattern: (pat.Words words:[{<Minix3>} {<Ninix3>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 left: <Id.Lit_VarLike 'TARGET_OS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OS='> name:TARGET_OS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ct)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [4269 4286] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OS)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <NEXTSTEP> pattern: (pat.Words words:[{<NEXTSTEP>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OSREV))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_OSREV='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OSREV='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OSREV='> name:TARGET_OSREV) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <hostinfo> more_env: [] words: [{<hostinfo>}] redirects: [ (Redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'NeXT Mach [0-9][0-9.]*:'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {(SQ <'s/^.*NeXT Mach \\([0-9][0-9.]*\\):.*$/\\1/'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <QNX> pattern: (pat.Words words:[{<QNX>} {<SCO_SV>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OSREV))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_OSREV='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OSREV='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OSREV='> name:TARGET_OSREV) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OS)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <386BSD> pattern: (pat.Words words:[{<386BSD>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_CAN_OTWO> var_name: HAVE_CAN_OTWO suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_SIGSETJMP>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_TYPEDEF_SIG_ATOMIC_T> <Id.Lit_Equals '='> <int>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <AIX> pattern: (pat.Words words:[{<AIX>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_ALL_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <BeOS> pattern: (pat.Words words:[{<BeOS>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName KSH_VERSION)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <MIRBSD> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <KSH> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; you must recompile mksh with'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName oswarn) (${ Id.VSub_Name nl) <'itself in a second stage'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_DISABLE_TTY_WARNING>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH__NO_SETEUGID>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <'BSD/OS'> pattern: (pat.Words words:[{<'BSD/OS'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Coherent> pattern: (pat.Words words:[{<Coherent>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has major issues'>)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH__NO_SYMLINK>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' nosymlink'>)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH__NO_SETEUGID>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_DISABLE_TTY_WARNING>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <CYGWIN> pattern: (pat.Words words:[{<CYGWIN> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Darwin> pattern: (pat.Words words:[{<Darwin>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_DARWIN_C_SOURCE>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <DragonFly> pattern: (pat.Words words:[{<DragonFly>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <FreeBSD> pattern: (pat.Words words:[{<FreeBSD>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <FreeMiNT> pattern: (pat.Words words:[{<FreeMiNT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_GNU_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <GNU> pattern: (pat.Words words:[{<GNU>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName CC)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <tendracc> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_GNU_SOURCE>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DSETUID_CAN_FAIL_WITH_EAGAIN>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH__NO_PATH_MAX>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <'GNU/kFreeBSD'> pattern: (pat.Words words:[{<'GNU/kFreeBSD'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName CC)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <tendracc> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_GNU_SOURCE>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DSETUID_CAN_FAIL_WITH_EAGAIN>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Haiku> pattern: (pat.Words words:[{<Haiku>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_ASSUME_UTF8>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> name: HAVE_ISSET_MKSH_ASSUME_UTF8 ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <HP-UX> pattern: (pat.Words words:[{<HP-UX>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Interix> pattern: (pat.Words words:[{<Interix>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ccpc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpc='> name:ccpc) op: assign_op.Equal rhs: {(SQ <'-X '>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ccpl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpl='> name:ccpl) op: assign_op.Equal rhs: {(SQ <'-Y '>)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_ALL_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LIBS> var_name: LIBS suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<-lcrypt>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <IRIX> pattern: (pat.Words words:[{<IRIX> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Linux> pattern: (pat.Words words:[{<Linux>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName CC)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <tendracc> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_GNU_SOURCE>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DSETUID_CAN_FAIL_WITH_EAGAIN>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_REVOKE> var_name: HAVE_REVOKE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <LynxOS> pattern: (pat.Words words:[{<LynxOS>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <MidnightBSD> pattern: (pat.Words words:[{<MidnightBSD>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Minix-vmd> pattern: (pat.Words words:[{<Minix-vmd>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH__NO_SETEUGID>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_MINIX_SOURCE>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oldish_ed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldish_ed='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldish_ed='> name:oldish_ed) op: assign_op.Equal rhs: {<no-stderr-ed>} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Minix3> pattern: (pat.Words words:[{<Minix3>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_LIMITS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [ {<add_cppflags>} {<-D_POSIX_SOURCE>} {<-D_POSIX_1_SOURCE> <Id.Lit_Equals '='> <2>} {<-D_MINIX>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oldish_ed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldish_ed='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldish_ed='> name:oldish_ed) op: assign_op.Equal rhs: {<no-stderr-ed>} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <MirBSD> pattern: (pat.Words words:[{<MirBSD>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <MSYS_> pattern: (pat.Words words:[{<MSYS_> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_ASSUME_UTF8> <Id.Lit_Equals '='> <0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> name: HAVE_ISSET_MKSH_ASSUME_UTF8 ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_STDINT_H> var_name: HAVE_STDINT_H suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <NetBSD> pattern: (pat.Words words:[{<NetBSD>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <NEXTSTEP> pattern: (pat.Words words:[{<NEXTSTEP>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_NEXT_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_POSIX_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name AWK> var_name: AWK suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<gawk>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<'cc -posix'>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_SIGSETJMP>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OSREV)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <4.2> pattern: (pat.Words words:[{<4.2> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it needs libposix.a'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Ninix3> pattern: (pat.Words words:[{<Ninix3>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_LIMITS>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has unknown issues'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <OpenBSD> pattern: (pat.Words words:[{<OpenBSD>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <'OS/2'> pattern: (pat.Words words:[{<'OS/2'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_TERMIOS_H='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_TERMIOS_H='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_TERMIOS_H='> name:HAVE_TERMIOS_H) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_MKNOD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_MKNOD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_MKNOD='> name:HAVE_MKNOD) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it is currently being ported'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' nosymlink'>)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<gcc>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SIZE> var_name: SIZE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<': size'>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NOPROSPECTOFWORK>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <OSF1> pattern: (pat.Words words:[{<OSF1>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_SIG_T='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_SIG_T='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_SIG_T='> name:HAVE_SIG_T) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_OSF_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_POSIX_C_SOURCE> <Id.Lit_Equals '='> <200112L>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_XOPEN_SOURCE> <Id.Lit_Equals '='> <600>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_XOPEN_SOURCE_EXTENDED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Plan9> pattern: (pat.Words words:[{<Plan9>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_POSIX_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_LIMITS_EXTENSION>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_BSD_EXTENSION>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_SUSV2_SOURCE>}] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_ASSUME_UTF8>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_ASSUME_UTF8='> name: HAVE_ISSET_MKSH_ASSUME_UTF8 ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_CMDLINE_EDITING>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH__NO_SETEUGID>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(SQ <' and will currently not work'>)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_MAYBE_KENCC>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <PW32> pattern: (pat.Words words:[{<PW32> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_SIG_T='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_SIG_T='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_SIG_T='> name:HAVE_SIG_T) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(SQ <' and will currently not work'>)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <QNX> pattern: (pat.Words words:[{<QNX>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D__NO_EXT_QNX>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D__EXT_UNIX_MISC>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OSREV)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<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 ']'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oldish_ed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oldish_ed='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldish_ed='> name:oldish_ed) op: assign_op.Equal rhs: {<no-stderr-ed>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <SCO_SV> pattern: (pat.Words words:[{<SCO_SV>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OSREV)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <3.2> pattern: (pat.Words words:[{<3.2> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_UNEMPLOYED>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <5> pattern: (pat.Words words:[{<5> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(SQ <'; this is an unknown version of'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> 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'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SYS_SIGLIST> var_name: HAVE_SYS_SIGLIST suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE__SYS_SIGLIST> var_name: HAVE__SYS_SIGLIST suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <skyos> pattern: (pat.Words words:[{<skyos>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it has minor issues'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <SunOS> pattern: (pat.Words words:[{<SunOS>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_BSD_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D__EXTENSIONS__>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <syllable> pattern: (pat.Words words:[{<syllable>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_GNU_SOURCE>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_SIGSUSPEND>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(SQ <' and will currently not work'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ULTRIX> pattern: (pat.Words words:[{<ULTRIX>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<'cc -YPOSIX'>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_TYPEDEF_SSIZE_T> <Id.Lit_Equals '='> <int>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <UnixWare> pattern: (pat.Words words:[{<UnixWare>} {<UNIX_SV>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_CONSERVATIVE_FDS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SYS_SIGLIST> var_name: HAVE_SYS_SIGLIST suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE__SYS_SIGLIST> var_name: HAVE__SYS_SIGLIST suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <UWIN> pattern: (pat.Words words:[{<UWIN> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ccpc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpc='> name:ccpc) op: assign_op.Equal rhs: {(SQ <'-Yc,'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ccpl='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpl='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpl='> name:ccpl) op: assign_op.Equal rhs: {(SQ <'-Yl,'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tsts='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tsts='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tsts='> name:tsts) op: assign_op.Equal rhs: {(DQ <' 3<>/dev/tty'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(DQ <'; it will compile, but the target'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName oswarn) (${ Id.VSub_Name nl) <'platform itself is very flakey/unreliable'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <_svr4> pattern: (pat.Words words:[{<_svr4>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(SQ <'; it may or may not work'>)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OSREV))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_OSREV='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OSREV='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OSREV='> name:TARGET_OSREV) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'oswarn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'oswarn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oswarn='> name:oswarn) op: assign_op.Equal rhs: {(SQ <'; it may or may not work'>)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OSREV))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_OSREV='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_OSREV='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_OSREV='> name:TARGET_OSREV) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_MKNOD> var_name: HAVE_MKNOD suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name AWK> var_name: AWK suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<awk>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<cc>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NROFF> var_name: NROFF suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<nroff>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SIZE> var_name: SIZE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<size>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName r)}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NROFF'> more_env: [] 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 blame_tok: <grep> more_env: [] 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 ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$NROFF'> more_env: [] 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 ) ] ops: [<Id.Op_Pipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'NROFF='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NROFF='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NROFF='> name:NROFF) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName NROFF) <' -c'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} { (DQ <'Hi from'> ($ Id.VSub_DollarName ao) <' '> ($ Id.VSub_DollarName bi) ($ Id.VSub_DollarName srcversion) ($ Id.VSub_DollarName ao) <' on:'> ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OS)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <AIX> pattern: (pat.Words words:[{<AIX>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'oslevel >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Darwin> pattern: (pat.Words words:[{<Darwin>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'hwprefs machine_type os_type os_class >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'sw_vers >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <'|'>)} {(DQ <'system_profiler SPSoftwareDataType SPHardwareDataType >&2'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'/bin/sh --version >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'xcodebuild -version >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <'|'>)} { (DQ < 'sysctl kern.version hw.machine hw.model hw.memsize hw.availcpu hw.cpufrequency hw.byteorder hw.cpu64bit_capable >&2' > ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <IRIX> pattern: (pat.Words words:[{<IRIX> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'hinv -v >&2'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <OSF1> pattern: (pat.Words words:[{<OSF1>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'/usr/sbin/sizer -v >&2'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <SCO_SV> pattern: (pat.Words words:[{<SCO_SV>} {<UnixWare>} {<UNIX_SV>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -X >&2'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'uname -a >&2'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName oswarn))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] 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 ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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) <...> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CPP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPP='> name:CPP) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName CC) <' -E'>)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {<Id.Lit_TDot ...>} {<which>} {<compiler>} {<seems>} {<to>} {<be>} {<used>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 left: <Id.Lit_VarLike 'ct='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ct='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ct='> name:ct) op: assign_op.Equal rhs: {<untested>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'et='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'et='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'et='> name:et) op: assign_op.Equal rhs: {<untested>} ) ] redirects: [] ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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 '\\\\'> ch:'\\') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'015 >x'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^/[ /'>)} {<x>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<x>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<x>} {<vv.out>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [<'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'>] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ct)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <ack> pattern: (pat.Words words:[{<ack>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ <'-Dconst= '> ($ Id.VSub_DollarName CPPFLAGS))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <adsp> pattern: (pat.Words words:[{<adsp>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <bcc> pattern: (pat.Words words:[{<bcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <clang> pattern: (pat.Words words:[{<clang>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <'|'>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CLANG> var_name: CLANG suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<clang>}) right: <Id.Right_DollarBrace '}'> ) <' -version'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <'|'>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CLANG> var_name: CLANG suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<clang>}) right: <Id.Right_DollarBrace '}'> ) <' --version'> ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName CCC_CC) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName CCC_LD)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Colon ':'> pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <Id.Lit_Colon ':'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'CCC_LD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CCC_LD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CCC_LD='> name:CCC_LD) op: assign_op.Equal rhs: {($ Id.VSub_DollarName CCC_CC)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<CCC_LD>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dec> pattern: (pat.Words words:[{<dec>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dmc> pattern: (pat.Words words:[{<dmc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <gcc> pattern: (pat.Words words:[{<gcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <'|'>)} { (SQ <'echo `$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN $LIBS \\\n'> <'\t -dumpmachine` gcc`$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN \\\n'> <'\t $LIBS -dumpversion`'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <hpcc> pattern: (pat.Words words:[{<hpcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <iar> pattern: (pat.Words words:[{<iar>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <icc> pattern: (pat.Words words:[{<icc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <kencc> pattern: (pat.Words words:[{<kencc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <lcc> pattern: (pat.Words words:[{<lcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D__inline__> <Id.Lit_Equals '='> <__inline>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <metrowerks> pattern: (pat.Words words:[{<metrowerks>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <mipspro> pattern: (pat.Words words:[{<mipspro>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <msc> pattern: (pat.Words words:[{<msc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ccpr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ccpr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ccpr='> name:ccpr) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_OS)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Interix> pattern: (pat.Words words:[{<Interix>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName C89_COMPILER)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'C89_COMPILER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'C89_COMPILER='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'C89_COMPILER='> name: C89_COMPILER ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <ntpath2posix> more_env: [] words: [ {<ntpath2posix>} {<-c>} {(DQ ($ Id.VSub_DollarName C89_COMPILER))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [7097 7108] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'C89_COMPILER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'C89_COMPILER='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'C89_COMPILER='> name: C89_COMPILER ) op: assign_op.Equal rhs: {<CL.EXE>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName C89_LINKER)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'C89_LINKER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'C89_LINKER='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'C89_LINKER='> name: C89_LINKER ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <ntpath2posix> more_env: [] words: [ {<ntpath2posix>} {<-c>} {(DQ ($ Id.VSub_DollarName C89_LINKER))} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [7135 7146] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'C89_LINKER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'C89_LINKER='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'C89_LINKER='> name: C89_LINKER ) op: assign_op.Equal rhs: {<LINK.EXE>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <'|'>)} {(DQ ($ Id.VSub_DollarName C89_COMPILER) <' /HELP >&2'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ ($ Id.VSub_DollarName C89_LINKER) <' /LINK >&2'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <nwcc> pattern: (pat.Words words:[{<nwcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <pcc> pattern: (pat.Words words:[{<pcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <pgi> pattern: (pat.Words words:[{<pgi>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sdcc> pattern: (pat.Words words:[{<sdcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sunpro> pattern: (pat.Words words:[{<sunpro>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tcc> pattern: (pat.Words words:[{<tcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tendra> pattern: (pat.Words words:[{<tendra>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ucode> pattern: (pat.Words words:[{<ucode>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <uslc> pattern: (pat.Words words:[{<uslc>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName TARGET_OS) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName TARGET_OSREV) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <SCO_SV> pattern: (pat.Words words:[{<SCO_SV> <Id.Lit_Colon ':'> <3.2> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName CFLAGS) <' -g'>)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_CAN_OTWO> var_name: HAVE_CAN_OTWO suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_CAN_OPTIMISE> var_name: HAVE_CAN_OPTIMISE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <watcom> pattern: (pat.Words words:[{<watcom>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xlc> pattern: (pat.Words words:[{<xlc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'ld -V'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName ct))} {<Id.Lit_Equals '='>} {<x> (DQ <untested>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {(DQ <'!!! detecting preprocessor failed'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'ct='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ct='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ct='> name:ct) op: assign_op.Equal rhs: {<unknown>} ) ] redirects: [] ) (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(DQ ($ Id.VSub_DollarName CC) <' --version'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cm)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <dragonegg> pattern: (pat.Words words:[{<dragonegg>} {<llvm>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <vv> more_env: [] words: [{<vv>} {(SQ <'|'>)} {(DQ <'llc -version'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'etd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'etd='> name:etd) op: assign_op.Equal rhs: {(DQ <' on '> ($ Id.VSub_DollarName et))} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName et)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <klibc> pattern: (pat.Words words:[{<klibc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_LIMITS>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <unknown> pattern: (pat.Words words:[{<unknown>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'etd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'etd='> name:etd) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rmf> more_env: [] words: [ {<rmf>} {<conftest.c>} {<conftest.o>} {<conftest>} {<a.out> <Id.Lit_Star '*'>} {<a.exe> <Id.Lit_Star '*'>} {<conftest.exe> <Id.Lit_Star '*'>} {<vv.out>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName NOWARN)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NOWARN='> name:NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<compiler_works>} {(SQ )} {(SQ <'if the compiler works'>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_COMPILER_WORKS)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> name: HAVE_COMPILER_KNOWN ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<unknown>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> name: HAVE_COMPILER_KNOWN ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'if 0'>)} {<compiler_fails>} {(SQ )} {(SQ <'if the compiler does not fail correctly'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_CFLAGS='> name:save_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName CFLAGS)} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_CAN_DELEXE> var_name: HAVE_CAN_DELEXE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<x>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ct)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <dec> pattern: (pat.Words words:[{<dec>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName CFLAGS) <' '> (${ Id.VSub_Name ccpl) <-non_shared> ) } ) ] redirects: [] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dmc> pattern: (pat.Words words:[{<dmc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName CFLAGS) <' '> (${ Id.VSub_Name ccpl) <'/DELEXECUTABLE'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_DELEXE)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_CFLAGS)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [] ) ) ] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_COMPILER_STILL_FAILS)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DAmp _>] ) ] spids: [7848 7868] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef __TINYC__'>)} {<couldbe_tcc>} {(SQ <'!'>)} {<compiler_known>} {<0>} {(SQ <'if this could be tcc'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ct='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ct='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ct='> name:ct) op: assign_op.Equal rhs: {<tcc>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CPP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPP='> name:CPP) op: assign_op.Equal rhs: {(SQ <'cpp -D__TINYC__'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_COMPILER_KNOWN='> name: HAVE_COMPILER_KNOWN ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [8031 8056] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ct)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <bcc> pattern: (pat.Words words:[{<bcc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <-w>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <'-w!'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dec> pattern: (pat.Words words:[{<dec>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <dmc> pattern: (pat.Words words:[{<dmc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <-w>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <-wx>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <hpcc> pattern: (pat.Words words:[{<hpcc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {<Id.Lit_Other '+'> <We>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <kencc> pattern: (pat.Words words:[{<kencc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <mipspro> pattern: (pat.Words words:[{<mipspro>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {(DQ <'-diag_error 1-10000'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <msc> pattern: (pat.Words words:[{<msc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <'/w'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ccpc) <'/WX'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sunpro> pattern: (pat.Words words:[{<sunpro>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName save_NOWARN))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {(SQ <'-errwarn=%none'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<errwarnnone>} {(DQ ($ Id.VSub_DollarName save_NOWARN))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_ERRWARNNONE)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<errwarnall>} {(DQ <'-errwarn=%all'>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_ERRWARNALL)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {(DQ <'-errwarn=%all'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tendra> pattern: (pat.Words words:[{<tendra>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {<-w>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ucode> pattern: (pat.Words words:[{<ucode>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {<-w2>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <watcom> pattern: (pat.Words words:[{<watcom>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {<-Wc> <Id.Lit_Comma ','> <-we>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xlc> pattern: (pat.Words words:[{<xlc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {<-qflag> <Id.Lit_Equals '='> <i> <Id.Lit_Colon ':'> <e>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {<-qflag> <Id.Lit_Equals '='> <i> <Id.Lit_Colon ':'> <i>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName save_NOWARN))} {<Id.Lit_Equals '='>} {<x> (DQ )} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: {<-Wno-error>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<wnoerror>} {(DQ ($ Id.VSub_DollarName save_NOWARN))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_WNOERROR)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_NOWARN='> name:save_NOWARN) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<werror>} {<-Werror>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_WERROR)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {<-Werror>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<icc>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'DOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOWARN='> name:DOWARN) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName DOWARN) <' -wd1419'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NOWARN='> name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_NOWARN)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName orig_CFLAGS))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^://'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [ {<tr>} {<-c>} {<-d>} {($ Id.VSub_DollarName alll) ($ Id.VSub_DollarName allu) ($ Id.VSub_DollarName alln) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<x> (DQ ($ Id.VSub_DollarName i))} {<Id.Lit_Equals '='>} {<x> (DQ )}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ct)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <hpcc> pattern: (pat.Words words:[{<hpcc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<u>} ) ] redirects: [] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<otwo>} {<Id.Lit_Other '+'> <O2>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <kencc> pattern: (pat.Words words:[{<kencc>} {<tcc>} {<tendra>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <sunpro> pattern: (pat.Words words:[{<sunpro>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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: [ (command.Simple blame_tok: <yes> more_env: [] words: [{<yes>} {<pad>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <head> more_env: [] words: [{<head>} {<-n>} {<256>}] redirects: [(Redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<->} {<1>} {<otwo>} {<-xO2>}] redirects: [(Redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>})] do_fork: T ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<x>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xlc> pattern: (pat.Words words:[{<xlc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<othree>} {(DQ <'-O3 -qstrict'>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_OTHREE)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<otwo>} {<-O2>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<otwo>} {<-O2>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_OTWO)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<optimise>} {<-O>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ct)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <bcc> pattern: (pat.Words words:[{<bcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<strpool>} {(DQ (${ Id.VSub_Name ccpc) <-d>)} {(SQ <'if string pooling can be enabled'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <clang> pattern: (pat.Words words:[{<clang>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dec> pattern: (pat.Words words:[{<dec>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<verb>} {<-verbose>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<rodata>} {<-readonly_strings>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dmc> pattern: (pat.Words words:[{<dmc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<decl>} {(DQ (${ Id.VSub_Name ccpc) <-r>)} {(SQ <'for strict prototype checks'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<schk>} {(DQ (${ Id.VSub_Name ccpc) <-s>)} {(SQ <'for stack overflow checking'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <gcc> pattern: (pat.Words words:[{<gcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NOWARN='> name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName DOWARN)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<u>} ) ] redirects: [] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<wnodeprecateddecls>} {<-Wno-deprecated-declarations>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<no_eh_frame>} {<-fno-asynchronous-unwind-tables>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fnostrictaliasing>} {<-fno-strict-aliasing>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fstackprotectorstrong>} {<-fstack-protector-strong>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_FSTACKPROTECTORSTRONG)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fstackprotectorall>} {<-fstack-protector-all>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<dragonegg>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ <' '> ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName LDFLAGS) <' '> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) <-fplugin> <Id.Lit_Equals '='> <Id.Lit_Star '*'> <dragonegg> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<fplugin_dragonegg>} {<-fplugin> <Id.Lit_Equals '='> <dragonegg>} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cm)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <combine> pattern: (pat.Words words:[{<combine>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'checks='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'checks='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'checks='> name:checks) op: assign_op.Equal rhs: {(SQ <'7 8'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <lto> pattern: (pat.Words words:[{<lto>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'checks='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'checks='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'checks='> name:checks) op: assign_op.Equal rhs: {(SQ <'1 2 3 4 5 6 7 8'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<1>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [what] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName checks)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName what)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <1> pattern: (pat.Words words:[{<1>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <'-flto=jobserver'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_ldflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ <-fuse-linker-plugin>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<fltojs_lp>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <2> pattern: (pat.Words words:[{<2>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <'-flto=jobserver'>)} ) (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<fltojs_nn>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <3> pattern: (pat.Words words:[{<3>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <'-flto=jobserver'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_ldflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ <'-fno-use-linker-plugin -fwhole-program'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<fltojs_np>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <4> pattern: (pat.Words words:[{<4>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <-flto>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_ldflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ <-fuse-linker-plugin>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<fltons_lp>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <5> pattern: (pat.Words words:[{<5>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <-flto>)} ) (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<fltons_nn>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <6> pattern: (pat.Words words:[{<6>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <-flto>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_ldflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ <'-fno-use-linker-plugin -fwhole-program'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<fltons_np>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <7> pattern: (pat.Words words:[{<7>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 't_cflags='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_cflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_cflags='> name: t_cflags ) op: assign_op.Equal rhs: {(SQ <'-fwhole-program --combine'>)} ) (AssignPair left: <Id.Lit_VarLike 't_ldflags='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_ldflags='> name: t_ldflags ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 't_use='> pairs: [ (AssignPair left: <Id.Lit_VarLike 't_use='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_use='> name: t_use ) op: assign_op.Equal rhs: {<0>} ) (AssignPair left: <Id.Lit_VarLike 't_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 't_name='> name: t_name ) op: assign_op.Equal rhs: {<combine>} ) (AssignPair left: <Id.Lit_VarLike 'cm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cm='> name:cm) op: assign_op.Equal rhs: {<combine>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <8> pattern: (pat.Words words:[{<8>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) (AssignPair left: <Id.Lit_VarLike 'cm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cm='> name:cm) op: assign_op.Equal rhs: {<normal>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<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))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <hpcc> pattern: (pat.Words words:[{<hpcc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<u>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <icc> pattern: (pat.Words words:[{<icc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fnobuiltinsetmode>} {<-fno-builtin-setmode>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fnostrictaliasing>} {<-fno-strict-aliasing>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fstacksecuritycheck>} {<-fstack-security-check>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <mipspro> pattern: (pat.Words words:[{<mipspro>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fullwarn>} {<-fullwarn>} {(SQ <'for remark output support'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <msc> pattern: (pat.Words words:[{<msc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<strpool>} {(DQ (${ Id.VSub_Name ccpc) <'/GF'>)} {(SQ <'if string pooling can be enabled'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <ac_flags> more_env: [] 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 blame_tok: <ac_flags> more_env: [] 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 blame_tok: <ac_flags> more_env: [] 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 ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<x>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<wall>} {(DQ (${ Id.VSub_Name ccpc) <'/Wall'>)} {(SQ <'to enable all warnings'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [ {<ac_flags>} {<1>} {<wp64>} {(DQ (${ Id.VSub_Name ccpc) <'/Wp64'>)} {(SQ <'to enable 64-bit warnings'>)} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <nwcc> pattern: (pat.Words words:[{<nwcc>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sunpro> pattern: (pat.Words words:[{<sunpro>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<u>} ) ] redirects: [] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<v>} {<-v>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<ipo>} {<-xipo>} {(SQ <'for cross-module optimisation'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tcc> pattern: (pat.Words words:[{<tcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tendra> pattern: (pat.Words words:[{<tendra>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<0>} {<ysystem>} {<-Ysystem>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_YSYSTEM)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: {(DQ <'-Ysystem '> ($ Id.VSub_DollarName CPPFLAGS))} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<extansi>} {<-Xa>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xlc> pattern: (pat.Words words:[{<xlc>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<rodata>} {(DQ <'-qro -qroconst -qroptr'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<rtcheck>} {<-qcheck> <Id.Lit_Equals '='> <all>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<wformat>} {(DQ <'-qformat=all -qformat=nozln'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName i)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<wall>} {<-Wall>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_flags> more_env: [] words: [{<ac_flags>} {<1>} {<fwrapv>} {<-fwrapv>}] redirects: [] do_fork: T ) ] spids: [9615 9626] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NOWARN='> name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName DOWARN)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName ct)} {<Id.Lit_Equals '='>} {<pcc>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<u>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 left: <Id.Lit_VarLike 'NOWARN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NOWARN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NOWARN='> name:NOWARN) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_NOWARN)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'phase='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'phase='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'phase='> name:phase) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef MKSH_SMALL'>)} {<isset_MKSH_SMALL>} {(SQ )} {(DQ <'if a reduced-feature mksh is requested'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_NICE> var_name: HAVE_NICE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_PERSISTENT_HISTORY> var_name: HAVE_PERSISTENT_HISTORY suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' smksh'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_CONSERVATIVE_FDS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_CONSERVATIVE_FDS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_ISSET_MKSH_CONSERVATIVE_FDS='> name: HAVE_ISSET_MKSH_CONSERVATIVE_FDS ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [9877 9897] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'if defined(MKSH_BINSHPOSIX) || defined(MKSH_BINSHREDUCED)'>)} {<isset_MKSH_BINSH>} {(SQ )} {(SQ <'if invoking as sh should be handled specially'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' binsh'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef MKSH_UNEMPLOYED'>)} {<isset_MKSH_UNEMPLOYED>} {(SQ )} {(DQ <'if mksh will be built without job control'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' arge'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef MKSH_NOPROSPECTOFWORK'>)} {<isset_MKSH_NOPROSPECTOFWORK>} {(SQ )} {(DQ <'if mksh will be built without job signals'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' arge nojsig'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef MKSH_ASSUME_UTF8'>)} {<isset_MKSH_ASSUME_UTF8>} {(SQ )} {(SQ <'if the default UTF-8 mode is specified'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAVE_SETLOCALE_CTYPE> var_name: HAVE_SETLOCALE_CTYPE suffix_op: (suffix_op.Unary op:<Id.VTest_Equals _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef MKSH_CONSERVATIVE_FDS'>)} {<isset_MKSH_CONSERVATIVE_FDS>} {(SQ )} {(SQ <'if traditional/conservative fd use is requested'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' convfds'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_ifcpp> more_env: [] words: [ {<ac_ifcpp>} {(SQ <'ifdef MKSH_MIDNIGHTBSD01ASH_COMPAT'>)} {<isset_MKSH_MIDNIGHTBSD01ASH_COMPAT>} {(SQ )} {(SQ <'if the MidnightBSD 0.1 ash compatibility mode is requested'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' mnbsdash'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/time.h'>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<time.h>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ <11>)} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName HAVE_SYS_TIME_H) ($ Id.VSub_DollarName HAVE_TIME_H))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_BOTH_TIME_H='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_BOTH_TIME_H='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_BOTH_TIME_H='> name:HAVE_BOTH_TIME_H) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/bsdtypes.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/file.h'>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/mkdev.h'>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/mman.h'>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/param.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/resource.h'>} {<'sys/types.h'>} {<_time>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/select.h'>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<'sys/sysmacros.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<bstring.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<grp.h>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<io.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<libgen.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<libutil.h>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<paths.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<stdint.h>} {<stdarg.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<strings.h>} {<'sys/types.h'>} {<string.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<termios.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<ulimit.h>} {<'sys/types.h'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_header> more_env: [] words: [{<ac_header>} {<values.h>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <ac_testn> more_env: [] 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 left: <Id.Lit_VarLike 'save_CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_CPPFLAGS='> name:save_CPPFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName CPPFLAGS)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_FILE_OFFSET_BITS> <Id.Lit_Equals '='> <64>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_testn> more_env: [] 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_LFS_SUS)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_CPPFLAGS)} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-D_LARGE_FILES> <Id.Lit_Equals '='> <1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_testn> more_env: [] 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 children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CAN_LFS_AIX)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CPPFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CPPFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPPFLAGS='> name:CPPFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_CPPFLAGS)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [10351 10362] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<lft.c>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<lft> <Id.Lit_Star '*'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_SIGHANDLER_T)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-Dsig_t> <Id.Lit_Equals '='> <sighandler_t>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_SIG_T='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_SIG_T='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_SIG_T='> name:HAVE_SIG_T) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [10603 10614] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE___SIGHANDLER_T)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-Dsig_t> <Id.Lit_Equals '='> <__sighandler_t>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_SIG_T='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_SIG_T='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_SIG_T='> name:HAVE_SIG_T) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [10653 10664] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_SIG_T)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-Dsig_t> <Id.Lit_Equals '='> <nosig_t>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_cppflags> more_env: [] words: [{<ac_cppflags>} {<SIG_T>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<makefile>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<nothing>} {<to>} {<check>}] redirects: [] do_fork: T ) ] spids: [10710 10721] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_LINK_WORKS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_LINK_WORKS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HAVE_LINK_WORKS='> name:HAVE_LINK_WORKS) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) (command.Simple blame_tok: <ac_testinit> more_env: [] words: [ {<ac_testinit>} {<link_works>} {(SQ )} {(SQ <'checking if the final link command may succeed'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 '\\\\'> ch: '\\' ) <n> <Id.Right_DoubleQuote '"'> <'); return (isatty(0)); }\n'> ] ) ) ] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cm)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <llvm> pattern: (pat.Words words:[{<llvm>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' -emit-llvm -c conftest.c'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {($ Id.VSub_DollarName tfn) <.s>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ <'llvm-link -o - conftest.o | opt '> ($ Id.VSub_DollarName optflags) <' | llc -o '> ($ Id.VSub_DollarName tfn) <.s> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dragonegg> pattern: (pat.Words words:[{<dragonegg>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' -S -flto conftest.c'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [{<v>} {(DQ <'mv conftest.s conftest.ll'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [{<v>} {(DQ <'llvm-as conftest.ll'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {($ Id.VSub_DollarName tfn) <.s>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ <'llvm-link -o - conftest.bc | opt '> ($ Id.VSub_DollarName optflags) <' | llc -o '> ($ Id.VSub_DollarName tfn) <.s> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <combine> pattern: (pat.Words words:[{<combine>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <v> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <lto> pattern: (pat.Words words:[{<lto>} {<normal>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cm='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cm='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cm='> name:cm) op: assign_op.Equal rhs: {<normal>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' -c conftest.c'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName tcfn)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_testdone> more_env: [] words: [{<ac_testdone>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName fv)} {<Id.Lit_Equals '='>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ <NetBSD>)} {<Id.Lit_Equals '='>} {<x> (DQ ($ Id.VSub_DollarName TARGET_OS))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<Ignore>} {<the>} {<compatibility>} {<warning.>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName HAVE__SYS_ERRLIST))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-Dsys_nerr> <Id.Lit_Equals '='> <_sys_nerr>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-Dsys_errlist> <Id.Lit_Equals '='> <_sys_errlist>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HAVE_SYS_ERRLIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HAVE_SYS_ERRLIST='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HAVE_SYS_ERRLIST='> name: HAVE_SYS_ERRLIST ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [11210 11223] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <ac_cppflags> more_env: [] words: [{<ac_cppflags>} {<SYS_ERRLIST>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [what] iterable: (for_iter.Words words:[{<name>} {<list>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'uwhat='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'uwhat='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'uwhat='> name:uwhat) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <upper> more_env: [] words: [{<upper>} {($ Id.VSub_DollarName what)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <eval> more_env: [] words: [ {<eval>} {<Id.Lit_VarLike 'uwhat_v='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <HAVE__SYS_SIG> ($ Id.VSub_DollarName uwhat) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName uwhat_v))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [ {<add_cppflags>} {<-Dsys_sig> ($ Id.VSub_DollarName what) <Id.Lit_Equals '='> <_sys_sig> ($ Id.VSub_DollarName what) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<HAVE_SYS_SIG> ($ Id.VSub_DollarName uwhat) <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) ] spids: [11354 11367] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <ac_cppflags> more_env: [] words: [{<ac_cppflags>} {<SYS_SIG> ($ Id.VSub_DollarName uwhat)}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#include <unistd.h>\n'> <'int main(void) { return ((int)getsid(0)); }\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#include <signal.h>\n'> <'int main(int ac, char *av[]) { return (av[0][killpg(123, ac)]); }\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [<'#include <unistd.h>\n'> <'int main(void) { return (nice(4)); }\n'>] ) ) ] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<x> (DQ ($ Id.VSub_DollarName et))} {<Id.Lit_Equals '='>} {<x> (DQ <klibc>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_NO_SIGSUSPEND>}] redirects: [] do_fork: T ) ] spids: [11847 11864] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [11739 11756] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'extern char *strerror(int);\n'> <'int main(int ac, char *av[]) { return (*strerror(*av[ac])); }\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#include <string.h>\n'> <'#include <signal.h>\n'> <'int main(void) { return (strsignal(1)[0]); }\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#define MKSH_INCLUDES_ONLY\n'> <'#include "sh.h"\n'> <'int main(void) { return ((revoke)("")); }\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 left: <Id.Lit_VarLike 'fd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fd='> name:fd) op: assign_op.Equal rhs: {(SQ <'if to use persistent history'>)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <ac_cache> more_env: [] words: [{<ac_cache>} {<PERSISTENT_HISTORY>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName HAVE_MMAP) ($ Id.VSub_DollarName HAVE_FLOCK) ($ Id.VSub_DollarName HAVE_LOCK_FCNTL) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <11> pattern: (pat.Words words:[{<11> <Id.Lit_Star '*'>} {<101>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName fv)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' no-histfile'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <ac_testdone> more_env: [] words: [{<ac_testdone>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_cppflags> more_env: [] words: [{<ac_cppflags>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'save_CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'save_CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save_CFLAGS='> name:save_CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName CFLAGS)} ) ] redirects: [] ) (command.Simple blame_tok: <ac_testn> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save_CFLAGS)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<test>} {<1>} {<Id.Lit_Equals '='>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <HAVE_COMPILE_TIME_ASSERTS_> ($ Id.VSub_Dollar '$') } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName legacy)} {<Id.Lit_Equals '='>} {<1>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 blame_tok: <ac_test> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: {($ Id.VSub_DollarName HAVE_LONG_32BIT) ($ Id.VSub_DollarName HAVE_LONG_64BIT)} ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <10> pattern: (pat.Words words:[{<10>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' int:32'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <01> pattern: (pat.Words words:[{<01>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' int:64'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_categories='> name: check_categories ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' int:u'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [12205 12216] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_SYS_SIGNAME)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <ac_testinit> more_env: [] words: [ {<ac_testinit>} {<cpp_dd>} {(SQ )} {(SQ <'checking if the C Preprocessor supports -dD'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'#define foo bar'>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Simple blame_tok: <vv> more_env: [] words: [ {<vv>} {(SQ <']'>)} { (DQ ($ Id.VSub_DollarName CPP) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' -dD conftest.c >x'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <grep> more_env: [] 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 left: <Id.Lit_VarLike 'fv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fv='> name:fv) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<conftest.c>} {<x>} {<vv.out>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ac_testdone> more_env: [] words: [{<ac_testdone>}] redirects: [] do_fork: T ) ] spids: [12352 12368] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<Id.Lit_TDot ...>} {<done.>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<wq>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.AndOr children: [ (command.Pipeline children: [ (command.Simple blame_tok: <ed> more_env: [] 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 blame_tok: <grep> more_env: [] 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 ) ] ops: [<Id.Op_Pipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'check_categories='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'check_categories='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'check_categories='> name:check_categories) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName check_categories) <' '> ($ Id.VSub_DollarName oldish_ed))} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<x>} {<vv.out>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_SYS_SIGNAME)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CPP_DD)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {<Generating>} {<list>} {<of>} {<signal>} {<names...>} ] redirects: [] do_fork: T ) ] spids: [12516 12527] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {<No>} {<list>} {<of>} {<signal>} {<names>} {<available>} {<via>} {<cpp.>} {<Falling>} {<back...>} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sigseenone='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigseenone='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigseenone='> name:sigseenone) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sigseentwo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigseentwo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigseentwo='> name:sigseentwo) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 left: <Id.Lit_VarLike 'NSIG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NSIG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NSIG='> name:NSIG) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <vq> more_env: [] words: [ {<vq>} { (DQ ($ Id.VSub_DollarName CPP) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' conftest.c'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-v>} {(SQ <'^#'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} { (SQ <'/mksh_cfg.*= *$/{\n'> <'\t\tN\n'> <'\t\ts/\\n/ /\n'> <'\t\t}'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'^ *mksh_cfg *='>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} { (SQ < 's/^ *mksh_cfg *=[\t ]*\\([()0-9x+-][()0-9x+\t -]*\\).*$/\\1/' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName NSIG)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <mksh_cfg> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {(DQ <'Error: NSIG=\''> ($ Id.VSub_DollarName NSIG) <'\''>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'NSIG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NSIG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NSIG='> name:NSIG) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('> ch:'(') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\)'> ch: ')' ) <Id.Lit_Other '+'> <-> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'NSIG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NSIG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NSIG='> name:NSIG) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'printf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'printf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'printf='> name:printf) op: assign_op.Equal rhs: {<printf>} ) ] redirects: [] ) (command.AndOr children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.Simple blame_tok: <printf> more_env: [] words: [{<printf>} {<hallo>}] redirects: [] do_fork: T ) right: <Id.Right_Subshell _> 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 left: <Id.Lit_VarLike 'printf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'printf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'printf='> name:printf) op: assign_op.Equal rhs: {<echo>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName printf)} {<Id.Lit_Equals '='>} {<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <printf> more_env: [] words: [{<printf>} {<Id.Lit_Other '%'> <d>} {<42>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } {<Id.Lit_Equals '='>} {<42>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'printf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'printf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'printf='> name:printf) op: assign_op.Equal rhs: {<echo>} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName printf)} {<Id.Lit_Equals '='>} {<echo>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'NSIG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NSIG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NSIG='> name:NSIG) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <printf> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <Id.VSub_DollarName '$printf'> more_env: [] words: [ {($ Id.VSub_DollarName printf)} {(DQ <'NSIG='> ($ Id.VSub_DollarName NSIG) <' ... '>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'sigs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigs='> name:sigs) op: assign_op.Equal rhs: {(DQ <'ABRT FPE ILL INT SEGV TERM ALRM BUS CHLD CONT HUP KILL PIPE QUIT'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sigs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigs='> name:sigs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName sigs) <' STOP TSTP TTIN TTOU USR1 USR2 POLL PROF SYS TRAP URG VTALRM'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sigs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigs='> 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'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sigs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigs='> name:sigs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName sigs) <' ABND DCE DUMP IOERR TRACE DANGER THCONT THSTOP RESV UNUSED'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_CPP_DD)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName NSIG)} {<-gt>} {<1>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'sigs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigs='> name:sigs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName sigs) <' '>) (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <vq> more_env: [] words: [ {<vq>} { (DQ ($ Id.VSub_DollarName CPP) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' -dD conftest.c'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'[\t ]SIG[A-Z0-9][A-Z0-9]*[\t ]'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {(SQ <'s/^.*[\t ]SIG\\([A-Z0-9][A-Z0-9]*\\)[\t ].*$/\\1/'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName NSIG)} {<-gt>} {<1>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'sigs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sigs='> name:sigs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Pipeline children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [name] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName sigs)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName sigseenone)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName name) <Id.Lit_Colon ':'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sigseenone='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigseenone='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sigseenone='> name: sigseenone ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName sigseenone) ($ Id.VSub_DollarName name) <Id.Lit_Colon ':'> } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] words: [{<echo>} {<int>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <';'>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<conftest.c>} ) ] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <vq> more_env: [] words: [ {<vq>} { (DQ ($ Id.VSub_DollarName CPP) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName NOWARN) <' conftest.c'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-v>} {(SQ <'^#'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} { (SQ <'/mksh_cfg.*= *$/{\n'> <'\t\t\tN\n'> <'\t\t\ts/\\n/ /\n'> <'\t\t\t}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'^ *mksh_cfg *='>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {(SQ <'s/^ *mksh_cfg *=[\t ]*\\([0-9][0-9x]*\\).*$/:\\1 '>) ($ Id.VSub_DollarName name) <'/'> } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-n>} {(SQ <'/^:[^ ]/s/^://p'>)}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<nr>} {<name>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName printf)} {<Id.Lit_Equals '='>} {<echo>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'nr='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nr='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nr='> name:nr) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <printf> more_env: [] 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 ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName nr)} {<-gt>} {<0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName nr)} {<-lt>} {($ Id.VSub_DollarName NSIG)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DPipe _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName sigseentwo)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName nr) <Id.Lit_Colon ':'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'\t\t{ '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName name) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> ($ Id.VSub_DollarName nr) <' },'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'sigseentwo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sigseentwo='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'sigseentwo='> name: sigseentwo ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName sigseentwo) ($ Id.VSub_DollarName nr) <Id.Lit_Colon ':'> } ) ] redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$printf'> more_env: [] 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 ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) 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>} ) ] ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {<conftest.c>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<done.>}] redirects: [] do_fork: T ) ] spids: [12502 12513] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <addsrcs> more_env: [] words: [{<addsrcs>} {(SQ <'!'>)} {<HAVE_STRLCPY>} {<strlcpy.c>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <addsrcs> more_env: [] words: [{<addsrcs>} {<USE_PRINTF_BUILTIN>} {<printf.c>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName USE_PRINTF_BUILTIN))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_PRINTF_BUILTIN>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName HAVE_CAN_VERB))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'CFLAGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CFLAGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAGS='> name:CFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName CFLAGS) <' -verbose'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_BUILD_R> <Id.Lit_Equals '='> <523>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objs='> name:objs) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sp='> name:sp) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName tcfn)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <a.exe> pattern: (pat.Words words:[{<a.exe>} {<conftest.exe>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'mkshexe='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mkshexe='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkshexe='> name:mkshexe) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tfn) <.exe>} ) ] redirects: [] ) (command.Simple blame_tok: <add_cppflags> more_env: [] words: [{<add_cppflags>} {<-DMKSH_EXE_EXT>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'mkshexe='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mkshexe='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkshexe='> name:mkshexe) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tfn)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName curdir)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '> ch:' ') <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'mkshshebang='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mkshshebang='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkshshebang='> name:mkshshebang) op: assign_op.Equal rhs: {(DQ <'#!./'> ($ Id.VSub_DollarName mkshexe))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'mkshshebang='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mkshshebang='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkshshebang='> name:mkshshebang) op: assign_op.Equal rhs: {(DQ <'#!'> ($ Id.VSub_DollarName curdir) <'/'> ($ Id.VSub_DollarName mkshexe))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 '\\$'> ch:'$') <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:'$') <'ch {\n'> <'(C)\tcheck_categories['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#check_categories[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'OPTARG ;;\n'> <'(e)\tusee=1; eflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'OPTARG ;;\n'> <'(f)\tcheck_categories['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#check_categories[*]}]=fastbox ;;\n'> <'(P)\tPflag=1 ;;\n'> <'(+P)\tPflag=0 ;;\n'> <'(p)\tpflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'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 '\\$'> ch:'$') <'OPTARG ;;\n'> <'(t)\tuset=1; tflag='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'OPTARG ;;\n'> <'(v)\tvflag=1 ;;\n'> <'(+v)\tvflag=0 ;;\n'> <'(*)\txflag=1 ;;\n'> <'}\n'> <'done\n'> <'shift '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'((OPTIND - 1))\n'> <'set -A args -- \''> ($ Id.VSub_DollarName srcdir) <'/check.pl\' -p '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <pflag> <Id.Right_DoubleQuote '"'> <'\n'> <'x=\n'> <'for y in '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{check_categories[@]}'> <Id.Right_DoubleQuote '"'> <'; do\n'> <'x='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'x,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'y\n'> <'done\n'> <'if [[ -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'x ]]; then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-C\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{x#,}\n'> <'fi\n'> <'if (( usee )); then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-e\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'eflag\n'> <'fi\n'> <'(( Pflag )) && args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-P\n'> <'if (( uset )); then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-t\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'tflag\n'> <'fi\n'> <'(( vflag )) && args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-v\n'> <'(( xflag )) && args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-x\t# force usage by synerr\n'> <'if [[ -n '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'TMPDIR && -d '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'TMPDIR/. ]]; then\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]=-T\n'> <'args['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{#args[*]}]='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'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 '\\$'> ch:'$') <sflag> <Id.Right_DoubleQuote '"'> <'\n'> <'print '> <Id.Right_DoubleQuote '"'> <'This shell is actually:'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <t> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <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 '\\$'> ch:'$') <'os = defined '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'^O ? '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'^O : '> <Id.Right_DoubleQuote '"'> <unknown> <Id.Right_DoubleQuote '"'> <';\'\n'> <'cstr='> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <cstr> <Id.Right_DoubleQuote '"'> <'\'print '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'os . '> <Id.Right_DoubleQuote '"'> <', Perl version '> <Id.Right_DoubleQuote '"'> <' . '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'];\'\n'> <'for perli in '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'PERL perl5 perl no; do\n'> <'if [[ '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'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 '\\$'> ch:'$') <'perli\'...'> <Id.Right_DoubleQuote '"'> <'\n'> <'perlos='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'perli -e '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <cstr> <Id.Right_DoubleQuote '"'> <')\n'> <'rv='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'?\n'> <'print '> <Id.Right_DoubleQuote '"'> <'Errorlevel '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'rv, running on \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'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 '\\$'> ch:'$') <'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 '\\$'> ch:'$') <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <sflag> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> <Id.Right_DoubleQuote '"'> <'\n'> <'(( Sflag )) || exec '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <sflag> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> <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 '\\$'> ch:'$') <sflag> <Id.Right_DoubleQuote '"'> <'.*; do\n'> <'echo + '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <s> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> <Id.Right_DoubleQuote '"'> <'\n'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'perli '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{args[@]}'> <Id.Right_DoubleQuote '"'> <' -s '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <s> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName tsts) <'\n'> <'rc='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'?\n'> <'(( rv = rv ? rv : rc ))\n'> <'done\n'> <'exit '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'rv\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [{<chmod>} {<755>} {<test.sh>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cm)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <dragonegg> pattern: (pat.Words words:[{<dragonegg>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'emitbc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'emitbc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'emitbc='> name:emitbc) op: assign_op.Equal rhs: {(DQ <'-S -flto'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <llvm> pattern: (pat.Words words:[{<llvm>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'emitbc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'emitbc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'emitbc='> name:emitbc) op: assign_op.Equal rhs: {(DQ <'-emit-llvm -c'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'emitbc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'emitbc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'emitbc='> name:emitbc) op: assign_op.Equal rhs: {<-c>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ ($ Id.VSub_DollarName srcdir))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'optfiles='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'optfiles='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'optfiles='> name:optfiles) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<Id.Lit_Star '*'> <.opt>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ ($ Id.VSub_DollarName curdir))}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName optfiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'echo + Running genopt on \''> ($ Id.VSub_DollarName file) <'\'...'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'(srcfile=\''> ($ Id.VSub_DollarName srcdir) <'/'> ($ Id.VSub_DollarName file) <'\'; BUILDSH_RUN_GENOPT=1; . \''> ($ Id.VSub_DollarName srcdir) <'/Build.sh\')'> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [(Redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<set>} {<-x>}] redirects: [(Redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SRCS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'op='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'op='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'op='> name:op) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<x> (DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^x\\(.*\\)\\.c$/\\1./'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName srcdir) <'/'> ($ Id.VSub_DollarName file)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName files) ($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName file) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sp='> name:sp) op: assign_op.Equal rhs: {(SQ <' '>)} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<dragonegg>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 left: <Id.Lit_VarLike 'objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objs='> name:objs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName objs) ($ Id.VSub_DollarName sp) (${ Id.VSub_Name op) <bc> ) } ) ] redirects: [] ) ] spids: [13988 13999] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objs='> name:objs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName objs) ($ Id.VSub_DollarName sp) (${ Id.VSub_Name op) <o> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cm)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <dragonegg> pattern: (pat.Words words:[{<dragonegg>} {<llvm>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] 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 left: <Id.Lit_VarLike 'lobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lobjs='> name:lobjs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tfn) <.s>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'lobjs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'lobjs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lobjs='> name:lobjs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName objs)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] 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 blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName LDFLAGS) <' -o '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'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 blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'test -f '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'tcfn || exit 1; '> ($ Id.VSub_DollarName SIZE) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <tcfn> ) } ] redirects: [(Redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Rebuild.sh>})] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<makefile>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'extras='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extras='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'extras='> name:extras) op: assign_op.Equal rhs: {(SQ <'emacsfn.h rlimits.opt sh.h sh_flags.opt var_spec.h'>)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName HAVE_SYS_SIGNAME)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'extras='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'extras='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'extras='> name:extras) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName extras) <' signames.inc'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'gens='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gens='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gens='> name:gens) op: assign_op.Equal rhs: (rhs_word__Empty) ) (AssignPair left: <Id.Lit_VarLike 'genq='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'genq='> name:genq) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName optfiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'genf='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'genf='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'genf='> name:genf) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {(DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/.opt$/.gen/'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'gens='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'gens='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gens='> name:gens) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName gens) <' '> ($ Id.VSub_DollarName genf))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'genq='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'genq='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'genq='> 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'> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 '\\$'> ch: '$' ) <'(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 '\\$'> ch: '$' ) <'(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 '\\$'> ch: '$' ) <'(PROG)\n'> <'#'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(PROG): '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(OBJS_BP)\n'> <'#\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(CC) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(CFLAGS) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(LDFLAGS) -o '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'@ '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(OBJS_BP) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(LIBS)\n'> <'#'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(OBJS_BP): '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(SRCS_FP) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(NONSRCS)\n'> <'#.c.o:\n'> <'#\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(CC) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(CFLAGS) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(CPPFLAGS) -c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'<\n'> <'\n'> <'# for all make variants:\n'> <'#REGRESS_FLAGS=\t-f\n'> <'#regress:\n'> <'#\t./test.sh '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(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 ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<Generated>} {<Makefrag.inc>} {<successfully.>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [14166 14177] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName optfiles)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {(DQ <'+ Running genopt on \''> ($ Id.VSub_DollarName file) <'\'...'>)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <do_genopt> more_env: [] words: [ {<do_genopt>} {(DQ ($ Id.VSub_DollarName srcdir) <'/'> ($ Id.VSub_DollarName file))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<combine>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objs='> name:objs) op: assign_op.Equal rhs: {(DQ <'-o '> ($ Id.VSub_DollarName mkshexe))} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SRCS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName srcdir) <'/'> ($ Id.VSub_DollarName file)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'objs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objs='> name:objs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName objs) <' '> ($ Id.VSub_DollarName file))} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'emitbc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'emitbc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'emitbc='> name:emitbc) op: assign_op.Equal rhs: {(DQ <'-fwhole-program --combine'>)} ) ] redirects: [] ) (command.Simple blame_tok: <v> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] spids: [14444 14455] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName pm)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SRCS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName srcdir) <'/'> ($ Id.VSub_DollarName file)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.Sentence child: (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName emitbc) <' '> ($ Id.VSub_DollarName file) ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Amp _> ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <wait> more_env: [] words: [{<wait>}] redirects: [] do_fork: T ) ] spids: [14528 14539] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SRCS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<dragonegg>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'op='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'op='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'op='> name:op) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<x> (DQ ($ Id.VSub_DollarName file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/^x\\(.*\\)\\.c$/\\1./'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: {($ Id.VSub_DollarName srcdir) <'/'> ($ Id.VSub_DollarName file)} ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ ($ Id.VSub_DollarName CC) <' '> ($ Id.VSub_DollarName CFLAGS) <' '> ($ Id.VSub_DollarName CPPFLAGS) <' '> ($ Id.VSub_DollarName emitbc) <' '> ($ Id.VSub_DollarName file) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<dragonegg>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} {(DQ <'mv '> (${ Id.VSub_Name op) <'s '> (${ Id.VSub_Name op) <ll>)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <v> more_env: [] words: [{<v>} {(DQ <'llvm-as '> (${ Id.VSub_Name op) <ll>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [14681 14692] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cm)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <dragonegg> pattern: (pat.Words words:[{<dragonegg>} {<llvm>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {($ Id.VSub_DollarName tfn) <.s>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ <'llvm-link -o - '> ($ Id.VSub_DollarName objs) <' | opt '> ($ Id.VSub_DollarName optflags) <' | llc -o '> ($ Id.VSub_DollarName tfn) <.s> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tcfn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tcfn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tcfn='> name:tcfn) op: assign_op.Equal rhs: {($ Id.VSub_DollarName mkshexe)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName cm)} {<Id.Lit_Equals '='>} {<combine>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<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) ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName tcfn)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName r)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [ {<v>} { (DQ ($ Id.VSub_DollarName NROFF) <' -mdoc <\''> ($ Id.VSub_DollarName srcdir) <'/mksh.1\' >'> ($ Id.VSub_DollarName tfn) <.cat1> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rmf> more_env: [] words: [{<rmf>} {($ Id.VSub_DollarName tfn) <.cat1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName eq)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <v> more_env: [] words: [{<v>} {($ Id.VSub_DollarName SIZE)} {($ Id.VSub_DollarName tcfn)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<install>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<'/usr/ucb/'> ($ Id.VSub_DollarName i)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<'/usr/ucb/'> ($ Id.VSub_DollarName i)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<1>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName eq)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'e='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'e='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'e='> name:e) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<Installing>} {<the>} {<shell> <Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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) ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {($ Id.VSub_DollarName legacy)} {<Id.Lit_Equals '='>} {<0>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} { (DQ <'# grep -x /bin/'> ($ Id.VSub_DollarName tfn) <' /etc/shells >/dev/null || echo /bin/'> ($ Id.VSub_DollarName tfn) <' >>/etc/shells'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} { (DQ <'# '> ($ Id.VSub_DollarName i) <' -c -o root -g bin -m 444 dot.mkshrc /usr/share/doc/mksh/examples/'> ) } ] redirects: [] do_fork: T ) ] spids: [14909 14920] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<Installing>} {<the>} {<manual> <Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName tfn) <.cat1>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)} {<or>}] redirects: [] do_fork: T ) ] spids: [14955 14965] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ 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> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [{($ Id.VSub_DollarName e)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {<Run>} {<the>} {<regression>} {<test>} {<suite> <Id.Lit_Colon ':'>} {<'./test.sh'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$e'> more_env: [] words: [ {($ Id.VSub_DollarName e)} {<Please>} {<also>} {<read>} {<the>} {<sample>} {<file>} {<dot.mkshrc>} {<and>} {<the>} {<fine>} {<manual.>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] 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_tok: <Id.Undefined_Tok ''> 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 ) ] )