Closed Bug 532319 Opened 15 years ago Closed 15 years ago

Fix processing of instantiated template functions

Categories

(Developer Infrastructure :: Source Code Analysis, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dnovillo, Assigned: taras.mozilla)

References

Details

Attachments

(1 file)

When the parser instantiates a template function, it does not add it to the global_namespace. Dehydra was relying on it to get at all the functions. This changes dehydra to rely on the callgraph instead. This is safer since the parser will always add functions that need code generation to the callgraph. It could be made a little bit smarter and not add functions that have already been added, but there is duplicate handling logic already in dehydra_visitFunctionDecl, so it didn't seem too important. Note that this patch may need other uncommitted patches from me. I'm addressing that in a separate bug.
Attachment #415560 - Attachment is patch: true
Attachment #415560 - Attachment mime type: application/octet-stream → text/plain
The idea here is solid, but this patch is against your copy of dehydra.
Blocks: 437502
Diego says that I should traverse varpool and cgraph instead of global_namespace
This somewhat improves situation with templated functions http://hg.mozilla.org/rewriting-and-analysis/dehydra/rev/433b854c3c42
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: