sorry gcc-help, I made a very silly mistake in my md due which that error is coming. At one time i am uses cases in preparation statements and i had written 'if' instead of switch to switch between the cases. Sorry for wasting anyone's value able time. DSS wrote: > > Hi, > > I got a problem while building gcc-4.3.0 after putting "movdi" pattern in > my md file. Error is like this > > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2045: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2045: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2048: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2048: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2058: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2058: warning: > (near initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2060: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2060: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2063: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2063: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2073: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2073: warning: > (near initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2075: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2075: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2078: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2078: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2088: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2088: warning: > (near initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2090: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2090: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2093: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2093: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2103: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2103: warning: > (near initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2105: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2105: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2108: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2108: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2124: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2124: warning: > (near initialization for ‘insn_data[14]’) > . > . > . > . > . > . > . > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3284: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3284: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3294: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3294: warning: > (near initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3296: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3296: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3299: error: extra > brace group at end of initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3299: error: (near > initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3309: warning: > excess elements in struct initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3309: warning: > (near initialization for ‘insn_data[14]’) > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3310: warning: > missing initializer > /root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3310: warning: > (near initialization for ‘insn_data[14].n_operands’) > make[2]: *** [insn-output.o] Error 1 > make[2]: Leaving directory `/root/build/gcc' > make[1]: *** [all-gcc] Error 2 > make[1]: Leaving directory `/root/build' > make: *** [all] Error 2 > > > Please help me in this. > > My movdi pattern is like this. > (define_expand "movdi" > [(set (match_operand:DI 0 "general_operand" "") > (match_operand:DI 1 "general_operand" ""))] > "" > " > if(GET_CODE(operands[0])==MEM && GET_CODE(operands[1])!=REG) > { > if(can_create_pseudo_p()) > { > operands[1]=force_reg(DImode,operands[1]); > } > } > " > ) > (define_insn_and_split "*movdi" > [(set(match_operand: DI 0 "nonimmediate_operand" "=r,r") > (match_operand: DI 1 "general_operand" "r,i"))] > > "(register_operand (operands[0], DImode) > || register_operand (operands[1], DImode))" > > "if(which_alternative) > { > case 0: > case 1: return \"#\"; > }" > "" > [(set (match_dup 0)(match_dup 1)) > (set (match_dup 2)(match_dup 3))] > "{ > operands[2] = gen_highpart (SImode, operands[0]); > operands[0] = gen_lowpart (SImode, operands[0]); > operands[3] = gen_highpart (SImode, operands[1]); > operands[1] = gen_lowpart (SImode, operands[1]); > }" > ) > > -- View this message in context: http://old.nabble.com/gcc-4.3.0-build-problem-tp26773228p26773518.html Sent from the gcc - Help mailing list archive at Nabble.com.