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
c5a0835d
Commit
c5a0835d
authored
Oct 31, 2000
by
Kaveh R. Ghazi
Committed by
Kaveh Ghazi
Oct 31, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* gcc.c-torture/execute/va-arg-21.c: New test.
From-SVN: r37167
parent
7e08e190
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
52 additions
and
0 deletions
+52
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/gcc.c-torture/execute/va-arg-21.c
+48
-0
No files found.
gcc/testsuite/ChangeLog
View file @
c5a0835d
2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.c-torture/execute/va-arg-21.c: New test.
2000-10-31 Joseph S. Myers <jsm28@cam.ac.uk>
* gcc.dg/c99-complex-2.c: New test.
...
...
gcc/testsuite/gcc.c-torture/execute/va-arg-21.c
0 → 100644
View file @
c5a0835d
/* Copyright (C) 2000 Free Software Foundation.
If the argument to va_end() has side effects, test whether side
effects from that argument are honored.
Written by Kaveh R. Ghazi, 10/31/2000. */
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#ifndef __GNUC__
#define __attribute__(x)
#endif
static
void
__attribute__
((
__format__
(
__printf__
,
1
,
2
)))
doit
(
const
char
*
s
,
...)
{
va_list
*
ap_array
[
3
],
**
ap_ptr
=
ap_array
;
ap_array
[
0
]
=
malloc
(
sizeof
(
va_list
));
ap_array
[
1
]
=
NULL
;
ap_array
[
2
]
=
malloc
(
sizeof
(
va_list
));
va_start
(
*
ap_array
[
0
],
s
);
vprintf
(
s
,
**
ap_ptr
);
/* Increment the va_list pointer once. */
va_end
(
**
ap_ptr
++
);
/* Increment the va_list pointer a second time. */
ap_ptr
++
;
va_start
(
*
ap_array
[
2
],
s
);
/* If we failed to increment ap_ptr twice, then the parameter passed
in here will dereference NULL and should cause a crash. */
vprintf
(
s
,
**
ap_ptr
);
va_end
(
**
ap_ptr
);
/* Just in case, If *ap_ptr is NULL abort anyway. */
if
(
*
ap_ptr
==
0
)
abort
();
}
int
main
()
{
doit
(
"%s"
,
"hello world
\n
"
);
return
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