[HP aCC 3.39] confused taking the address of an overloaded member ----------------------------------------------------------------- Key: STDCXX-657 URL: https://issues.apache.org/jira/browse/STDCXX-657 Project: C++ Standard Library Issue Type: Bug Components: External Environment: HP aCC 3.25 - (at least) 3.39 Reporter: Martin Sebor Moved from Rogue Wave bug tracking database: ****Created By: sebor @ Dec 29, 2000 09:03:26 PM**** Subject: aCC 3.25 confused taking the address of an overloaded member Date: Fri, 29 Dec 2000 21:03:09 -0700 From: Martin Sebor Organization: Rogue Wave Software, Inc. To: HP aCC mailing list Here's another member template problem. Martin $ cat t.cpp template struct S { void foo (S&) throw (); template void foo (S&) throw (); }; int main () { void (S::*pf) (S&) throw () = &S::foo; } $ aCC -V -c t.cpp aCC: HP ANSI C++ B3910B A.03.25 Error 722: "t.cpp", line 12 # The exception specification for the source must be at least as restrictive as the exception specification for the destination. void (S::*pf) (S&) throw () = &S::foo; ^ Error 722: "t.cpp", line 12 # The exception specification for the source must be at least as restrictive as the exception specification for the destination. void (S::*pf) (S&) throw () = &S::foo; ^ Error 706: "t.cpp", line 12 # An overloaded variable may not be used in this context. void (S::*pf) (S&) throw () = &S::foo; ^^^^^^^^^^^ ****Modified By: sebor @ Jan 03, 2001 09:51:13 PM**** Subject: Re: aCC 3.25 confused taking the address of an overloaded member Date: Wed, 3 Jan 2001 20:48:08 -0800 (PST) From: Dennis Handly To: acxx-beta@cup.hp.com, sebor@roguewave.com >Here's another member template problem. Martin Error 722: The exception specification for the source must be at least as restrictive as the exception specification for the destination. I filed the following for you: CR JAGad44411 Error 722 throw spec problem with member templates ****Modified By: sebor @ Feb 23, 2001 09:18:09 PM**** Bug persists in 3.27: $ aCC -V -c -AA t.cpp aCC: HP ANSI C++ B3910B A.03.27 Error 722: "t.cpp", line 12 # The exception specification for the source must be at least as restrictive as the exception specification for the destination. void (S::*pf) (S&) throw () = &S::foo; ^ Error 722: "t.cpp", line 12 # The exception specification for the source must be at least as restrictive as the exception specification for the destination. void (S::*pf) (S&) throw () = &S::foo; ^ Error 706: "t.cpp", line 12 # An overloaded variable may not be used in this context. void (S::*pf) (S&) throw () = &S::foo; ^^^^^^^^^^^ ****Modified By: sebor @ Jan 28, 2003 11:48:35 AM**** Still broken in 3.39. $ cat t.cpp && aCC +w -AA -V t.cpp && ./a.out; echo $? template struct S { void foo (S&) throw (); template void foo (S&) throw (); }; int main () { void (S::*pf) (S&) throw () = &S::foo; } aCC: HP ANSI C++ B3910B A.03.39 Error 722: "t.cpp", line 13 # The exception specification for the source must be at least as restrictive as the exception specification for the destination. void (S::*pf) (S&) throw () = &S::foo; ^ Error 722: "t.cpp", line 13 # The exception specification for the source must be at least as restrictive as the exception specification for the destination. void (S::*pf) (S&) throw () = &S::foo; ^ Error 706: "t.cpp", line 13 # An overloaded variable may not be used in this context. void (S::*pf) (S&) throw () = &S::foo; ^^^^^^^^^^^ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.