c++/5005: Template and pointer to method

cdelarue@bigfoot.com cdelarue@bigfoot.com
Tue Dec 4 01:46:00 GMT 2001


>Number:         5005
>Category:       c++
>Synopsis:       Template and pointer to method
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 04 01:46:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Christophe Delarue
>Release:        gcc-3.0.2 on solaris 2.6 SUN
>Organization:
>Environment:
gcc compiled localy
>Description:
the following code compile fine with gcc 2.95.2 but not with 
gcc 3.0.2

template <class Selector>
class Mapper {
  public:
    typedef int (Selector::*IntSetterPtr)(int value, int index);

    void mapIntAttribute( Mapper< Selector >::IntSetterPtr setter) {
    }
};

class Toto : public Mapper<Toto> {
  public:
    int setName(int v, int index){}
    Toto()
        {
            mapIntAttribute(&(Toto::setName));
        }
};
Attached the gcc -v output
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="compile_fail"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="compile_fail"

UmVhZGluZyBzcGVjcyBmcm9tIC9ob21lL2V4cG9ydC91c3IvbG9jYWwvYmluLy4uL2xpYi9nY2Mt
bGliL3NwYXJjLXN1bi1zb2xhcmlzMi42LzMuMC4yL3NwZWNzCkNvbmZpZ3VyZWQgd2l0aDogLi4v
Z2NjLTMuMC4yL2NvbmZpZ3VyZSAtLXByZWZpeD0vbmV0L3JuYmw5MjcvaG9tZS9leHBvcnQvdXNy
L2xvY2FsClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gMy4wLjIKIC9ob21lL2V4cG9y
dC91c3IvbG9jYWwvYmluLy4uL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi42LzMuMC4y
L2NjMXBsdXMgLXYgLWlwcmVmaXggL2hvbWUvZXhwb3J0L3Vzci9sb2NhbC9iaW4vLi4vbGliL2dj
Yy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjYvMy4wLjIvIC1EX19HTlVDX189MyAtRF9fR05VQ19N
SU5PUl9fPTAgLURfX0dOVUNfUEFUQ0hMRVZFTF9fPTIgLURzcGFyYyAtRHN1biAtRHVuaXggLURf
X3N2cjRfXyAtRF9fU1ZSNCAtRF9fc3BhcmNfXyAtRF9fc3VuX18gLURfX3VuaXhfXyAtRF9fc3Zy
NF9fIC1EX19TVlI0IC1EX19zcGFyYyAtRF9fc3VuIC1EX191bml4IC1Bc3lzdGVtPXVuaXggLUFz
eXN0ZW09c3ZyNCAtRF9fTk9fSU5MSU5FX18gLURfX1NURENfSE9TVEVEX189MSAtRF9YT1BFTl9T
T1VSQ0U9NTAwIC1EX0xBUkdFRklMRV9TT1VSQ0U9MSAtRF9MQVJHRUZJTEU2NF9TT1VSQ0U9MSAt
RF9fRVhURU5TSU9OU19fIC1EX19HQ0NfTkVXX1ZBUkFSR1NfXyAtQWNwdT1zcGFyYyAtQW1hY2hp
bmU9c3BhcmMgdG90by5jYyAtRF9fR05VR19fPTMgLURfX0dYWF9ERVBSRUNBVEVEIC1EX19FWENF
UFRJT05TIC1EX19HWFhfQUJJX1ZFUlNJT049MTAwIC1xdWlldCAtZHVtcGJhc2UgdG90by5jYyAt
dmVyc2lvbiAtbyAvdmFyL3RtcC9jY3BvS1I1ZS5zCkdOVSBDUFAgdmVyc2lvbiAzLjAuMiAoY3Bw
bGliKSAoc3BhcmMpCkdOVSBDKysgdmVyc2lvbiAzLjAuMiAoc3BhcmMtc3VuLXNvbGFyaXMyLjYp
Cgljb21waWxlZCBieSBHTlUgQyB2ZXJzaW9uIDIuOTUuMiAxOTk5MTAyNCAocmVsZWFzZSkuCmln
bm9yaW5nIG5vbmV4aXN0ZW50IGRpcmVjdG9yeSAiL2hvbWUvZXhwb3J0L3Vzci9sb2NhbC9zcGFy
Yy1zdW4tc29sYXJpczIuNi9pbmNsdWRlIgppZ25vcmluZyBub25leGlzdGVudCBkaXJlY3Rvcnkg
Ii9uZXQvcm5ibDkyNy9ob21lL2V4cG9ydC91c3IvbG9jYWwvc3BhcmMtc3VuLXNvbGFyaXMyLjYv
aW5jbHVkZSIKaWdub3JpbmcgZHVwbGljYXRlIGRpcmVjdG9yeSAiL25ldC9ybmJsOTI3L2hvbWUv
ZXhwb3J0L3Vzci9sb2NhbC9pbmNsdWRlL2crKy12MyIKaWdub3JpbmcgZHVwbGljYXRlIGRpcmVj
dG9yeSAiL25ldC9ybmJsOTI3L2hvbWUvZXhwb3J0L3Vzci9sb2NhbC9pbmNsdWRlL2crKy12My9z
cGFyYy1zdW4tc29sYXJpczIuNiIKaWdub3JpbmcgZHVwbGljYXRlIGRpcmVjdG9yeSAiL25ldC9y
bmJsOTI3L2hvbWUvZXhwb3J0L3Vzci9sb2NhbC9pbmNsdWRlL2crKy12My9iYWNrd2FyZCIKaWdu
b3JpbmcgZHVwbGljYXRlIGRpcmVjdG9yeSAiL25ldC9ybmJsOTI3L2hvbWUvZXhwb3J0L3Vzci9s
b2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNi8zLjAuMi9pbmNsdWRlIgojaW5j
bHVkZSAiLi4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6CiNpbmNsdWRlIDwuLi4+IHNlYXJjaCBzdGFy
dHMgaGVyZToKIC9ob21lL2V4cG9ydC91c3IvbG9jYWwvaW5jbHVkZS9nKystdjMKIC9ob21lL2V4
cG9ydC91c3IvbG9jYWwvaW5jbHVkZS9nKystdjMvc3BhcmMtc3VuLXNvbGFyaXMyLjYKIC9ob21l
L2V4cG9ydC91c3IvbG9jYWwvaW5jbHVkZS9nKystdjMvYmFja3dhcmQKIC9ob21lL2V4cG9ydC91
c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjYvMy4wLjIvaW5jbHVkZQog
L25ldC9ybmJsOTI3L2hvbWUvZXhwb3J0L3Vzci9sb2NhbC9pbmNsdWRlCiAvdXNyL2luY2x1ZGUK
RW5kIG9mIHNlYXJjaCBsaXN0Lgp0b3RvLmNjOiBJbiBjb25zdHJ1Y3RvciBgVG90bzo6VG90bygp
JzoKdG90by5jYzoxNTogbm8gbWF0Y2hpbmcgZnVuY3Rpb24gZm9yIGNhbGwgdG8gYFRvdG86Om1h
cEludEF0dHJpYnV0ZSg8dW5rbm93biAKICAgdHlwZT4pJwp0b3RvLmNjOjY6IGNhbmRpZGF0ZXMg
YXJlOiB2b2lkIE1hcHBlcjxTZWxlY3Rvcj46Om1hcEludEF0dHJpYnV0ZShpbnQgCiAgIChTZWxl
Y3Rvcjo6KikoaW50LCBpbnQpKSBbd2l0aCBTZWxlY3RvciA9IFRvdG9dCg==



More information about the Gcc-bugs mailing list