[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Where does g++ keep temporary template source
From: |
brian |
Subject: |
Where does g++ keep temporary template source |
Date: |
20 Aug 2005 06:37:19 -0700 |
User-agent: |
G2/0.2 |
I made a recent change to a class (we'll call it MyClass) within a
custom library in which the set_value(const wstring&, ValueType)
function was split into two functions: set_value(const wstring&) and
set_value_type(ValueType). ValueType is either 0 or 1 (it's an
enumeration type).
One of the applications that links to this class creates an
auto_ptr<MyClass> variable. For example:
wsstring new_value;
ValueType value_type(Document_Type);
auto_ptr<MyClass> my_class_ptr;
Within the now-failing downstream applicatin, I converted former calls
(that used to work) from:
set_value(new_value, value_type)
to be split into two calls as follows:
set_value(new_value);
set_value_type(value_type);
Putting print statements insice the set_value() and set_value_type()
member functions show that set_value_type() is never called and
set_value() is called but the object's value type is some large
arbitrary number and not 0 or 1 (it's properly initialized in the
constructor to 0 and properly propogated by the copy ctor and
assignment ops).
It's as if the auto_ptr<MyClass> somehow left the old interface laying
around, and calls to the new interface are somehow directed to the old
interface (and the second ValueType seems to be picking up whatever's
on the stack). The basic class is very simple and all inspection seems
to point to some tempplate-oriented save area that I am not clearing
out before recompiling everything with the new interface.
I've deleted all the .a and .o for that library and all of the
applications that use it. The applications and test drivers within the
same directory as this MyClass class work flawlessly. Any thoughts on
what further I need to clean up before recompiling applications that
were originally compiled with the old interface? I've never seen
something like this before, and I am currently stumped as to the exact
topic to query in either the docs or on Google Groups.
I'm using g++/gcc 3.4 on Fedora Core 3 on AMD 64 (x86_64... yay! It
rocks!)
- Where does g++ keep temporary template source,
brian <=