This is the mail archive of the gcc@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]

Regarding bug 32505


I've been wanting to contribute code to gcc, but since i don't know it
too much i thought of starting from this bug (which, btw recreates on
my machine with gcc 4.2).

I've found out this bug and begun working it.

I've started writing code in maybe_process_partial_specialization
after push_template_decl.

My current idea for how to solve the bug is as following:

First, i need to run on DECL_TEMPLATE_INSTANTIATIONS (for each tree in
there i should also check that it is an INSTANTIATON and not a
SPEICALIZATION) of the most_general_template from which this template
has been instantiated.

For each instantiation, i need to somehow check two things:
1) Can it be instantiated from the newly created partial specialization?
2) Is the partial specialization more specific than the one from which
the instantiation has already been implemented.

My question is, how can i find out from which template the existing
instantiation has been made?
From the check i've made, i think that CLASSTYPE_TI_TEMPLATE always
give the most general template, and not it's partial specializations.
Is there any way for me to get it?
I've tried doing something using most_specialized_class (not
successful) and I believe that it may work too, but it may be less
efficient.

I hope I'm sending this to the right people, have a nice day and
thanks in advance.
--
1110101111111110 - it's a way of life


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