- if (this->assoc != this->alias->assoc)
- {
- if (this->assoc != undef_assoc && this->alias->assoc != undef_assoc)
- complain_at (this->alias->location,
- _("conflicting associativities for %s (%s) and %s (%s)"),
- this->tag, assoc_to_string (this->assoc),
- this->alias->tag, assoc_to_string (this->alias->assoc));
- if (this->assoc != undef_assoc)
- this->alias->assoc = this->assoc;
- else
- this->assoc = this->alias->assoc;
- }
+
+ if (orig->destructor || alias->destructor)
+ {
+ if (orig->destructor)
+ symbol_destructor_set (alias, orig->destructor,
+ orig->destructor_location);
+ else
+ symbol_destructor_set (orig, alias->destructor,
+ alias->destructor_location);
+ }
+
+ if (orig->printer || alias->printer)
+ {
+ if (orig->printer)
+ symbol_printer_set (alias, orig->printer, orig->printer_location);
+ else
+ symbol_printer_set (orig, alias->printer, alias->printer_location);