This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, fortran] PR46897 - [OOP] type-bound defined ASSIGNMENT(=) not used for derived type component in intrinsic assign


On 17/09/2012 20:45, Mikael Morin wrote:
>> *************** resolve_fl_derived0 (gfc_symbol *sym)
>> *** 12282,12289 ****
>> --- 12558,12574 ----
>>   					   || c->attr.proc_pointer
>>   					   || c->attr.allocatable)) == FAILURE)
>>   	return FAILURE;
>> + 
>> +       if (c->ts.type == BT_DERIVED
>> + 	  && c->ts.u.derived->f2k_derived
>> + 	  && c->ts.u.derived->f2k_derived->tb_op[INTRINSIC_ASSIGN])
>> + 	sym->attr.defined_assign_comp = 1;
>>       }
>>   
>> +   if (super_type)
>> +     sym->attr.defined_assign_comp
>> + 			= super_type->attr.defined_assign_comp;
> I guess Tobias' reported bug is here.  The flag shouldn't be cleared
> here if it was set just before.

Or maybe it is just before, as it doesn't check
c->ts.u.derived->attr.defined_assign_comp


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]