Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Function type builders missing parameter bounds information #152

Closed
dtarditi opened this issue Feb 10, 2017 · 1 comment
Closed

Function type builders missing parameter bounds information #152

dtarditi opened this issue Feb 10, 2017 · 1 comment
Labels
work item This labels issues that are not exactly bugs but are about improvements.
Milestone

Comments

@dtarditi
Copy link
Member

BuildFunctionType in lib\Sema\SemaType.h and RebuildFunctionProtoType in lib\Sema\TreeTransform.h are missing parameter bounds information as an argument. From what I can tell, BuildFunctionType is invoked along the C++ template instantiation path and along the tree transform path by RebuildFunctionProtoType. For Checked C, this could lead to parameter bounds information being dropped when the tree transformation routines are invoked on function prototypes.

The construction of function prototypes for the common C/C++ path does not invoke BuildFunctionType, so this issue does not affect the usual path for constructing prototypes.

We already have an issue about figuring out how to test tree transformations (issue #6), so I'm not sure how we'd test this fix if we made it.

Postponing this issue for now.

@dtarditi dtarditi added this to the Postponed milestone Feb 10, 2017
@dtarditi dtarditi added the work item This labels issues that are not exactly bugs but are about improvements. label Mar 17, 2017
@dtarditi
Copy link
Member Author

Bounds information is carried by the FunctionType::ExtProtoInfo struct that is passed as an argument to these functions. The information is not missing. However, we are lacking code to transform parameter and return bounds information in the struct. I've opened issue #370 to track that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
work item This labels issues that are not exactly bugs but are about improvements.
Projects
None yet
Development

No branches or pull requests

1 participant