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
adab1923
Commit
adab1923
authored
Jun 14, 2000
by
Hans-Peter Nilsson
Committed by
Hans-Peter Nilsson
Jun 14, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* g++.old-deja/g++.other/inline12.C: New test.
From-SVN: r34554
parent
1d54a1dc
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
330 additions
and
0 deletions
+330
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/g++.old-deja/g++.other/inline12.C
+326
-0
No files found.
gcc/testsuite/ChangeLog
View file @
adab1923
2000-06-14 Hans-Peter Nilsson <hp@axis.com>
* g++.old-deja/g++.other/inline12.C: New test.
2000-06-13 Jakub Jelinek <jakub@redhat.com>
2000-06-13 Jakub Jelinek <jakub@redhat.com>
* g++.old-deja/g++.other/eh1.C: New test.
* g++.old-deja/g++.other/eh1.C: New test.
...
...
gcc/testsuite/g++.old-deja/g++.other/inline12.C
0 → 100644
View file @
adab1923
// Build don't link:
// Special g++ Options: -O2 -g
// (Should preferrably cycle through options.)
// Origin: Hans-Peter Nilsson <hp@axis.com>
// See <URL:http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00310.html>
typedef
unsigned
int
udword
;
extern
"C"
{
void
__assert
(
const
char
*
,
int
,
const
char
*
);
}
class
ShZzy
;
class
ShBe
;
class
Sh
{
public
:
class
Xy
;
inline
Sh
(
const
char
*
theName
,
const
Xy
&
theXys
);
virtual
~
Sh
();
inline
const
char
*
name
()
const
;
inline
bool
shXy
(
const
Xy
&
theXy
);
virtual
void
setParent
(
Sh
*
theParent
);
class
Xy
{
public
:
Xy
(
int
theXy
);
Xy
(
const
Xy
&
theXy
);
Xy
&
operator
=
(
const
Xy
&
);
bool
sh
(
const
Xy
&
theXy
);
private
:
int
myXyFlags
;
};
protected
:
Xy
myXys
;
private
:
Sh
();
Sh
(
const
Sh
&
);
Sh
&
operator
=
(
const
Sh
&
);
const
char
*
myName
;
Sh
*
myParent
;
};
class
ShZzy
:
public
Sh
{
public
:
inline
ShZzy
(
const
char
*
theName
);
inline
ShZzy
(
const
char
*
theName
,
const
Xy
&
theXys
);
virtual
~
ShZzy
();
void
addShTo
(
char
*
theParent
);
virtual
void
ap
()
{}
void
addSh
(
Sh
*
theSh
);
virtual
void
setParent
(
Sh
*
theParent
);
void
baseAp
();
private
:
ShZzy
();
ShZzy
(
const
ShZzy
&
);
ShZzy
&
operator
=
(
const
ShZzy
&
);
bool
iAmInited
;
};
class
ShBop
{
public
:
inline
ShBop
(
const
ShBe
*
theBe
);
void
shWw
(
bool
,
char
*
a1
=
""
,
char
*
a2
=
""
,
int
a3
=
-
1
,
char
*
a4
=
"foo"
);
typedef
enum
{
shOk
,
shFailed
,
shDone
,
invalidBop
}
bopType
;
inline
bopType
bop
();
inline
int
numberOfVs
();
inline
void
closeBop
();
private
:
ShBop
(
const
ShBop
&
);
ShBop
&
operator
=
(
const
ShBop
&
);
const
ShBe
*
myBe
;
bopType
myBop
;
int
my1
;
int
my2
;
const
char
*
my3
;
const
char
*
my4
;
int
my5
;
const
char
*
my6
;
};
Sh
::
Sh
(
const
char
*
theName
,
const
Xy
&
theXys
)
:
myXys
(
theXys
),
myName
(
theName
),
myParent
(
0
)
{}
const
char
*
Sh
::
name
()
const
{
return
myName
;
}
bool
Sh
::
shXy
(
const
Xy
&
theXy
)
{
return
myXys
.
sh
(
theXy
);
}
ShZzy
::
ShZzy
(
const
char
*
theName
)
:
Sh
(
theName
,
Xy
(
0
)),
iAmInited
(
false
)
{}
ShZzy
::
ShZzy
(
const
char
*
theName
,
const
Xy
&
theXys
)
:
Sh
(
theName
,
theXys
),
iAmInited
(
false
)
{}
ShBop
::
ShBop
(
const
ShBe
*
theBe
)
:
myBe
(
theBe
),
myBop
(
invalidBop
),
my1
(
0
),
my2
(
0
),
my3
(
""
),
my4
(
""
),
my5
(
0
),
my6
(
""
)
{}
ShBop
::
bopType
ShBop
::
bop
()
{
((
!
my2
||
myBop
==
shFailed
)
?
(
void
)
0
:
__assert
(
"foo"
,
91
,
"foo"
));
return
myBop
;
}
int
ShBop
::
numberOfVs
()
{
return
my2
+
my1
;
}
void
ShBop
::
closeBop
()
{
if
(
myBop
==
invalidBop
)
{
myBop
=
shDone
;
}
}
class
ShBe
;
template
<
class
ShCc
>
class
ShAp
:
public
ShZzy
{
public
:
ShAp
(
const
char
*
theName
);
ShAp
(
const
char
*
theName
,
const
Xy
&
theXys
);
virtual
~
ShAp
()
{}
typedef
void
(
ShCc
::*
ShMethod
)();
virtual
void
ap
()
{}
protected
:
ShBop
*
bop
();
private
:
ShAp
();
ShAp
(
const
ShAp
&
);
ShAp
&
operator
=
(
const
ShAp
&
);
ShBop
*
myBop
;
ShBe
*
myBe
;
};
class
ShBe
:
public
Sh
{
public
:
inline
ShBe
(
const
char
*
theName
);
inline
ShBe
(
const
char
*
theName
,
const
Xy
&
theXys
);
inline
virtual
~
ShBe
();
virtual
void
run
()
=
0
;
ShBop
*
runBe
();
protected
:
inline
ShBop
*
bop
();
private
:
ShBe
();
ShBe
(
const
ShBe
&
);
ShBe
&
operator
=
(
const
ShBe
&
);
ShBop
*
myBop
;
};
template
<
class
ShCc
>
ShAp
<
ShCc
>::
ShAp
(
const
char
*
theName
)
:
ShZzy
(
theName
),
myBop
(
0
),
myBe
(
0
)
{}
template
<
class
ShCc
>
ShAp
<
ShCc
>::
ShAp
(
const
char
*
theName
,
const
Sh
::
Xy
&
theXys
)
:
ShZzy
(
theName
,
theXys
),
myBop
(
0
),
myBe
(
0
)
{}
template
<
class
ShCc
>
ShBop
*
ShAp
<
ShCc
>::
bop
()
{
((
myBop
)
?
(
void
)
0
:
__assert
(
"foo"
,
96
,
"foo"
));
return
myBop
;
}
class
xSh
:
public
ShAp
<
xSh
>
{
public
:
xSh
();
virtual
~
xSh
();
void
ap
();
void
uff
();
void
rtt
();
};
class
xUff
{
public
:
xUff
();
xUff
(
const
xUff
&
);
xUff
&
operator
=
(
const
xUff
&
);
xUff
(
udword
);
operator
udword
()
const
;
xUff
&
operator
=
(
udword
);
bool
operator
<
(
const
xUff
)
const
;
bool
operator
<=
(
const
xUff
)
const
;
bool
operator
>
(
const
xUff
)
const
;
bool
operator
>=
(
const
xUff
)
const
;
bool
operator
==
(
const
xUff
)
const
;
enum
{
size
=
4
};
xUff
(
unsigned
char
*
theUff
);
private
:
udword
myUff
;
};
inline
xUff
::
xUff
()
:
myUff
(
0
)
{
}
inline
xUff
::
xUff
(
udword
theUff
)
:
myUff
(
theUff
)
{
}
inline
xUff
::
xUff
(
const
xUff
&
theUff
)
:
myUff
(
theUff
.
myUff
)
{
}
inline
xUff
&
xUff
::
operator
=
(
const
xUff
&
theUff
)
{
myUff
=
theUff
.
myUff
;
return
*
this
;
}
inline
xUff
&
xUff
::
operator
=
(
udword
theUff
)
{
myUff
=
theUff
;
return
*
this
;
}
inline
xUff
::
operator
udword
()
const
{
return
myUff
;
}
inline
bool
xUff
::
operator
<
(
const
xUff
ding
)
const
{
return
(((
int
)
(
myUff
-
ding
.
myUff
))
<
0
);
}
inline
bool
xUff
::
operator
<=
(
const
xUff
ding
)
const
{
return
(((
int
)
(
myUff
-
ding
.
myUff
))
<=
0
);
}
inline
bool
xUff
::
operator
>
(
const
xUff
ding
)
const
{
return
(((
int
)
(
myUff
-
ding
.
myUff
))
>
0
);
}
inline
bool
xUff
::
operator
>=
(
const
xUff
ding
)
const
{
return
(((
int
)
(
myUff
-
ding
.
myUff
))
>=
0
);
}
inline
bool
xUff
::
operator
==
(
const
xUff
ding
)
const
{
return
(
myUff
==
ding
.
myUff
);
}
inline
xUff
::
xUff
(
unsigned
char
*
theUff
)
{
myUff
=
*
(
udword
*
)
theUff
;
}
void
xSh
::
uff
()
{
static
const
udword
halfudword
=
0x80000000
;
xUff
aGah
((
udword
)
0
);
udword
diagonal
=
halfudword
+
(
udword
)
aGah
;
xUff
aGeh
(
diagonal
-
1
);
xUff
aGoh
(
diagonal
+
1
);
(
bop
()
->
shWw
((
aGah
.
operator
<=
(
aGah
)),
(
"foo"
),
(
""
),
118
,
"foo"
));
(
bop
()
->
shWw
((
aGah
.
operator
>=
(
aGah
)),
(
"foo"
),
(
""
),
119
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGah
.
operator
<
(
aGah
))),
(
"foo"
),
(
""
),
120
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGah
.
operator
>
(
aGah
))),
(
"foo"
),
(
""
),
121
,
"foo"
));
(
bop
()
->
shWw
((
aGah
.
operator
<
(
aGeh
)),
(
"foo"
),
(
""
),
124
,
"foo"
));
(
bop
()
->
shWw
((
aGah
.
operator
<=
(
aGeh
)),
(
"foo"
),
(
""
),
125
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGah
.
operator
>
(
aGeh
))),
(
"foo"
),
(
""
),
126
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGah
.
operator
>=
(
aGeh
))),
(
"foo"
),
(
""
),
127
,
"foo"
));
(
bop
()
->
shWw
((
aGeh
.
operator
>
(
aGah
)),
(
"foo"
),
(
""
),
130
,
"foo"
));
(
bop
()
->
shWw
((
aGeh
.
operator
>=
(
aGah
)),
(
"foo"
),
(
""
),
131
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGeh
.
operator
<
(
aGah
))),
(
"foo"
),
(
""
),
132
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGeh
.
operator
<=
(
aGah
))),
(
"foo"
),
(
""
),
133
,
"foo"
));
(
bop
()
->
shWw
((
aGeh
.
operator
<
(
aGoh
)),
(
"foo"
),
(
""
),
136
,
"foo"
));
(
bop
()
->
shWw
((
aGeh
.
operator
<=
(
aGoh
)),
(
"foo"
),
(
""
),
137
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGeh
.
operator
>
(
aGoh
))),
(
"foo"
),
(
""
),
138
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGeh
.
operator
>=
(
aGoh
))),
(
"foo"
),
(
""
),
139
,
"foo"
));
(
bop
()
->
shWw
((
aGoh
.
operator
>
(
aGeh
)),
(
"foo"
),
(
""
),
142
,
"foo"
));
(
bop
()
->
shWw
((
aGoh
.
operator
>=
(
aGeh
)),
(
"foo"
),
(
""
),
143
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGoh
.
operator
<
(
aGeh
))),
(
"foo"
),
(
""
),
144
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGoh
.
operator
<=
(
aGeh
))),
(
"foo"
),
(
""
),
145
,
"foo"
));
(
bop
()
->
shWw
((
aGah
.
operator
>
(
aGoh
)),
(
"foo"
),
(
""
),
152
,
"foo"
));
(
bop
()
->
shWw
((
aGah
.
operator
>=
(
aGoh
)),
(
"foo"
),
(
""
),
153
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGah
.
operator
<
(
aGoh
))),
(
"foo"
),
(
""
),
154
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGah
.
operator
<=
(
aGoh
))),
(
"foo"
),
(
""
),
155
,
"foo"
));
(
bop
()
->
shWw
((
aGoh
.
operator
<
(
aGah
)),
(
"foo"
),
(
""
),
158
,
"foo"
));
(
bop
()
->
shWw
((
aGoh
.
operator
<=
(
aGah
)),
(
"foo"
),
(
""
),
159
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGoh
.
operator
>
(
aGah
))),
(
"foo"
),
(
""
),
160
,
"foo"
));
(
bop
()
->
shWw
((
!
(
aGoh
.
operator
>=
(
aGah
))),
(
"foo"
),
(
""
),
161
,
"foo"
));
}
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