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

--- Comment #13 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Author: dmalcolm
Date: Thu Jan 14 19:10:17 2016
New Revision: 232379

URL: https://gcc.gnu.org/viewcvs?rev=232379&root=gcc&view=rev
Log:
PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and
-Wmisleading-indentation

gcc/c-family/ChangeLog:
        PR c++/68819
        * c-indentation.c (get_visual_column): Add location_t param.
        Handle the column number being zero by effectively disabling the
        warning, with an "inform".
        (should_warn_for_misleading_indentation): Add location_t argument
        for all uses of get_visual_column.

gcc/testsuite/ChangeLog:
        PR c++/68819
        PR preprocessor/69177
        * gcc.dg/plugin/location-overflow-test-1.c: New test case.
        * gcc.dg/plugin/location-overflow-test-2.c: New test case.
        * gcc.dg/plugin/location_overflow_plugin.c: New test plugin.
        * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.

libcpp/ChangeLog:
        PR preprocessor/69177
        * line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): New
        constant.
        (LINE_MAP_MAX_LOCATION_WITH_COLS): Add note about unit tests
        to comment.
        (can_be_stored_compactly_p): Reduce threshold from
        LINE_MAP_MAX_LOCATION_WITH_COLS to
        LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES.
        (get_combined_adhoc_loc): Likewise.
        (get_range_from_loc): Likewise.
        (linemap_line_start): Ensure that a new ordinary map is created
        when transitioning from range-packing being enabled to disabled,
        at the LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES threshold.  Set
        range_bits to 0 for new ordinary maps when beyond this limit.
        Prevent the "increase the column bits of a freshly created map"
        optimization if the range bits has reduced.


Added:
    trunk/gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c
    trunk/gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c
    trunk/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-indentation.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/plugin/plugin.exp
    trunk/libcpp/ChangeLog
    trunk/libcpp/line-map.c

Reply via email to