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
086715fa
Commit
086715fa
authored
24 years ago
by
Kaveh R. Ghazi
Committed by
Kaveh Ghazi
24 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* gcc.c-torture/compile/20010102-1.c: New test.
From-SVN: r38646
parent
ec0b0e0e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
105 additions
and
0 deletions
+105
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/gcc.c-torture/compile/20010102-1.c
+101
-0
No files found.
gcc/testsuite/ChangeLog
View file @
086715fa
2001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.c-torture/compile/20010102-1.c: New test.
2001-01-02 Andreas Jaeger <aj@suse.de>
* gcc.dg/noreturn-3.c: New test.
...
...
This diff is collapsed.
Click to expand it.
gcc/testsuite/gcc.c-torture/compile/20010102-1.c
0 → 100644
View file @
086715fa
/* This testcase derives from gnu obstack.c/obstack.h and failed with
-O3 -funroll-all-loops, or -O1 -frename-registers -funroll-loops on
sparc-sun-solaris2.7.
Copyright (C) 2001 Free Software Foundation. */
# define PTR_INT_TYPE __PTRDIFF_TYPE__
struct
_obstack_chunk
{
char
*
limit
;
struct
_obstack_chunk
*
prev
;
char
contents
[
4
];
};
struct
obstack
{
long
chunk_size
;
struct
_obstack_chunk
*
chunk
;
char
*
object_base
;
char
*
next_free
;
char
*
chunk_limit
;
PTR_INT_TYPE
temp
;
int
alignment_mask
;
struct
_obstack_chunk
*
(
*
chunkfun
)
(
void
*
,
long
);
void
(
*
freefun
)
(
void
*
,
struct
_obstack_chunk
*
);
void
*
extra_arg
;
unsigned
use_extra_arg
:
1
;
unsigned
maybe_empty_object
:
1
;
unsigned
alloc_failed
:
1
;
};
extern
void
_obstack_newchunk
(
struct
obstack
*
,
int
);
struct
fooalign
{
char
x
;
double
d
;};
#define DEFAULT_ALIGNMENT \
((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0))
union
fooround
{
long
x
;
double
d
;};
#define DEFAULT_ROUNDING (sizeof (union fooround))
#ifndef COPYING_UNIT
#define COPYING_UNIT int
#endif
#define CALL_CHUNKFUN(h, size) \
(((h) -> use_extra_arg) \
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
: (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
#define CALL_FREEFUN(h, old_chunk) \
do { \
if ((h) -> use_extra_arg) \
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
else \
(*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
} while (0)
void
_obstack_newchunk
(
h
,
length
)
struct
obstack
*
h
;
int
length
;
{
register
struct
_obstack_chunk
*
old_chunk
=
h
->
chunk
;
register
struct
_obstack_chunk
*
new_chunk
;
register
long
new_size
;
register
long
obj_size
=
h
->
next_free
-
h
->
object_base
;
register
long
i
;
long
already
;
new_size
=
(
obj_size
+
length
)
+
(
obj_size
>>
3
)
+
100
;
if
(
new_size
<
h
->
chunk_size
)
new_size
=
h
->
chunk_size
;
new_chunk
=
CALL_CHUNKFUN
(
h
,
new_size
);
h
->
chunk
=
new_chunk
;
new_chunk
->
prev
=
old_chunk
;
new_chunk
->
limit
=
h
->
chunk_limit
=
(
char
*
)
new_chunk
+
new_size
;
if
(
h
->
alignment_mask
+
1
>=
DEFAULT_ALIGNMENT
)
{
for
(
i
=
obj_size
/
sizeof
(
COPYING_UNIT
)
-
1
;
i
>=
0
;
i
--
)
((
COPYING_UNIT
*
)
new_chunk
->
contents
)[
i
]
=
((
COPYING_UNIT
*
)
h
->
object_base
)[
i
];
already
=
obj_size
/
sizeof
(
COPYING_UNIT
)
*
sizeof
(
COPYING_UNIT
);
}
else
already
=
0
;
for
(
i
=
already
;
i
<
obj_size
;
i
++
)
new_chunk
->
contents
[
i
]
=
h
->
object_base
[
i
];
if
(
h
->
object_base
==
old_chunk
->
contents
&&
!
h
->
maybe_empty_object
)
{
new_chunk
->
prev
=
old_chunk
->
prev
;
CALL_FREEFUN
(
h
,
old_chunk
);
}
h
->
object_base
=
new_chunk
->
contents
;
h
->
next_free
=
h
->
object_base
+
obj_size
;
h
->
maybe_empty_object
=
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