]> git.ipfire.org Git - thirdparty/gcc.git/commit - libcpp/ChangeLog
PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and -Wmisleading-indentation
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jan 2016 19:10:17 +0000 (19:10 +0000)
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jan 2016 19:10:17 +0000 (19:10 +0000)
commita7ed45837eacff818524fdca94ce0c589aee9374
tree5d6ecf5555c474502a0f17a07628d03e228b3ab7
parentca5b12a4daf636c4c33ad670a90f4b16ec7bd089
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232379 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/ChangeLog
gcc/c-family/c-indentation.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/plugin.exp
libcpp/ChangeLog
libcpp/line-map.c