% Test errors for variables occurring multiple times in % a `:- pragma c_code' argument list. :- module pragma_c_code_dup_var. :- interface. :- import_module io. :- type buffer == string. :- type object == c_pointer. :- type unmarshalled(T) ---> unmarshalled(T). :- type signed_long_int ---> signed_short_int(c_pointer). :- func bread_impl(object, object, unmarshalled(buffer), unmarshalled(buffer), unmarshalled(signed_long_int), io__state, io__state) = unmarshalled(signed_long_int). :- mode bread_impl(in, out, in, out, in, di, uo) = out is det. :- implementation. :- pragma c_code(bread_impl(MC_Object0::in, MC_Object::out, Buf::in, Buf::out, Nbyte::in, MC_IO0::di, MC_IO::uo) = (Mc_returnval::out), will_not_call_mercury, " Mc_returnval = apache_gen__apache__request__bread(MC_Object0, &MC_Object, Buf, &Buf, Nbyte); MC_IO = MC_IO0; ").