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
251b47c2
Commit
251b47c2
authored
Jan 10, 2002
by
Ira Ruben
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
C++ test case for __attribute__((deprecated)).
From-SVN: r48745
parent
7f180628
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
117 additions
and
0 deletions
+117
-0
gcc/testsuite/g++.dg/other/deprecated.C
+117
-0
No files found.
gcc/testsuite/g++.dg/other/deprecated.C
0 → 100644
View file @
251b47c2
/* Test __attribute__ ((deprecated)) */
/* { dg-do compile } */
/* { dg-options "-Wdeprecated-declarations -fmessage-length=0" } */
#if 1
typedef
int
INT1
__attribute__
((
deprecated
));
typedef
INT1
INT2
__attribute__
((
__deprecated__
));
typedef
INT1
INT1a
;
/* { dg-warning "`INT1' is deprecated" "" } */
typedef
INT1
INT1b
__attribute__
((
deprecated
));
INT1
should_be_unavailable
;
/* { dg-warning "`INT1' is deprecated" "" } */
INT1a
should_not_be_deprecated
;
INT1
f1
(
void
)
__attribute__
((
deprecated
));
INT1
f2
(
void
)
{}
/* { dg-warning "`INT1' is deprecated" "" } */
INT2
f3
(
void
)
__attribute__
((
__deprecated__
));
INT2
f4
(
void
)
{}
/* { dg-warning "`INT2' is deprecated" "" } */
int
f5
(
INT2
x
);
/* { dg-warning "`INT2' is deprecated" "" } */
int
f6
(
INT2
x
)
__attribute__
((
__deprecated__
));
typedef
enum
{
red
,
green
,
blue
}
Color
__attribute__
((
deprecated
));
int
g1
;
int
g2
__attribute__
((
deprecated
));
int
g3
__attribute__
((
__deprecated__
));
Color
k
;
/* { dg-warning "`Color' is deprecated" "" } */
typedef
struct
{
int
field1
;
int
field2
__attribute__
((
deprecated
));
int
field3
;
int
field4
__attribute__
((
__deprecated__
));
union
{
int
field5
;
int
field6
__attribute__
((
deprecated
));
}
u1
;
int
field7
:
1
;
int
field8
:
1
__attribute__
((
deprecated
));
union
{
int
field9
;
int
field10
;
}
u2
__attribute__
((
deprecated
));
}
S1
;
int
func1
()
{
INT1
w
;
/* { dg-warning "`INT1' is deprecated" "" } */
int
x
__attribute__
((
deprecated
));
int
y
__attribute__
((
__deprecated__
));
int
z
;
int
(
*
pf
)()
=
f1
;
/* { dg-warning "`f1' is deprecated" "" } */
z
=
w
+
x
+
y
+
g1
+
g2
+
g3
;
/* { dg-warning "`x' is deprecated" "" } */
/* { dg-warning "`y' is deprecated" "" { target *-*-* } 55 } */
/* { dg-warning "`g2' is deprecated" "" { target *-*-* } 55 } */
/* { dg-warning "`g3' is deprecated" "" { target *-*-* } 55 } */
return
f1
();
/* { dg-warning "`f1' is deprecated" "" } */
}
int
func2
(
S1
*
p
)
{
S1
lp
;
if
(
p
->
field1
)
return
p
->
field2
;
/* { dg-warning "`field2' is deprecated" "" } */
else
if
(
lp
.
field4
)
/* { dg-warning "`field4' is deprecated" "" } */
return
p
->
field3
;
p
->
u1
.
field5
=
g1
+
p
->
field7
;
p
->
u2
.
field9
;
/* { dg-warning "`u2' is deprecated" "" } */
return
p
->
u1
.
field6
+
p
->
field8
;
/* { dg-warning "`field6' is deprecated" "" } */
/* { dg-warning "`field8' is deprecated" "" { target *-*-* } 73 } */
}
struct
SS1
{
int
x
;
INT1
y
;
/* { dg-warning "`INT1' is deprecated" "" } */
}
__attribute__
((
deprecated
));
struct
SS1
*
p1
;
/* { dg-warning "`SS1' is deprecated" "" } */
struct
__attribute__
((
__deprecated__
))
SS2
{
int
x
;
INT1
y
;
/* { dg-warning "`INT1' is deprecated" "" } */
};
struct
SS2
*
p2
;
/* { dg-warning "`SS2' is deprecated" "" } */
#endif
#ifdef __cplusplus
class
T
{
public
:
void
member1
(
int
)
__attribute__
((
deprecated
));
void
member2
(
INT1
)
__attribute__
((
__deprecated__
));
int
member3
(
T
*
);
int
x
;
}
__attribute__
((
deprecated
));
T
*
p2
;
inline
void
T
::
member1
(
int
)
{}
int
T
::
member2
(
T
*
p
)
{
p
->
member1
(
1
);
/* { dg-warning "`member1' is deprecated" "" } */
(
*
p
).
member1
(
2
);
/* { dg-warning "`member1' is deprecated" "" } */
p
->
member2
(
1
);
/* { dg-warning "`member2' is deprecated" "" } */
(
*
p
).
member2
(
2
);
/* { dg-warning "`member2' is deprecated" "" } */
p
->
member3
(
p
);
(
*
p
).
member3
(
p
);
return
f1
();
/* { dg-warning "`f1' is deprecated" "" } */
}
#endif
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