Skip to content

Release note: API change to DIBuilder::createFunction etc #40993

@pogo59

Description

@pogo59
Bugzilla Link 41648
Resolution FIXED
Resolved on Jun 24, 2019 09:22
Version 8.0
OS All
Blocks #40566
CC @tstellar
Fixed by commit(s) r363027

Extended Description

(After #40944 and a separate private query, it really seems this should
have had a release note. Tom please DTRT with this, rephrase as needed.)

Three of the IR library methods related to debugging information for
functions and methods have changed their prototypes:

DIBuilder::createMethod
DIBuilder::createFunction
DIBuilder::createTempFunctionFwdDecl

In all cases, several individual parameters were removed, and replaced
by a single 'SPFlags' (subprogram flags) parameter. The individual
parameters are: 'isLocalToUnit'; 'isDefinition'; 'isOptimized'; and
for 'createMethod', 'Virtuality'. The new 'SPFlags' parameter has a
default value equivalent to passing 'false' for the three 'bool'
parameters, and zero (non-virtual) to the 'Virtuality' parameter. For
any old-style API call that passed 'true' or a non-zero virtuality to
these methods, you will need to substitute the correct 'SPFlags' value.
The helper method 'DISubprogram::toSPFlags()' might be useful in making
this conversion.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions