Linker: Eliminate uncalled functions, because they can be ill-defined.

Fixes issue #610. Also provides a testing option to keep uncalled functions.
This commit is contained in:
John Kessenich 2016-12-09 19:22:20 -07:00
parent bf6d7f43fd
commit 906cc21816
68 changed files with 101 additions and 7783 deletions

View file

@ -77,35 +77,6 @@ ERROR: node is still EOpNull!
0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:5 Constant:
0:5 7 (const int)
0:28 Function Definition: foo( (global void)
0:28 Function Parameters:
0:30 Sequence
0:30 Sequence
0:30 move second child to first child (temp float)
0:30 'p' (temp float)
0:30 gl_PointSize: direct index for structure (in float PointSize)
0:30 direct index (temp block{in float PointSize gl_PointSize})
0:30 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 0 (const int)
0:31 move second child to first child (temp float)
0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
0:31 Constant:
0:31 1 (const uint)
0:31 'p' (temp float)
0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
0:33 Constant:
0:33 0 (const uint)
0:36 Function Definition: foo5( (global float)
0:36 Function Parameters:
0:38 Sequence
0:38 Branch: Return with expression
0:38 Constant:
0:38 4.000000
0:? Linker Objects
0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })