[ghemical-devel] complete MY_RTTI patch

Tommi Hassinen thassine@messi.uku.fi
Wed, 26 Mar 2003 14:57:23 +0200 (WET)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---1045962744-1287306172-1048683443=:101084
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi again,

in the attachments there is a bigger patch that removes all dynamic_cast's
except a single one that is related to MPQC and which therefore can't be
removed. In my testing everything else seems to work now, but I haven't
yet compiled and tested with --enable-mpqc. Does MPQC work with gcc-3.2?

If there's any problems other than MPQC-related ones, please just report
them to me and I'll fix them (the modified code uses void pointers and I
might have made some mistakes there since there's no type checking).

Last-minute idea: if also the last MPQC-related dynamic_cast statement
causes problems, it perhaps could be converted to a static_cast?

Regards,

	Tommi


---1045962744-1287306172-1048683443=:101084
Content-Type: APPLICATION/octet-stream; name="ghemical-1.00_MY_RTTI-20030326.diff.gz"
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename="ghemical-1.00_MY_RTTI-20030326.diff.gz"

H4sICEqhgT4AA2doZW1pY2FsLTEuMDBfTVlfUlRUSS0yMDAzMDMyNi5kaWZm
AOxd+XPbRrL+Wforxk7VFnVQAgY8IUeJEyleVywpK8svL5vKQ0EkRCIGARIA
Jcup+G9/3TODe0AAlKXEu8xBkYM5gOlvvu6eozG2b25I+9xc+mQytWb2yHTa
6oGiHAb+6HDkzWaee2i5E9u1DkbzeTbP2cWJPNt2u92uU90WVRS1Df9RSpSh
3qW6hpnFP2RPgevbe3t7NZvF6rQ2/Ee7RKW6qulqt1Ddt9+Stqrt98gefA7J
t99uk23C69B1/rd169njnW3yx/beV/bN2Lohp+cvv3tzapz9YlxeXb3e3jNm
M9WAzIb1Ya4aM3tGvibn7968OYISlju2b7YOD/OFyJ/plj5lmhrXl8K0TmdM
a0lgih1G26rS1lTssK6m0866/T/N9z4t631tiL0Pn6oqun/kmEEgumZVt8+X
14490rf3sNfILimIYVX/722Trblv35qhpcPXbQJZwqkdEPjv92UQEtMlthta
/o05sgg0b7t2aHsuaR9DPsu3MKPrEd9yrFvTDQl/fjI2Q/ObZ/BvLSnCHcMN
qxVijHOtlmOcjQ8klbYV6PuBrqq6qjQWZKa2tCQ7utqXSpL2ByhK/MNHEvTq
Vl4mLUyYjR3yDzJXd4hO0hnMFqTtZ5KutUwa/oBam43FFgfIDhPwykG5BaPy
zyMAYU3hwYNUEmGSrVJ8Ip8YiECECoHuVmAgriW/VHVcgD2iKjrt6R1NLkAu
v8G+qjD5CVHpuvjS8oLQt8wZjLW5us/HqQHjI/T8e5QnBXmiyL2x5UD/h9DN
1riFWeESiJClB/Zs7lhJquk4hhl6s8CIh1sLkkPf/N1iNafTK1kYkdVA4MgC
7szDMucXV8bJ6Q+vz09PAABbvnVjjOzbmMkBzKyLFNrf70MnKZq6r1IO8yxe
oXfu7++jglvYamjN5p5v+vcHBwep/PPrEWT++PHjqszb7cIYgkIfPnyAQuN7
1wQAGCMzCF8Ucx234PfOUWmPldbbKl7ZQUJuH8s51gmsFbXVvstSKSGR2Dek
hfU94321I/qNdzVcOOJ8M5qaPpldL29u1F9pt/fbUc2hTOsNZVpzKFP5UO7A
aG5u02SrSw1lRdU1ORerbCirqaFMo6FMaw3lfVaEodT0eT5tneG91jim64zj
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
iiRmAQA=
---1045962744-1287306172-1048683443=:101084--