Commit 476197f9d439fea68ecd4616811c849bbf12824b

Olli Etuaho 2016-10-11T13:59:08

Clean up TSymbol initialization Now TSymbol objects always get their id when they are constructed. The id cannot be changed after the TSymbol is created. This makes it simpler to insert both mangled and unmangled versions of a function to the symbol table. These can now both share the same TSymbol object, unlike before, when inserting the same symbol twice would have changed its symbol id. This requires changes to function definition parsing: function definition nodes now share any symbol created by previous prototype declarations of the function. The parameters on the symbol get set to the parameters in the function definition header. BUG=angleproject:1490 TEST=angle_unittests Change-Id: I8e600e9b5e5de27d64b85c5042cfd23ff02abe63 Reviewed-on: https://chromium-review.googlesource.com/396838 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>