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
8bacb3d9
Commit
8bacb3d9
authored
Feb 23, 2000
by
Nathan Sidwell
Committed by
Nathan Sidwell
Feb 23, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* execute/20000223-1.c: New test.
From-SVN: r32117
parent
b23875c9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
0 deletions
+65
-0
gcc/testsuite/gcc.c-torture/ChangeLog
+4
-0
gcc/testsuite/gcc.c-torture/execute/20000223-1.c
+61
-0
No files found.
gcc/testsuite/gcc.c-torture/ChangeLog
View file @
8bacb3d9
2000-02-23 Nathan Sidwell <nathan@codesourcery.com>
* execute/20000223-1.c: New test.
2000-01-27 Jakub Jelinek <jakub@redhat.com>
* compile/20000127-1.c: New test.
...
...
gcc/testsuite/gcc.c-torture/execute/20000223-1.c
0 → 100644
View file @
8bacb3d9
/* Copyright (C) 2000 Free Software Foundation, Inc.
Contributed by Nathan Sidwell 23 Feb 2000 <nathan@codesourcery.com> */
/* __alignof__ should never return a non-power of 2
eg, sizeof(long double) might be 12, but that means it must be alignable
on a 4 byte boundary. */
void
check
(
char
const
*
type
,
int
align
)
{
if
((
align
&
-
align
)
!=
align
)
{
abort
();
}
}
#define QUOTE_(s) #s
#define QUOTE(s) QUOTE_(s)
#define check(t) check(QUOTE(t), __alignof__(t))
// This struct should have an alignment of the lcm of all the types. If one of
// the base alignments is not a power of two, then A cannot be power of two
// aligned.
struct
A
{
char
c
;
signed
short
ss
;
unsigned
short
us
;
signed
int
si
;
unsigned
int
ui
;
signed
long
sl
;
unsigned
long
ul
;
signed
long
long
sll
;
unsigned
long
long
ull
;
float
f
;
double
d
;
long
double
ld
;
void
*
dp
;
void
(
*
fp
)();
};
int
main
()
{
check
(
void
);
check
(
char
);
check
(
signed
short
);
check
(
unsigned
short
);
check
(
signed
int
);
check
(
unsigned
int
);
check
(
signed
long
);
check
(
unsigned
long
);
check
(
signed
long
long
);
check
(
unsigned
long
long
);
check
(
float
);
check
(
double
);
check
(
long
double
);
check
(
void
*
);
check
(
void
(
*
)());
check
(
struct
A
);
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