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
cd372c39
Commit
cd372c39
authored
Dec 29, 2000
by
Hans-Peter Nilsson
Committed by
Hans-Peter Nilsson
Dec 29, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* g++.dg/vtgc1.C: New test.
From-SVN: r38522
parent
6f18f7e9
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
139 additions
and
0 deletions
+139
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/g++.dg/vtgc1.C
+135
-0
No files found.
gcc/testsuite/ChangeLog
View file @
cd372c39
2000-12-29 Hans-Peter Nilsson <hp@bitrange.com>
* g++.dg/vtgc1.C: New test.
2000-12-28 Geoffrey Keating <geoffk@redhat.com>
2000-12-28 Geoffrey Keating <geoffk@redhat.com>
* gcc.dg/20001228-1.c: New test.
* gcc.dg/20001228-1.c: New test.
...
...
gcc/testsuite/g++.dg/vtgc1.C
0 → 100644
View file @
cd372c39
// { dg-do compile }
// { dg-options "-fvtable-gc -fno-new-abi" }
// Origin: Hans-Peter Nilsson <hp@bitrange.com>
class
Base0
{
public
:
Base0
();
virtual
~
Base0
();
virtual
void
f1
();
virtual
void
f2
();
private
:
int
a_value
;
};
class
Base1
:
public
Base0
{
public
:
Base1
();
virtual
~
Base1
();
virtual
void
f1
(),
f2
();
virtual
void
f3
();
};
class
Base2
:
public
Base1
{
public
:
Base2
();
virtual
~
Base2
();
virtual
void
f1
(),
f2
();
virtual
void
f4
();
};
class
VbasedA
:
virtual
public
Base2
{
public
:
VbasedA
();
virtual
~
VbasedA
();
virtual
void
f1
(),
f2
(),
f3
();
virtual
void
f6
();
};
class
Side0
{
public
:
Side0
();
virtual
~
Side0
();
virtual
void
x1
();
virtual
void
xx
();
private
:
int
ryan
;
};
class
Multisv0
:
public
Side0
,
virtual
public
Base2
{
public
:
Multisv0
();
virtual
~
Multisv0
();
virtual
void
f1
(),
f2
();
virtual
void
f3
();
virtual
void
f6
();
virtual
void
xx
();
};
class
Multivs1
:
public
Base2
,
virtual
public
Side0
{
public
:
Multivs1
();
virtual
~
Multivs1
();
virtual
void
f1
();
virtual
void
fx2
();
virtual
void
fx4
(),
fx5
();
virtual
void
f6
();
virtual
void
xx
();
};
class
Multiss2
:
public
Base2
,
public
Side0
{
public
:
Multiss2
();
virtual
~
Multiss2
();
virtual
void
f1
();
virtual
void
fx2
();
virtual
void
fx4
();
virtual
void
f6
();
virtual
void
xx
();
};
class
Multivv3
:
virtual
public
Base2
,
virtual
public
Side0
{
public
:
Multivv3
();
virtual
~
Multivv3
();
virtual
void
f1
();
virtual
void
fx2
();
virtual
void
fx4
(),
fx5
();
virtual
void
f6
();
virtual
void
xx
();
};
Base0
::
Base0
()
{}
Base0
::~
Base0
()
{}
Base1
::
Base1
()
{}
Base1
::~
Base1
()
{}
Base2
::
Base2
()
{}
Base2
::~
Base2
()
{}
VbasedA
::
VbasedA
()
{}
VbasedA
::~
VbasedA
()
{}
Multisv0
::
Multisv0
()
{}
Multisv0
::~
Multisv0
()
{}
Multivs1
::
Multivs1
()
{}
Multivs1
::~
Multivs1
()
{}
Multiss2
::
Multiss2
()
{}
Multiss2
::~
Multiss2
()
{}
Multivv3
::
Multivv3
()
{}
Multivv3
::~
Multivv3
()
{}
Side0
::
Side0
()
{}
Side0
::~
Side0
()
{}
extern
void
x
(
VbasedA
*
);
extern
void
x2
(
Multisv0
*
);
extern
void
x3
(
Multivs1
*
);
extern
void
x4
(
Multiss2
*
);
extern
void
x5
(
Multivv3
*
);
void
y
()
{
VbasedA
ii
;
x
(
&
ii
);}
void
y2
()
{
Multisv0
ii
;
x2
(
&
ii
);}
void
y3
()
{
Multivs1
ii
;
x3
(
&
ii
);}
void
y4
()
{
Multiss2
ii
;
x4
(
&
ii
);}
void
y5
()
{
Multivv3
ii
;
x5
(
&
ii
);}
void
x
(
VbasedA
*
ii
)
{
ii
->
f2
();}
void
x2
(
Multisv0
*
ii
)
{
ii
->
f2
();}
void
x3
(
Multivs1
*
ii
)
{
ii
->
f2
();}
void
x4
(
Multiss2
*
ii
)
{
ii
->
f2
();}
void
x5
(
Multivv3
*
ii
)
{
ii
->
f2
();}
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multivv3 virtual table, 0" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multivv3::Side0 virtual table, Side0 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multivv3::Base2 virtual table, Base2 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multiss2 virtual table, Base2 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multiss2::Side0 virtual table, Side0 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multivs1 virtual table, Base2 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multivs1::Side0 virtual table, Side0 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multisv0 virtual table, Side0 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Multisv0::Base2 virtual table, Base2 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Side0 virtual table, 0" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*VbasedA virtual table, 0" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*VbasedA::Base2 virtual table, Base2 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Base2 virtual table, Base1 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Base1 virtual table, Base0 virtual table" } }
// { dg-final { scan-assembler-dem vtgc1.C "\.vtable_inherit\[ \t\]*Base0 virtual table, 0" } }
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