view gcc/testsuite/g++.dg/template/defarg6.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// Copyright (C) 2005 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 14 Oct 2005 <nathan@codesourcery.com>

// PR 21353 missing error.
// Origin:Andrew Pinski <pinskia@gcc.gnu.org>

enum X{ a, b, c };

struct C
{
  static void func (X &ref = a); // { dg-error "" }
};

template <typename T>
struct D
{
  static void func (X &ref = a); // { dg-error "cannot bind non-const lvalue reference" }
};

void Foo (X & obj)
{
  D<int>::func (obj);

  D<int>::func (); // { dg-message "when instantiating default argument for call" }
}