[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-commits
Subject:    Re: [PATCH] D10599: [OPENMP 4.0] Initial support for '#pragma omp declare simd' directive.
From:       "Bataev, Alexey" <a.bataev () hotmail ! com>
Date:       2015-08-03 4:24:01
Message-ID: BLU436-SMTP219029EE8BEB73402B044A285770 () phx ! gbl
[Download RAW message or body]

Ok,
I'll remove it for now and rework it later when it will be required.

Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team

01.08.2015 0:07, Richard Smith пишет:
> rsmith added inline comments.
> 
> ================
> Comment at: lib/Parse/ParseOpenMP.cpp:171-177
> @@ +170,9 @@
> +
> +    // Append the current token at the end of the new token stream so that it
> +    // doesn't get lost.
> +    CachedPragmas.push_back(Tok);
> +    // Push back tokens for pragma.
> +    PP.EnterTokenStream(CachedPragmas.data(), CachedPragmas.size(),
> +                        /*DisableMacroExpansion=*/true,
> +                        /*OwnsTokens=*/false);
> +    // Parse pragma itself.
> ----------------
> ABataev wrote:
> > rsmith wrote:
> > > Why are you doing this delayed parsing? You still seem to have no tests that \
> > > require it.
> > We need it for future parsing of clauses associated with the 'declare simd' \
> > construct. Some of the clauses may have references to function arguments. That's \
> > why I'm using delayed parsing: at first we need to parse a function along with \
> > arguments and only then we'll parse all the pragmas along with their clauses and \
> > references to args. Of course currently it is not used, because this patch does \
> > not introduce parsing of clauses. It will be added later.
> This code won't work for that; you've left the scope of the function parameters, so \
> lookup for them will fail here. Generally-speaking, we don't like speculative / \
> untested code to be committed, and would prefer to hold back on those changes until \
> we can actually test them in some way. 
> Here's what I suggest: remove the delayed parsing code from here for this commit \
> (parse the pragma first, then parse the nested declaration, then act on the \
> result), and bring that code back once you introduce parsing for a clause that \
> needs it, if indeed that's the right approach for those clauses. (As I mentioned \
> before, if all they do is to provide a list of identifiers naming parameters, you \
> don't need delay parsing and can instead store them as identifiers and look them up \
> in Sema after the fact. On the other hand, if this pragma allows an arbitrary \
> expression referencing a parameter to appear before the declaration of that \
> parameter, then we'll need something like delayed parsing.) 
> 
> http://reviews.llvm.org/D10599
> 
> 
> 


_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic