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
e4a4c70b
Commit
e4a4c70b
authored
23 years ago
by
Jakub Jelinek
Committed by
Jakub Jelinek
23 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* gcc.c-torture/execute/va-arg-22.c: New test.
From-SVN: r50497
parent
e0f1be5c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
82 additions
and
0 deletions
+82
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/gcc.c-torture/execute/va-arg-22.c
+78
-0
No files found.
gcc/testsuite/ChangeLog
View file @
e4a4c70b
2002-03-09 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/execute/va-arg-22.c: New test.
Sat Mar 9 07:47:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/compile/20020309-1.c: New test.
...
...
This diff is collapsed.
Click to expand it.
gcc/testsuite/gcc.c-torture/execute/va-arg-22.c
0 → 100644
View file @
e4a4c70b
#include <stdarg.h>
extern
void
abort
(
void
);
extern
void
exit
(
int
);
void
bar
(
int
n
,
int
c
)
{
static
int
lastn
=
-
1
,
lastc
=
-
1
;
if
(
lastn
!=
n
)
{
if
(
lastc
!=
lastn
)
abort
();
lastc
=
0
;
lastn
=
n
;
}
if
(
c
!=
(
char
)
(
lastc
^
(
n
<<
3
)))
abort
();
lastc
++
;
}
#define D(N) typedef struct { char x[N]; } A##N;
D
(
0
)
D
(
1
)
D
(
2
)
D
(
3
)
D
(
4
)
D
(
5
)
D
(
6
)
D
(
7
)
D
(
8
)
D
(
9
)
D
(
10
)
D
(
11
)
D
(
12
)
D
(
13
)
D
(
14
)
D
(
15
)
D
(
16
)
D
(
31
)
D
(
32
)
D
(
35
)
D
(
72
)
#undef D
void
foo
(
int
size
,
...)
{
#define D(N) A##N a##N;
D
(
0
)
D
(
1
)
D
(
2
)
D
(
3
)
D
(
4
)
D
(
5
)
D
(
6
)
D
(
7
)
D
(
8
)
D
(
9
)
D
(
10
)
D
(
11
)
D
(
12
)
D
(
13
)
D
(
14
)
D
(
15
)
D
(
16
)
D
(
31
)
D
(
32
)
D
(
35
)
D
(
72
)
#undef D
va_list
ap
;
int
i
;
if
(
size
!=
21
)
abort
();
va_start
(
ap
,
size
);
#define D(N) \
a##N = va_arg (ap, typeof (a##N)); \
for (i = 0; i < N; i++) \
bar (N, a##N.x[i]);
D
(
0
)
D
(
1
)
D
(
2
)
D
(
3
)
D
(
4
)
D
(
5
)
D
(
6
)
D
(
7
)
D
(
8
)
D
(
9
)
D
(
10
)
D
(
11
)
D
(
12
)
D
(
13
)
D
(
14
)
D
(
15
)
D
(
16
)
D
(
31
)
D
(
32
)
D
(
35
)
D
(
72
)
#undef D
va_end
(
ap
);
}
int
main
(
void
)
{
#define D(N) A##N a##N;
D
(
0
)
D
(
1
)
D
(
2
)
D
(
3
)
D
(
4
)
D
(
5
)
D
(
6
)
D
(
7
)
D
(
8
)
D
(
9
)
D
(
10
)
D
(
11
)
D
(
12
)
D
(
13
)
D
(
14
)
D
(
15
)
D
(
16
)
D
(
31
)
D
(
32
)
D
(
35
)
D
(
72
)
#undef D
int
i
;
#define D(N) \
for (i = 0; i < N; i++) \
a##N.x[i] = i ^ (N << 3);
D
(
0
)
D
(
1
)
D
(
2
)
D
(
3
)
D
(
4
)
D
(
5
)
D
(
6
)
D
(
7
)
D
(
8
)
D
(
9
)
D
(
10
)
D
(
11
)
D
(
12
)
D
(
13
)
D
(
14
)
D
(
15
)
D
(
16
)
D
(
31
)
D
(
32
)
D
(
35
)
D
(
72
)
#undef D
foo
(
21
#define D(N) , a##N
D
(
0
)
D
(
1
)
D
(
2
)
D
(
3
)
D
(
4
)
D
(
5
)
D
(
6
)
D
(
7
)
D
(
8
)
D
(
9
)
D
(
10
)
D
(
11
)
D
(
12
)
D
(
13
)
D
(
14
)
D
(
15
)
D
(
16
)
D
(
31
)
D
(
32
)
D
(
35
)
D
(
72
)
#undef D
);
exit
(
0
);
}
This diff is collapsed.
Click to expand it.
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