aboutsummaryrefslogtreecommitdiff
path: root/pw_build
diff options
context:
space:
mode:
authorPeter Carlson <petercarlson@google.com>2023-10-25 19:22:23 +0000
committerCQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-10-25 19:22:23 +0000
commit8febfab039bf0eeb33ae033af58155ea12a73131 (patch)
tree26a2d872697eabaab3c91bd1e196576d6d3f85df /pw_build
parent5363b1f02a05690e6e1d5e7f3d53935ad0a2f110 (diff)
downloadpigweed-8febfab039bf0eeb33ae033af58155ea12a73131.tar.gz
pw_build: Fix blob attribute ordering
Clang expects alignas() to appear before linker section attribute. Change-Id: Ic0abfd68616a1f57ce627d1304689df64cbfe460 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177458 Commit-Queue: Peter Carlson <petercarlson@google.com> Reviewed-by: Wyatt Hepler <hepler@google.com> Reviewed-by: Armando Montanez <amontanez@google.com>
Diffstat (limited to 'pw_build')
-rw-r--r--pw_build/py/generate_cc_blob_library_test.py4
-rw-r--r--pw_build/py/pw_build/generate_cc_blob_library.py5
2 files changed, 5 insertions, 4 deletions
diff --git a/pw_build/py/generate_cc_blob_library_test.py b/pw_build/py/generate_cc_blob_library_test.py
index 6bdf311fb..33709c9d7 100644
--- a/pw_build/py/generate_cc_blob_library_test.py
+++ b/pw_build/py/generate_cc_blob_library_test.py
@@ -261,8 +261,8 @@ class TestSourceFromBlobs(unittest.TestCase):
'\n'
f'alignas(64) {FOO_BLOB}'
'\n'
- 'PW_PLACE_IN_SECTION(".abc")\n'
- f'alignas(int) {BAR_BLOB}'
+ 'alignas(int) PW_PLACE_IN_SECTION(".abc")\n'
+ f'{BAR_BLOB}'
)
self.assertEqual(expected_source, source)
diff --git a/pw_build/py/pw_build/generate_cc_blob_library.py b/pw_build/py/pw_build/generate_cc_blob_library.py
index 65b799eaa..958c9da8a 100644
--- a/pw_build/py/pw_build/generate_cc_blob_library.py
+++ b/pw_build/py/pw_build/generate_cc_blob_library.py
@@ -78,8 +78,9 @@ BLOB_DECLARATION_TEMPLATE = Template(
LINKER_SECTION_TEMPLATE = Template('PW_PLACE_IN_SECTION("${linker_section}")\n')
BLOB_DEFINITION_MULTI_LINE = Template(
- '\n${section_attr}'
- '${alignas}constexpr std::array<std::byte, ${size_bytes}> ${symbol_name}'
+ '\n${alignas}'
+ '${section_attr}constexpr std::array<std::byte, ${size_bytes}>'
+ ' ${symbol_name}'
' = {\n${bytes_lines}\n};\n'
)