]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
On-demand locations within string-literals
[thirdparty/gcc.git] / gcc / ChangeLog
index 10d7224b36a786e423028eb241ef798c916a868e..40ca18ca3efb635614abe26cfc4f0739150a6ef4 100644 (file)
@@ -1,3 +1,61 @@
+2016-08-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * input.c (string_concat::string_concat): New constructor.
+       (string_concat_db::string_concat_db): New constructor.
+       (string_concat_db::record_string_concatenation): New method.
+       (string_concat_db::get_string_concatenation): New method.
+       (string_concat_db::get_key_loc): New method.
+       (class auto_cpp_string_vec): New class.
+       (get_substring_ranges_for_loc): New function.
+       (get_source_range_for_substring): New function.
+       (get_num_source_ranges_for_substring): New function.
+       (class selftest::lexer_test_options): New class.
+       (struct selftest::lexer_test): New struct.
+       (class selftest::ebcdic_execution_charset): New class.
+       (selftest::ebcdic_execution_charset::s_singleton): New variable.
+       (selftest::lexer_test::lexer_test): New constructor.
+       (selftest::lexer_test::~lexer_test): New destructor.
+       (selftest::lexer_test::get_token): New method.
+       (selftest::assert_char_at_range): New function.
+       (ASSERT_CHAR_AT_RANGE): New macro.
+       (selftest::assert_num_substring_ranges): New function.
+       (ASSERT_NUM_SUBSTRING_RANGES): New macro.
+       (selftest::assert_has_no_substring_ranges): New function.
+       (ASSERT_HAS_NO_SUBSTRING_RANGES): New macro.
+       (selftest::test_lexer_string_locations_simple): New function.
+       (selftest::test_lexer_string_locations_ebcdic): New function.
+       (selftest::test_lexer_string_locations_hex): New function.
+       (selftest::test_lexer_string_locations_oct): New function.
+       (selftest::test_lexer_string_locations_letter_escape_1): New function.
+       (selftest::test_lexer_string_locations_letter_escape_2): New function.
+       (selftest::test_lexer_string_locations_ucn4): New function.
+       (selftest::test_lexer_string_locations_ucn8): New function.
+       (selftest::uint32_from_big_endian): New function.
+       (selftest::test_lexer_string_locations_wide_string): New function.
+       (selftest::uint16_from_big_endian): New function.
+       (selftest::test_lexer_string_locations_string16): New function.
+       (selftest::test_lexer_string_locations_string32): New function.
+       (selftest::test_lexer_string_locations_u8): New function.
+       (selftest::test_lexer_string_locations_utf8_source): New function.
+       (selftest::test_lexer_string_locations_concatenation_1): New
+       function.
+       (selftest::test_lexer_string_locations_concatenation_2): New
+       function.
+       (selftest::test_lexer_string_locations_concatenation_3): New
+       function.
+       (selftest::test_lexer_string_locations_macro): New function.
+       (selftest::test_lexer_string_locations_stringified_macro_argument):
+       New function.
+       (selftest::test_lexer_string_locations_non_string): New function.
+       (selftest::test_lexer_string_locations_long_line): New function.
+       (selftest::test_lexer_char_constants): New function.
+       (selftest::input_c_tests): Call the new test functions once per
+       case within the line_table test matrix.
+       * input.h (struct string_concat): New struct.
+       (struct location_hash): New struct.
+       (class string_concat_db): New class.
+       * substring-locations.h: New header.
+
 2016-08-05  Patrick Palka  <ppalka@gcc.gnu.org>
 
        PR tree-optimization/72810