Skip to content

Fixed Unreachable code warning when building on a 32-bit platform with DEBUG_NODE_XML

Summary

This merge request fixes an unreachable code warning that is treated as an error by the bootstrapper. This warning is triggered on i386-win32 whenever -dDEBUG_NODE_XML is also specified, and probably also occurs on other platforms that have a 32-bit address space.

System

  • Operating system: Windows, Linux, possibly others
  • Processor architecture: i386, possibly also ARM and other platforms with a 32-bit address space

What is the current bug behavior?

When attempting to build the compiler with the following options: "make clean all OPT="-O4 -a -dDEBUG_NODE_XML" CPU_TARGET=i386 OS_TARGET=win32" (cross-compiling from x86_64-win64 to i386-win32), the following error occurs at the ppc1 stage:

verbose.pas(1062,72) Warning: (treated as error) Unreachable code

What is the behavior after applying this patch?

Compiler and packages build successfully.

Additional notes

The unreachable code was a case's else block in the WritePointer routine. On a 32-bit address space, the entire 32-bit number domain is already covered by the other case branches, so the else block will never be reached. Said else block is now only present on a 64-bit address space (and above).

Edited by J. Gareth "Kit" Moreton

Merge request reports