https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100796

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jason Merrill
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:bb2e908638758097e261bca1a4825d171a18af9c

commit r11-8583-gbb2e908638758097e261bca1a4825d171a18af9c
Author: Jason Merrill <ja...@redhat.com>
Date:   Mon Jun 14 17:37:43 2021 -0400

    libcpp: location comparison within macro [PR100796]

    The patch for 96391 changed linemap_compare_locations to give up on
    comparing locations from macro expansions if we don't have column
    information.  But in this testcase, the BOILERPLATE macro is multiple lines
    long, so we do want to compare locations within the macro.  So this patch
    moves the LINE_MAP_MAX_LOCATION_WITH_COLS check inside the block, to use it
    for failing gracefully.

            PR c++/100796
            PR preprocessor/96391

    libcpp/ChangeLog:

            * line-map.c (linemap_compare_locations): Only use comparison with
            LINE_MAP_MAX_LOCATION_WITH_COLS to avoid abort.

    gcc/testsuite/ChangeLog:

            * g++.dg/plugin/location-overflow-test-pr100796.c: New test.
            * g++.dg/plugin/plugin.exp: Run it.

Reply via email to