diff mbox

[c++-concepts] small tidbits to get it to build

Message ID 52672E2A.9090904@verizon.net
State New
Headers show

Commit Message

Ed Smith-Rowland Oct. 23, 2013, 2:02 a.m. UTC
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
2013-10-23  Edward Smith-Rowland  <3dw4rd@verizon.net>

	make concepts build.
	* constraint.cc (make_constraints): Change variable assume to
	assumption.  Is assume a new keyword?
	* typeck.c (cp_build_function_call_vec): Use unused variable loc.

Comments

Andrew Sutton Oct. 23, 2013, 12:36 p.m. UTC | #1
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
>
Ed Smith-Rowland Oct. 24, 2013, 12:05 a.m. UTC | #2
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
Andrew Sutton Oct. 24, 2013, 1:47 p.m. UTC | #3
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
>
diff mbox

Patch

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;
             }
         }