object-introspection/oi/type_graph
Jake Hillion 7eebee2bf7 type_graph: avoid overwriting explicitly set alignment
Previously AlignmentCalc calculates the alignment and sets packing for every
type except a member with explicit alignment. Change this to check whether an
alignment has been previously set for a type before calculating it. Use this in
ClangTypeParser where the full alignment of the type is available.

Remove explicitly aligning members by the type because that was previously
reserved for members with explicit alignment. AlignmentCalc will correctly
align a member to the underlying type without this. Explicit member alignment
is still missing, as before this change.

Test plan:
- CI
- Too little. Gets further into a production type than without this change.
2024-01-18 16:44:12 +00:00
..
AddChildren.cpp Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
AddChildren.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
AddPadding.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
AddPadding.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
AlignmentCalc.cpp type_graph: avoid overwriting explicitly set alignment 2024-01-18 16:44:12 +00:00
AlignmentCalc.h TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
ClangTypeParser.cpp type_graph: avoid overwriting explicitly set alignment 2024-01-18 16:44:12 +00:00
ClangTypeParser.h oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00
CMakeLists.txt oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00
DrgnExporter.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
DrgnExporter.h oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00
DrgnParser.cpp tbv2: support capture-thrift-isset 2024-01-16 19:09:46 +00:00
DrgnParser.h TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
EnforceCompatibility.cpp CodeGen v2: Enable independent running without CodeGen v1 2023-12-15 14:57:24 +00:00
EnforceCompatibility.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
Flattener.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
Flattener.h TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
IdentifyContainers.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
IdentifyContainers.h TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
KeyCapture.cpp add range-v3 library 2023-11-13 18:42:04 +00:00
KeyCapture.h TypeGraph: Add KeyCapture pass 2023-09-28 19:42:49 -07:00
NameGen.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
NameGen.h incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
NodeTracker.h Type Graph: Replace MutationTracker with the more general ResultTracker 2023-12-14 13:43:19 +00:00
PassManager.cpp TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
PassManager.h TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
Printer.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
Printer.h oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00
Prune.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
Prune.h TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
RemoveMembers.cpp CodeGen: Remove Incomplete members from Classes 2023-12-12 18:50:15 +00:00
RemoveMembers.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
RemoveTopLevelPointer.cpp oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00
RemoveTopLevelPointer.h oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00
TopoSorter.cpp tbv2: fix pointer codegen 2024-01-18 16:22:18 +00:00
TopoSorter.h tbv2: fix pointer codegen 2024-01-18 16:22:18 +00:00
TypeGraph.cpp Remove Primitive::Kind::Incomplete 2023-10-04 11:23:28 -06:00
TypeGraph.h TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
TypeIdentifier.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
TypeIdentifier.h name contained types properly in treebuilder v2 2023-08-25 16:25:14 +01:00
Types.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
Types.h tbv2: support capture-thrift-isset 2024-01-16 19:09:46 +00:00
Visitor.h oilgen: migrate to source parsing (#421) 2023-12-19 13:26:25 -08:00