Say we have an expression E that is constant because it’s in a constant address 
space, but its type is not actually const-qualified. In 
CheckForModifiableLvalue in SemaExpr.cpp, if isModifiableLvalue returns 
MLV_ConstQualified, it calls isReferenceToConstCapture. It may be 
MLV_ConstQualified either because the type is actually “const” or because it’s 
in the OpenCL constant address space (see ExprClassification.cpp:608). 
Unfortunately, isReferenceToConstCapture asserts that the type must actually be 
“const”, which is not necessarily true. This patch changes the assertion to 
what I think is intended.

Attachment: constant.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to