(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srctree) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (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: <Id.Op_Semi _> ) ] 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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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 op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine 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'> ] ) ) ] do_fork: T ) ) } 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: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {(DQ (${ Id.VSub_Name plugincc))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [132 146] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> 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:<Id.ControlFlow_Exit exit> 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:<Id.ControlFlow_Exit exit> 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: <Id.Left_DollarParen '$('> child: (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 op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine 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'> ] ) ) ] do_fork: T ) ) } 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:<Id.ControlFlow_Exit exit> 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: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {(DQ (${ Id.VSub_Name plugincc))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [329 343] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] )