Message ID | 52672E2A.9090904@verizon.net |
---|---|
State | New |
Headers | show |
Hi Ed, It looks like we did reserve "assume" as a keyword, but it's not being used... By any chance, did you configure without --disable-bootstrap? I think it would be a better solution to remove the unused keywords -- there were a couple of others that we grabbed for some other concepts-related work, but which aren't included in Concepts Lite. I'll apply the typeck fix. Andrew Sutton On Tue, Oct 22, 2013 at 10:02 PM, Ed Smith-Rowland <3dw4rd@verizon.net> wrote: > I had to get past two small bugs to get c++-concepts to build. > Take a good look because I'm not sure if they're right. The solutions > should be harmless though. > > Ed >
On 10/23/2013 08:36 AM, Andrew Sutton wrote: > Hi Ed, > > It looks like we did reserve "assume" as a keyword, but it's not being > used... By any chance, did you configure without --disable-bootstrap? > > I think it would be a better solution to remove the unused keywords -- > there were a couple of others that we grabbed for some other > concepts-related work, but which aren't included in Concepts Lite. > > I'll apply the typeck fix. > > Andrew Sutton > > > On Tue, Oct 22, 2013 at 10:02 PM, Ed Smith-Rowland <3dw4rd@verizon.net> wrote: >> I had to get past two small bugs to get c++-concepts to build. >> Take a good look because I'm not sure if they're right. The solutions >> should be harmless though. >> >> Ed >> I did this: $ ../gcc_concepts/configure --prefix=/home/ed/bin_concepts --enable-languages=c,c++,lto This is pretty base bones - no special treatment configure and the branch worked pretty well. Ed
Hi Ed, I committed half of your patch (the unused variable part) in r204011 and removed the unused keywords as a resolution for the other half in r204012. Changelog/patch follow: 2013-10-24 Andrew Sutton <andrew.n.sutton@gmail.com> * gcc/cp/c-common.c (c_common_r): Remove unused keywords "assume", "axiom", and "forall". * gcc/cp/c-common.h (rid): Removed unused reserved word ids. Andrew On Wed, Oct 23, 2013 at 8:05 PM, Ed Smith-Rowland <3dw4rd@verizon.net> wrote: > On 10/23/2013 08:36 AM, Andrew Sutton wrote: >> >> Hi Ed, >> >> It looks like we did reserve "assume" as a keyword, but it's not being >> used... By any chance, did you configure without --disable-bootstrap? >> >> I think it would be a better solution to remove the unused keywords -- >> there were a couple of others that we grabbed for some other >> concepts-related work, but which aren't included in Concepts Lite. >> >> I'll apply the typeck fix. >> >> Andrew Sutton >> >> >> On Tue, Oct 22, 2013 at 10:02 PM, Ed Smith-Rowland <3dw4rd@verizon.net> >> wrote: >>> >>> I had to get past two small bugs to get c++-concepts to build. >>> Take a good look because I'm not sure if they're right. The solutions >>> should be harmless though. >>> >>> Ed >>> > I did this: > $ ../gcc_concepts/configure --prefix=/home/ed/bin_concepts > --enable-languages=c,c++,lto > > This is pretty base bones - no special treatment configure and the branch > worked pretty well. > > Ed >
Index: constraint.cc =================================================================== --- constraint.cc (revision 203944) +++ constraint.cc (working copy) @@ -522,16 +522,15 @@ if (expr == error_mark_node) return error_mark_node; - // Decompose those expressions into lists of lists of atomic - // propositions. - tree assume = decompose_assumptions (expr); + // Decompose those expressions into lists of lists of atomic propositions. + tree assumption = decompose_assumptions (expr); // Build the constraint info. tree_constraint_info *cinfo = (tree_constraint_info *)make_node (CONSTRAINT_INFO); cinfo->spelling = reqs; cinfo->requirements = expr; - cinfo->assumptions = assume; + cinfo->assumptions = assumption; return (tree)cinfo; } @@ -1380,7 +1379,7 @@ // Print the header for the requires expression. tree parms = TREE_OPERAND (subst, 0); if (!VOID_TYPE_P (TREE_VALUE (parms))) - inform (loc, " requiring syntax with values %Z", TREE_OPERAND (subst, 0)); + inform (loc, " requiring syntax with values %qE", TREE_OPERAND (subst, 0));/*%Z*/ // Create a new local specialization binding for the arguments. // This lets us instantiate sub-expressions separately from the Index: typeck.c =================================================================== --- typeck.c (revision 203944) +++ typeck.c (working copy) @@ -3445,7 +3445,7 @@ { location_t loc = DECL_SOURCE_LOCATION (function); error ("%qD is not a viable candidate", function); - diagnose_constraints (input_location, tmpl, args); + diagnose_constraints (loc, tmpl, args);/*input_location*/ return error_mark_node; } }