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
6bc3403c
Commit
6bc3403c
authored
Apr 22, 1996
by
David Edelsohn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix AIX struct/union/field alignment
From-SVN: r11866
parent
75c91bcd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
2 deletions
+13
-2
gcc/config/rs6000/rs6000.h
+13
-2
No files found.
gcc/config/rs6000/rs6000.h
View file @
6bc3403c
...
@@ -572,8 +572,9 @@ extern struct rs6000_cpu_select rs6000_select[];
...
@@ -572,8 +572,9 @@ extern struct rs6000_cpu_select rs6000_select[];
/* No data type wants to be aligned rounder than this. */
/* No data type wants to be aligned rounder than this. */
#define BIGGEST_ALIGNMENT 64
#define BIGGEST_ALIGNMENT 64
/* AIX aligns internal doubles in structures on word boundaries. */
/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
#define BIGGEST_FIELD_ALIGNMENT 32
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(DECL_MODE (FIELD) != DFmode ? (COMPUTED) : MIN ((COMPUTED), 32))
/* Alignment of field after `int : 0' in a structure. */
/* Alignment of field after `int : 0' in a structure. */
#define EMPTY_FIELD_BOUNDARY 32
#define EMPTY_FIELD_BOUNDARY 32
...
@@ -584,6 +585,16 @@ extern struct rs6000_cpu_select rs6000_select[];
...
@@ -584,6 +585,16 @@ extern struct rs6000_cpu_select rs6000_select[];
/* A bitfield declared as `int' forces `int' alignment for the struct. */
/* A bitfield declared as `int' forces `int' alignment for the struct. */
#define PCC_BITFIELD_TYPE_MATTERS 1
#define PCC_BITFIELD_TYPE_MATTERS 1
/* AIX increases natural record alignment to doubleword if the first
field is an FP double while the FP fields remain word aligned. */
#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \
((TREE_CODE (STRUCT) == RECORD_TYPE \
|| TREE_CODE (STRUCT) == UNION_TYPE \
|| TREE_CODE (STRUCT) == QUAL_UNION_TYPE) \
&& DECL_MODE (TYPE_FIELDS (STRUCT)) == DFmode \
? MAX (MAX ((COMPUTED), (SPECIFIED)), BIGGEST_ALIGNMENT) \
: MAX ((COMPUTED), (SPECIFIED)))
/* Make strings word-aligned so strcpy from constants will be faster. */
/* Make strings word-aligned so strcpy from constants will be faster. */
#define CONSTANT_ALIGNMENT(EXP, ALIGN) \
#define CONSTANT_ALIGNMENT(EXP, ALIGN) \
(TREE_CODE (EXP) == STRING_CST \
(TREE_CODE (EXP) == STRING_CST \
...
...
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