Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
ad810b22
Commit
ad810b22
authored
Apr 22, 1999
by
Mark Mitchell
Committed by
Mark Mitchell
Apr 22, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* decl.c (make_typename_type): Tighten error-checking.
From-SVN: r26586
parent
c9eb638e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
6 deletions
+27
-6
gcc/cp/ChangeLog
+4
-0
gcc/cp/decl.c
+7
-6
gcc/testsuite/g++.old-deja/g++.pt/crash38.C
+16
-0
No files found.
gcc/cp/ChangeLog
View file @
ad810b22
1999-04-22 Mark Mitchell <mark@codesourcery.com>
* decl.c (make_typename_type): Tighten error-checking.
1999-04-20 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (build_binary_op): Remove unneeded parameter.
...
...
gcc/cp/decl.c
View file @
ad810b22
...
...
@@ -5385,19 +5385,20 @@ make_typename_type (context, name)
{
if
(
TREE_CODE
(
fullname
)
==
TEMPLATE_ID_EXPR
)
{
tree
tmpl
=
NULL_TREE
;
if
(
IS_AGGR_TYPE
(
context
))
t
=
lookup_field
(
context
,
name
,
0
,
0
);
else
t
mpl
=
lookup_field
(
context
,
name
,
0
,
0
);
if
(
!
tmpl
||
!
DECL_CLASS_TEMPLATE_P
(
tmpl
))
{
cp_error
(
"no class template named `%#T' in `%#T'"
,
name
,
context
);
return
error_mark_node
;
}
if
(
t
&&
DECL_CLASS_TEMPLATE_P
(
t
))
return
lookup_template_class
(
t
,
TREE_OPERAND
(
fullname
,
1
),
NULL_TREE
,
context
,
/*entering_scope=*/
0
);
return
lookup_template_class
(
tmpl
,
TREE_OPERAND
(
fullname
,
1
),
NULL_TREE
,
context
,
/*entering_scope=*/
0
);
}
else
{
...
...
gcc/testsuite/g++.old-deja/g++.pt/crash38.C
0 → 100644
View file @
ad810b22
// Build don't link:
// Origin: Mark Mitchell <mark@codesourcery.com>
template
<
class
T
>
struct
S
{
typedef
typename
T
::
Y
<
T
>::
Z
X
;
// ERROR - No Y in A
X
x
;
// ERROR - No Y in A
};
struct
A
{
struct
Y
{
typedef
A
Z
;
};
};
template
struct
S
<
A
>
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment