From: Mark Mitchell Date: Thu, 15 May 2003 17:00:06 +0000 (+0000) Subject: re PR c++/8385 (typeof(...) as template arg) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dffbbe8019dd880e4dcc4a66670acd7449cede92;p=gcc.git re PR c++/8385 (typeof(...) as template arg) PR c++/8385 * g++.dg/ext/typeof5.C: New test. PR c++/8385 * semantics.c (finish_typeof): Refine type-dependency check. From-SVN: r66835 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f375a4f8205..4c01679e46a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2003-05-15 Mark Mitchell + + PR c++/8385 + * semantics.c (finish_typeof): Refine type-dependency check. + 2003-05-13 Jason Merrill * typeck.c (build_modify_expr): Don't always stabilize the lhs and diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index ab6a75c7ddb..082bc788f1e 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2163,7 +2163,7 @@ finish_typeof (expr) { tree type; - if (processing_template_decl) + if (type_dependent_expression_p (expr)) { type = make_aggr_type (TYPEOF_TYPE); TYPE_FIELDS (type) = expr; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2497dfd56e3..be7261e7824 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-05-15 Mark Mitchell + + PR c++/8385 + * g++.dg/ext/typeof5.C: New test. + 2003-05-15 J"orn Rennecke * gcc.c-torture/execute/builtins/string-asm-1.c: Take diff --git a/gcc/testsuite/g++.dg/ext/typeof5.C b/gcc/testsuite/g++.dg/ext/typeof5.C new file mode 100644 index 00000000000..d1ee4f718d1 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/typeof5.C @@ -0,0 +1,8 @@ +// { dg-options "" } + +int foo; + +template struct Base {}; + +template +struct Derived : public Base {};