Don't record string concatenation data for 'RESERVED_LOCATION_P'
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 3 Sep 2021 16:25:10 +0000 (18:25 +0200)
committerThomas Schwinge <thomas@codesourcery.com>
Mon, 20 Sep 2021 08:12:47 +0000 (10:12 +0200)
commit7d79c3ebc3f3f6f8aecf83726c97474ae5cfe957
tree1f8d1751e7b092c0fd11e6c37cec6434845b98c5
parentf92901a508305f291fcf2acae0825379477724de
Don't record string concatenation data for 'RESERVED_LOCATION_P'

'RESERVED_LOCATION_P' means 'UNKNOWN_LOCATION' or 'BUILTINS_LOCATION'.
We're using 'UNKNOWN_LOCATION' as a spare value for 'Empty', so should
ascertain that we don't use it as a key additionally.  Similarly for
'BUILTINS_LOCATION' that we'd later like to use as a spare value for
'Deleted'.

As discussed in the source code comment added, for these we didn't have
stable behavior anyway.

Follow-up to r239175 (commit 88fa5555a309e5d6c6171b957daaf2f800920869)
"On-demand locations within string-literals".

gcc/
* input.c (string_concat_db::record_string_concatenation)
(string_concat_db::get_string_concatenation): Skip for
'RESERVED_LOCATION_P'.
gcc/testsuite/
* gcc.dg/plugin/diagnostic-test-string-literals-1.c: Adjust
expected error diagnostics.
gcc/input.c
gcc/testsuite/gcc.dg/plugin/diagnostic-test-string-literals-1.c