diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-06-22 20:19:29 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-06-22 20:19:29 +0200 |
commit | 0508fb3627966bd1298b614190fb9160cbcba415 (patch) | |
tree | 034f5fe8d3e600f170cacb1519f0c4720d16d392 /ice40 | |
parent | 8850f86a8ab23de1274f05b1729c106f875f693a (diff) | |
download | nextpnr-0508fb3627966bd1298b614190fb9160cbcba415.tar.gz nextpnr-0508fb3627966bd1298b614190fb9160cbcba415.tar.bz2 nextpnr-0508fb3627966bd1298b614190fb9160cbcba415.zip |
Fix "dereferencing type-punned pointer" warnings
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'ice40')
-rw-r--r-- | ice40/arch.cc | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/ice40/arch.cc b/ice40/arch.cc index be38015a..ce45b051 100644 --- a/ice40/arch.cc +++ b/ice40/arch.cc @@ -122,33 +122,33 @@ PortPin Arch::portPinFromId(IdString type) const // ----------------------------------------------------------------------- +static const ChipInfoPOD *get_chip_info(const RelPtr<ChipInfoPOD> *ptr) +{ + return ptr->get(); +} + Arch::Arch(ArchArgs args) : args(args) { #ifdef ICE40_HX1K_ONLY if (args.type == ArchArgs::HX1K) { - chip_info = - reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_1k) - ->get(); + chip_info = get_chip_info( + reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_1k)); } else { log_error("Unsupported iCE40 chip type.\n"); } #else if (args.type == ArchArgs::LP384) { - chip_info = - reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_384) - ->get(); + chip_info = get_chip_info( + reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_384)); } else if (args.type == ArchArgs::LP1K || args.type == ArchArgs::HX1K) { - chip_info = - reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_1k) - ->get(); + chip_info = get_chip_info( + reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_1k)); } else if (args.type == ArchArgs::UP5K) { - chip_info = - reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_5k) - ->get(); + chip_info = get_chip_info( + reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_5k)); } else if (args.type == ArchArgs::LP8K || args.type == ArchArgs::HX8K) { - chip_info = - reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_8k) - ->get(); + chip_info = get_chip_info( + reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_8k)); } else { log_error("Unsupported iCE40 chip type.\n"); } |