Skip to content
  • Richard Smith's avatar
    DR1330: instantiate exception-specifications when "needed". We previously did · 7311b276
    Richard Smith authored
    not instantiate exception specifications of functions if they were only used in
    unevaluated contexts (other than 'noexcept' expressions).
    
    In C++17 onwards, this becomes essential since the exception specification is
    now part of the function's type.
    
    Note that this means that constructs like the following no longer work:
    
      struct A {
        static T f() noexcept(...);
        decltype(f()) *p;
      };
    
    ... because the decltype expression now needs the exception specification of
    'f', which has not yet been parsed.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284549 91177308-0d34-0410-b5e6-96231b3b80d8
    7311b276