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
d664559d
Commit
d664559d
authored
May 28, 1999
by
Robert Lipe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
"New" testsuite entries approved by Jeff on 5/23.
From-SVN: r27222
parent
fee9125c
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
496 additions
and
0 deletions
+496
-0
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C
+74
-0
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C
+100
-0
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C
+27
-0
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C
+101
-0
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C
+65
-0
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-1.C
+7
-0
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C
+85
-0
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-3.C
+14
-0
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-4.C
+12
-0
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-5.C
+11
-0
No files found.
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C
0 → 100644
View file @
d664559d
// check cleanup of template temporaries
int
ctor
=
0
;
int
dtor
=
0
;
template
<
class
T
>
struct
A
{
A
()
{
ctor
++
;}
A
(
int
)
{
ctor
++
;}
A
(
const
A
&
)
{
ctor
++
;}
~
A
()
{
dtor
++
;}
operator
int
()
{
return
0
;}
};
template
<
class
T
>
void
ff
(
T
);
template
<
class
T
>
void
ff
(
T
)
{
}
void
g
(
void
)
{
}
void
f
()
{
int
x
;
A
<
int
>
a1
;
A
<
double
>
a2
(
37
);
A
<
long
>
a3
=
A
<
long
>
(
47
);
A
<
short
>
a4
=
97
;
g
(
A
<
char
*>
());
A
<
char
**>
();
x
?
A
<
char
*>
()
:
A
<
char
*>
();
x
=
47
,
A
<
double
*>
(),
A
<
int
>
(
39
),
A
<
void
>
(
23
),
-
17
;
while
(
A
<
short
>
())
;
for
(;
A
<
unsigned
>
(
3
);)
;
if
(
A
<
A
<
double
>
>
())
;
ff
(
A
<
double
>
());
throw
59
;
}
int
main
()
{
int
flag
=
0
;
try
{
A
<
unsigned
long
>
();
f
();
}
catch
(
int
)
{
A
<
float
>
(
34
);
flag
=
1
;
}
if
(
!
flag
)
abort
();
if
(
!
ctor
||
ctor
!=
dtor
)
abort
();
exit
(
0
);
}
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C
0 → 100644
View file @
d664559d
// check MI and VBC offsets on throw
struct
A
{
int
x
[
23
];
};
struct
B
:
virtual
public
A
{
int
y
[
33
];
};
struct
C
:
virtual
public
A
,
public
B
{
int
z
[
43
];
};
struct
D
{
int
xx
[
53
];
};
struct
E
:
public
D
,
public
A
{
int
yy
[
63
];
};
C
c
;
E
e
;
void
f1
()
{
throw
(
C
*
)
0
;
}
void
f2
()
{
throw
&
c
;
}
void
f3
()
{
throw
(
E
*
)
0
;
}
void
f4
()
{
throw
&
e
;
}
int
main
()
{
int
flag
;
flag
=
0
;
try
{
f1
();
}
catch
(
A
*
p
)
{
if
(
p
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f2
();
}
catch
(
A
*
p
)
{
if
(
!
p
||
(
void
*
)
p
==
(
void
*
)
&
c
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f3
();
}
catch
(
A
*
p
)
{
if
(
p
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f4
();
}
catch
(
A
*
p
)
{
if
(
!
p
||
(
void
*
)
p
==
(
void
*
)
&
e
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
exit
(
0
);
}
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C
0 → 100644
View file @
d664559d
// try throwing 0 cast to a class object
struct
A
{};
void
f
()
{
throw
(
A
*
)
0
;
}
int
main
()
{
int
flag
;
flag
=
0
;
try
{
f
();
}
catch
(
A
*
)
{
flag
=
1
;
}
if
(
!
flag
)
abort
();
exit
(
0
);
}
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C
0 → 100644
View file @
d664559d
// check MI and VBC offsets on throw
struct
A
{
int
x
[
23
];
};
struct
B
:
virtual
public
A
{
int
y
[
33
];
};
struct
C
:
virtual
public
A
,
public
B
{
int
z
[
43
];
};
struct
D
{
int
xx
[
53
];
};
struct
E
:
public
D
,
public
A
{
int
yy
[
63
];
};
C
c
;
E
e
;
void
f1
()
{
throw
(
C
*
)
0
;
}
void
f2
()
{
throw
&
c
;
}
void
f3
()
{
throw
(
E
*
)
0
;
}
void
f4
()
{
throw
&
e
;
}
int
main
()
{
int
flag
;
flag
=
0
;
try
{
f1
();
}
catch
(
void
*
p
)
{
if
(
p
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f2
();
}
catch
(
void
*
p
)
{
if
(
!
p
||
(
void
*
)
p
!=
(
void
*
)
&
c
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f3
();
}
catch
(
void
*
p
)
{
if
(
p
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f4
();
}
catch
(
void
*
p
)
{
if
(
!
p
||
(
void
*
)
p
!=
(
void
*
)
&
e
)
abort
();
flag
=
1
;
}
if
(
!
flag
)
abort
();
exit
(
0
);
}
gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C
0 → 100644
View file @
d664559d
// check cleanup of partial array objects
int
ctor
=
0
;
int
dtor
=
0
;
int
cnt
=
1
;
struct
A
{
int
x
;
A
();
A
(
const
A
&
);
~
A
();
};
A
::
A
()
{
if
(
cnt
==
10
)
throw
57
;
x
=
cnt
++
;
ctor
++
;
}
A
::
A
(
const
A
&
)
{
if
(
cnt
==
10
)
throw
57
;
x
=
cnt
++
;
ctor
++
;
}
A
::~
A
()
{
if
(
x
+
1
!=
cnt
--
)
abort
();
dtor
++
;
}
void
f
()
{
A
a
[]
=
{
A
(),
A
(),
A
(),
A
(),
A
(),
A
(),
A
(),
A
(),
A
(),
A
(),
A
(),
A
()};
throw
-
1066
;
}
int
main
()
{
int
flag
;
flag
=
0
;
try
{
f
();
}
catch
(
int
)
{
flag
=
1
;
}
if
(
!
flag
)
abort
();
if
(
ctor
!=
9
)
abort
();
if
(
dtor
!=
9
)
abort
();
exit
(
0
);
}
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-1.C
0 → 100644
View file @
d664559d
//test 2
struct
A
{};
void
f
()
{
struct
A
;
throw
*
(
new
A
);
}
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C
0 → 100644
View file @
d664559d
// check EH with templates
template
<
class
T
,
int
n
,
class
U
>
struct
A
{
A
()
{}
A
(
char
*
)
{}
};
void
f1
()
{
throw
*
(
new
A
<
double
,
47
,
A
<
int
,
37
,
short
>
>
);
}
void
f2
()
{
throw
*
(
new
A
<
double
,
47
,
A
<
int
,
36
,
short
>
>
);
}
void
f3
()
{
throw
A
<
double
,
47
,
A
<
int
,
37
,
short
>
>
(
"howdy"
);
}
void
f4
()
{
throw
A
<
double
,
47
,
A
<
int
,
36
,
short
>
>
(
"hi michey"
);
}
main
()
{
int
flag
;
flag
=
0
;
try
{
f1
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
36
,
short
>
>
)
{
abort
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
37
,
short
>
>
)
{
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f2
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
36
,
short
&>
>
)
{
abort
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
36
,
short
>
>
)
{
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f3
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
36
,
short
>
>
)
{
abort
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
37
,
short
>
>
)
{
flag
=
1
;
}
if
(
!
flag
)
abort
();
flag
=
0
;
try
{
f4
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
36
,
short
&>
>
)
{
abort
();
}
catch
(
A
<
double
,
47
,
A
<
int
,
36
,
short
>
>
)
{
flag
=
1
;
}
if
(
!
flag
)
abort
();
exit
(
0
);
}
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-3.C
0 → 100644
View file @
d664559d
// try throwing overloaded function
void
f
(
int
)
{
}
void
f
(
long
)
{
}
void
g
()
{
throw
&
f
;
}
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-4.C
0 → 100644
View file @
d664559d
// try throwing template function name
template
<
class
T
>
void
f
(
T
);
template
<
class
T
>
void
f
(
T
)
{
}
void
g
()
{
throw
&
f
;
}
gcc/testsuite/g++.old-deja/g++.robertl/ice990323-5.C
0 → 100644
View file @
d664559d
// check attempting to throw an overloaded function
struct
A
{
void
f
(
int
);
void
f
(
long
);
};
void
g
()
{
throw
&
A
::
f
;
}
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