Example code: ///////////////////////////////////// class E { };
class Test { public: __fastcall bool ernie(bool b) throw(E) { } __fastcall // <- remove this to make it work bool bert(bool b); }; bool Test::bert(bool b) { } ///////////////////////////////////// Even though I didn't define which exceptions "bert" will throw, GCC seems to take the throw definition from the other function "ernie": declaration of `bool Test::bert(bool)' throws different exceptions than previous declaration `bool Test::bert(bool) throw (E)' This bug is related to GCC 3.3.1 (mingw special 20030804-1) and also to the other version that I use (GCC 4.3.2-tdm-2 mingw32, which is an experimental build for Windows). -- Summary: __fastcall confuses a function's throw() specification Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: AndiDog at web dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38662