(command.CommandList 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: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <-p>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'with_patchlevel='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'with_patchlevel='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'with_patchlevel='> name: with_patchlevel ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] spids: [31 49] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compiler='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compiler='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'compiler='> name:compiler) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Star '*'))} ) ] 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: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name compiler> var_name: compiler prefix_op: <Id.VSub_Pound '#'> right: <Id.Right_DollarBrace '}'> ) } {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ] 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 <'Error: No compiler specified.'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'Usage:'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <t> ($ Id.VSub_Number 0) <' <gcc-command>'> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [69 85] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MAJOR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MAJOR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAJOR='> name:MAJOR) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<__GNUC__>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$compiler'> more_env: [] words: [{($ Id.VSub_DollarName compiler)} {<-E>} {<-x>} {<c>} {<->}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tail> more_env: [] words: [{<tail>} {<-n>} {<1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MINOR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MINOR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MINOR='> name:MINOR) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<__GNUC_MINOR__>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$compiler'> more_env: [] words: [{($ Id.VSub_DollarName compiler)} {<-E>} {<-x>} {<c>} {<->}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tail> more_env: [] words: [{<tail>} {<-n>} {<1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] 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: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ <x> ($ Id.VSub_DollarName with_patchlevel))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <x>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'PATCHLEVEL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATCHLEVEL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATCHLEVEL='> name:PATCHLEVEL) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<__GNUC_PATCHLEVEL__>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_DollarName '$compiler'> more_env: [] words: [{($ Id.VSub_DollarName compiler)} {<-E>} {<-x>} {<c>} {<->}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tail> more_env: [] words: [{<tail>} {<-n>} {<1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'%02d%02d%02d'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <n> ) } {($ Id.VSub_DollarName MAJOR)} {($ Id.VSub_DollarName MINOR)} {($ Id.VSub_DollarName PATCHLEVEL)} ] redirects: [] do_fork: T ) ] spids: [171 191] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'%02d%02d'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <n>) } {($ Id.VSub_DollarName MAJOR)} {($ Id.VSub_DollarName MINOR)} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] )