(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_Number '$1'))} {(Id.Lit_Equals '=')} {(DQ (-p))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:47) ) ] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:with_patchlevel) op: assign_op.Equal rhs: {(1)} spids: [52] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:54) ) (command.Sentence child: (C {(shift)}) terminator: (Token id:Id.Op_Semi val:';' span_id:58) ) ] spids: [31 49] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:compiler) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Star '$*'))} spids: [63] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} { (braced_var_sub token: (Token id:Id.VSub_Name val:compiler span_id:75) prefix_op: (Id.VSub_Pound) ) } {(-eq)} {(0)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:83) ) ] action: [ (C {(echo)} {(DQ ('Error: No compiler specified.'))}) (C {(printf)} { (DQ ('Usage:') (Id.Lit_Other '\\') (n) (Id.Lit_Other '\\') (t) ($ Id.VSub_Number '$0') (' <gcc-command>') (Id.Lit_Other '\\') (n) ) } ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:110) arg_word: {(1)} ) ] spids: [69 85] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAJOR) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:118) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(__GNUC__)}) (C {($ Id.VSub_DollarName '$compiler')} {(-E)} {(-x)} {(c)} {(-)}) (C {(tail)} {(-n)} {(1)}) ] negated: F ) ] ) ) } spids: [117] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MINOR) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:145) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(__GNUC_MINOR__)}) (C {($ Id.VSub_DollarName '$compiler')} {(-E)} {(-x)} {(c)} {(-)}) (C {(tail)} {(-n)} {(1)}) ] negated: F ) ] ) ) } spids: [144] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ (x) ($ Id.VSub_DollarName '$with_patchlevel'))} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (x))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:189) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATCHLEVEL) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:195) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(__GNUC_PATCHLEVEL__)}) (C {($ Id.VSub_DollarName '$compiler')} {(-E)} {(-x)} {(c)} {(-)}) (C {(tail)} {(-n)} {(1)}) ] negated: F ) ] ) ) } spids: [194] ) ] ) (C {(printf)} { (DQ ('%02d%02d%02d') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:226) ) (n) ) } {($ Id.VSub_DollarName '$MAJOR')} {($ Id.VSub_DollarName '$MINOR')} {($ Id.VSub_DollarName '$PATCHLEVEL')} ) ] spids: [171 191] ) ] else_action: [ (C {(printf)} { (DQ ('%02d%02d') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:243) ) (n) ) } {($ Id.VSub_DollarName '$MAJOR')} {($ Id.VSub_DollarName '$MINOR')} ) ] ) ] )