(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srctree) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:4) command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ Id.VSub_Number '$0'))})] ) ) } spids: [3] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHOW_ERROR) op: assign_op.Equal rhs: (word.Empty) spids: [13] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_Number '$1'))} {(Id.Lit_Equals '=')} {(DQ (--show-error))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:31) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHOW_ERROR) op: assign_op.Equal rhs: {(1)} spids: [36] ) ] ) (command.AndOr ops:[Id.Op_DPipe] children:[(C {(shift)}) (C {(true)})]) ] spids: [15 33] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gccplugins_dir) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:50) command_list: (command.CommandList children: [ (C {($ Id.VSub_Number '$3')} {(-print-file-name) (Id.Lit_Equals '=') (plugin)}) ] ) ) } spids: [49] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:plugincc) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:59) command_list: (command.CommandList children: [ (command.Simple words: [ {($ Id.VSub_Number '$1')} {(-E)} {(-x)} {(c) (Id.Lit_Other '+') (Id.Lit_Other '+')} {(-)} {(-o)} {(/dev/null)} {(-I) (DQ (${ Id.VSub_Name srctree)) (/gcc-plugins)} {(-I) (DQ (${ Id.VSub_Name gccplugins_dir)) (/include)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:92) fd: 2 arg_word: {(1)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:95) fd: -1 here_begin: {(EOF)} here_end_span_id: 113 stdin_parts: [ ('#include ') (Id.Right_DoubleQuote '"') (gcc-common.h) (Id.Right_DoubleQuote '"') ('\n') ( '#if BUILDING_GCC_VERSION >= 4008 || defined(ENABLE_BUILD_WITH_CXX)\n' ) ('#warning ') ($ Id.VSub_Number '$2') (' CXX\n') ('#else\n') ('#warning ') ($ Id.VSub_Number '$1') (' CC\n') ('#endif\n') ] ) ] ) ] ) ) } spids: [58] ) ] ) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} {(Id.Lit_RBracket ']')}) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$SHOW_ERROR'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:144) ) ] action: [ (command.Simple words: [{(echo)} {(DQ (${ Id.VSub_Name plugincc))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:157) fd: -1 arg_word: {(2)} ) ] ) ] spids: [132 146] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:164) arg_word: {(1)} ) ] spids: [117 129] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$plugincc'))} arms: [ (case_arm pat_list: [{(Id.Lit_Star '*') (DQ ($ Id.VSub_Number '$1') (' CC')) (Id.Lit_Star '*')}] action: [ (C {(echo)} {(DQ ($ Id.VSub_Number '$1'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:196) arg_word: {(0)} ) ] spids: [180 186 201 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*') (DQ ($ Id.VSub_Number '$2') (' CXX')) (Id.Lit_Star '*')}] spids: [205 211 218 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:226) arg_word: {(1)} ) ] spids: [222 223 231 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:plugincc) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:240) command_list: (command.CommandList children: [ (command.Simple words: [ {($ Id.VSub_Number '$2')} {(-c)} {(-x)} {(c) (Id.Lit_Other '+') (Id.Lit_Other '+')} {(-std) (Id.Lit_Equals '=') (gnu) (Id.Lit_Other '+') (Id.Lit_Other '+') (98)} {(-)} {(-fsyntax-only)} {(-I) (DQ (${ Id.VSub_Name srctree)) (/gcc-plugins)} {(-I) (DQ (${ Id.VSub_Name gccplugins_dir)) (/include)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:278) fd: 2 arg_word: {(1)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:281) fd: -1 here_begin: {(EOF)} here_end_span_id: 296 stdin_parts: [ ('#include ') (Id.Right_DoubleQuote '"') (gcc-common.h) (Id.Right_DoubleQuote '"') ('\n') ('class test {\n') ('public:\n') ('\tint test;\n') ('} test = {\n') ('\t.test = 1\n') ('};\n') ] ) ] ) ] ) ) } spids: [239] ) ] ) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} {(Id.Lit_RBracket ']')}) ] action: [ (C {(echo)} {(DQ ($ Id.VSub_Number '$2'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:322) arg_word: {(0)} ) ] spids: [300 312] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$SHOW_ERROR'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:341) ) ] action: [ (command.Simple words: [{(echo)} {(DQ (${ Id.VSub_Name plugincc))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:354) fd: -1 arg_word: {(2)} ) ] ) ] spids: [329 343] ) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:359) arg_word:{(1)}) ] )