1*99e0aae7SDavid Rees# Copyright 2019 Google LLC 2*99e0aae7SDavid Rees# 3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License"); 4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License. 5*99e0aae7SDavid Rees# You may obtain a copy of the License at 6*99e0aae7SDavid Rees# 7*99e0aae7SDavid Rees# https://www.apache.org/licenses/LICENSE-2.0 8*99e0aae7SDavid Rees# 9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software 10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS, 11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and 13*99e0aae7SDavid Rees# limitations under the License. 14*99e0aae7SDavid Rees 15*99e0aae7SDavid Rees-- Structures which can be used be test code to check that alignment 16*99e0aae7SDavid Rees-- information is properly propagated through Emboss views. 17*99e0aae7SDavid Rees 18*99e0aae7SDavid Rees[$default byte_order: "BigEndian"] 19*99e0aae7SDavid Rees[(cpp) namespace: "emboss::test"] 20*99e0aae7SDavid Rees 21*99e0aae7SDavid Rees 22*99e0aae7SDavid Reesstruct Alignments: 23*99e0aae7SDavid Rees 0 [+4] Placeholder4 zero_offset 24*99e0aae7SDavid Rees 0 [+6] Placeholder6 zero_offset_substructure 25*99e0aae7SDavid Rees 2 [+6] Placeholder6 two_offset_substructure 26*99e0aae7SDavid Rees 3 [+4] Placeholder4 three_offset 27*99e0aae7SDavid Rees 4 [+4] Placeholder4 four_offset 28*99e0aae7SDavid Rees 11 [+4] Placeholder4 eleven_offset 29*99e0aae7SDavid Rees 12 [+4] Placeholder4 twelve_offset 30*99e0aae7SDavid Rees 0 [+12] Placeholder4[3] zero_offset_four_stride_array 31*99e0aae7SDavid Rees 0 [+24] Placeholder6[4] zero_offset_six_stride_array 32*99e0aae7SDavid Rees 3 [+12] Placeholder4[3] three_offset_four_stride_array 33*99e0aae7SDavid Rees 4 [+24] Placeholder6[4] four_offset_six_stride_array 34*99e0aae7SDavid Rees 35*99e0aae7SDavid Rees 36*99e0aae7SDavid Reesstruct Placeholder4: 37*99e0aae7SDavid Rees -- Four-byte structure used as a byte-oriented placeholder so that type 38*99e0aae7SDavid Rees -- alignment can be tested without any of the bit/byte interface types. 39*99e0aae7SDavid Rees 0 [+4] UInt dummy 40*99e0aae7SDavid Rees 41*99e0aae7SDavid Rees 42*99e0aae7SDavid Reesstruct Placeholder6: 43*99e0aae7SDavid Rees -- Six-byte structure. Includes Placeholder4 so that substructure alignments 44*99e0aae7SDavid Rees -- can be checked. 45*99e0aae7SDavid Rees 0 [+4] Placeholder4 zero_offset 46*99e0aae7SDavid Rees 2 [+4] Placeholder4 two_offset 47