Index: clang-tools-extra/trunk/clangd/StdSymbolMap.inc =================================================================== --- clang-tools-extra/trunk/clangd/StdSymbolMap.inc +++ clang-tools-extra/trunk/clangd/StdSymbolMap.inc @@ -454,11 +454,24 @@ SYMBOL(inclusive_scan, std::, ) SYMBOL(independent_bits_engine, std::, ) SYMBOL(indirect_array, std::, ) +SYMBOL(initializer_list, std::, ) SYMBOL(inner_product, std::, ) SYMBOL(inplace_merge, std::, ) SYMBOL(input_iterator_tag, std::, ) SYMBOL(insert_iterator, std::, ) SYMBOL(inserter, std::, ) +SYMBOL(int16_t, std::, ) +SYMBOL(int32_t, std::, ) +SYMBOL(int64_t, std::, ) +SYMBOL(int8_t, std::, ) +SYMBOL(int_fast16_t, std::, ) +SYMBOL(int_fast32_t, std::, ) +SYMBOL(int_fast64_t, std::, ) +SYMBOL(int_fast8_t, std::, ) +SYMBOL(int_least16_t, std::, ) +SYMBOL(int_least32_t, std::, ) +SYMBOL(int_least64_t, std::, ) +SYMBOL(int_least8_t, std::, ) SYMBOL(integer_sequence, std::, ) SYMBOL(integral_constant, std::, ) SYMBOL(internal, std::, ) @@ -1150,6 +1163,18 @@ SYMBOL(u32streampos, std::, ) SYMBOL(u32string, std::, ) SYMBOL(u32string_view, std::, ) +SYMBOL(uint16_t, std::, ) +SYMBOL(uint32_t, std::, ) +SYMBOL(uint64_t, std::, ) +SYMBOL(uint8_t, std::, ) +SYMBOL(uint_fast16_t, std::, ) +SYMBOL(uint_fast32_t, std::, ) +SYMBOL(uint_fast64_t, std::, ) +SYMBOL(uint_fast8_t, std::, ) +SYMBOL(uint_least16_t, std::, ) +SYMBOL(uint_least32_t, std::, ) +SYMBOL(uint_least64_t, std::, ) +SYMBOL(uint_least8_t, std::, ) SYMBOL(uintmax_t, std::, ) SYMBOL(uintptr_t, std::, ) SYMBOL(uncaught_exceptions, std::, ) Index: clang-tools-extra/trunk/clangd/include-mapping/gen_std.py =================================================================== --- clang-tools-extra/trunk/clangd/include-mapping/gen_std.py +++ clang-tools-extra/trunk/clangd/include-mapping/gen_std.py @@ -84,10 +84,9 @@ for row in table.select('tr'): if HasClass(row, 't-dcl', 't-dsc'): was_decl = True - # Declaration is in the first cell. - text = row.find('td').text - # Decl may not be for the symbol name we're looking for. - if not re.search("\\b%s\\b" % symbol_name, text): + # Symbols are in the first cell. + found_symbols = row.find('td').stripped_strings + if not symbol_name in found_symbols: continue headers.update(current_headers) elif HasClass(row, 't-dsc-header'): Index: clang-tools-extra/trunk/clangd/include-mapping/test.py =================================================================== --- clang-tools-extra/trunk/clangd/include-mapping/test.py +++ clang-tools-extra/trunk/clangd/include-mapping/test.py @@ -85,7 +85,11 @@ - void foo() + + void + foo + () + this is matched @@ -108,7 +112,11 @@ - void foo() + + void + foo + () + this is matched @@ -116,6 +124,32 @@ self.assertEqual(ParseSymbolPage(html, "foo"), set(['', ''])) + def testParseSymbolPage_MulSymbolsInSameTd(self): + # defined in header + # int8_t + # int16_t + html = """ + + + + + + + + + +
+ Defined in header <cstdint>
+
+ int8_t + int16_t + this is matched
+""" + self.assertEqual(ParseSymbolPage(html, "int8_t"), + set([''])) + self.assertEqual(ParseSymbolPage(html, "int16_t"), + set([''])) + if __name__ == '__main__': unittest.main()