This is the mail archive of the
mailing list for the GCC project.
How to identify the type of the object being created using the new operator?
- From: Swati Rathi <swatirathi at cse dot iitb dot ac dot in>
- To: GCC Development <gcc at gcc dot gnu dot org>
- Date: Mon, 06 Oct 2014 14:15:42 +0530
- Subject: How to identify the type of the object being created using the new operator?
- Authentication-results: sourceware.org; auth=none
Statement : A *a = new B;
gets translated in GIMPLE as
1. void * D.2805;
2. struct A * a;
3. D.2805 = operator new (20);
4. a = D.2805;
A is the base class and B is the derived class.
In statement 3, new operator is creating an object of derived class B.
By analyzing the RHS of the assignment statement 3, how can we identify
the type (in this case B) of the object being created?