Commit Graph

6 Commits

Author SHA1 Message Date
William S Fulton 2ff9da0ce6 Constructors and destructors declared with template parameters
Recent commits for internal constructor and destructor names resulted
in destructors declared with template parameters being ignored
with warnings like:
  Illegal destructor name TemplPublicBase6< int >::~TemplPublicBase6(). Ignored.

Although declaring constructors and destructors with template parameters
are rejected by modern compilers and C++20, SWIG continues to support it.

Make sure the name stored in the parse tree is the C++20 compliant name
name, that is, without the template parameters.

Fixes using declarations for templated constructors declared with
template parameters, was warning with:
  Nothing known about 'TemplPublicBase6< int >::TemplPublicBase6'.
2023-07-18 19:29:40 +01:00
William S Fulton feb8e2e641 Fix C++11 using declarations for inheriting implicit base constructors
Parser no longer checks for a declared constructor when handling a
using declaration in order to correct the name as it won't find
implicitly declared constructors. Now it checks that a using
declaration is for something that looks like a constructor instead
by checking the immediate base classes for allowed constructors.
2023-07-14 08:39:27 +01:00
William S Fulton a0bde3f319 C++11 using declarations for inheriting constructors - template classes with template base classes
Internal using name no longer contains template parameters.
Fixes symbol table lookup for non-instantiated template constructor.
Builds on previous few commits where the internal name no longer
contains the template parameters for constructors and destructors.
2023-07-08 20:01:39 +01:00
William S Fulton 5b9179ea7e C++11 using declarations for template classes with non-template base classes 2023-07-07 12:05:09 +01:00
William S Fulton e73a1b91a3 C++11 using declarations for inheriting overloaded constructors
Fixes for C++11 using declarations for inheriting constructors
when the constructors are overloaded.
2023-07-05 00:10:47 +01:00
William S Fulton 61e60271fe Add support for C++11 using declarations for inheriting constructors
Closes #2641
2023-07-04 12:07:16 +01:00