<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/OpenMP/for_loop_messages.cpp, branch users/mingmingl-llvm/samplefdo-profile-format</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[Clang] [C2y] Implement N3355 ‘Named Loops’ (#152870)</title>
<updated>2025-09-02T16:37:19+00:00</updated>
<author>
<name>Sirraide</name>
<email>aeternalmail@gmail.com</email>
</author>
<published>2025-09-02T16:37:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e4a1b5f36e71c8c382bdd531867c5f6eb3f7deac'/>
<id>e4a1b5f36e71c8c382bdd531867c5f6eb3f7deac</id>
<content type='text'>
This implements support for [named
loops](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3355.htm) for
C2y. 

When parsing a `LabelStmt`, we create the `LabeDecl` early before we parse 
the substatement; this label is then passed down to `ParseWhileStatement()` 
and friends, which then store it in the loop’s (or switch statement’s) `Scope`; 
when we encounter a `break/continue` statement, we perform a lookup for 
the label (and error if it doesn’t exist), and then walk the scope stack and 
check if there is a scope whose preceding label is the target label, which 
identifies the jump target.

The feature is only supported in C2y mode, though a cc1-only option
exists for testing (`-fnamed-loops`), which is mostly intended to try
and make sure that we don’t have to refactor this entire implementation
when/if we start supporting it in C++.

---------

Co-authored-by: Balazs Benics &lt;benicsbalazs@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This implements support for [named
loops](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3355.htm) for
C2y. 

When parsing a `LabelStmt`, we create the `LabeDecl` early before we parse 
the substatement; this label is then passed down to `ParseWhileStatement()` 
and friends, which then store it in the loop’s (or switch statement’s) `Scope`; 
when we encounter a `break/continue` statement, we perform a lookup for 
the label (and error if it doesn’t exist), and then walk the scope stack and 
check if there is a scope whose preceding label is the target label, which 
identifies the jump target.

The feature is only supported in C2y mode, though a cc1-only option
exists for testing (`-fnamed-loops`), which is mostly intended to try
and make sure that we don’t have to refactor this entire implementation
when/if we start supporting it in C++.

---------

Co-authored-by: Balazs Benics &lt;benicsbalazs@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Fix iterations calculation for dependent counters.</title>
<updated>2021-02-02T18:09:37+00:00</updated>
<author>
<name>Mike Rice</name>
<email>michael.p.rice@intel.com</email>
</author>
<published>2021-02-02T04:17:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ca98c15f23354520bf689bd5feb333a716159d2c'/>
<id>ca98c15f23354520bf689bd5feb333a716159d2c</id>
<content type='text'>
The number of iterations calculation was failing in some cases with more
than two collpased loops. Now the LoopIterationSpace selected matches
InitDependOnLC and CondDependOnLC.

Differential Revision: https://reviews.llvm.org/D95834
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The number of iterations calculation was failing in some cases with more
than two collpased loops. Now the LoopIterationSpace selected matches
InitDependOnLC and CondDependOnLC.

Differential Revision: https://reviews.llvm.org/D95834
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Ensure testing for versions 4.5 and default - Part 3</title>
<updated>2020-08-27T19:37:04+00:00</updated>
<author>
<name>Saiyedul Islam</name>
<email>Saiyedul.Islam@amd.com</email>
</author>
<published>2020-08-27T19:35:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ff260ad0e014516fbebb4b9f7bcd5e085ac37661'/>
<id>ff260ad0e014516fbebb4b9f7bcd5e085ac37661</id>
<content type='text'>
This third patch in the series removes version 5.0 string from
test cases making them check for default version. It also add test
cases for version 4.5.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D85214
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This third patch in the series removes version 5.0 string from
test cases making them check for default version. It also add test
cases for version 4.5.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D85214
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Upgrade default version of OpenMP to 5.0</title>
<updated>2020-06-25T07:13:05+00:00</updated>
<author>
<name>Saiyedul Islam</name>
<email>Saiyedul.Islam@amd.com</email>
</author>
<published>2020-06-25T07:01:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2bfce22a924aba3fdc3d83394b72810f52907253'/>
<id>2bfce22a924aba3fdc3d83394b72810f52907253</id>
<content type='text'>
Summary:
When -fopenmp option is specified then version 5.0 will be set as
default.

Reviewers: gregrodgers, jdoerfert, ABataev

Reviewed By: ABataev

Subscribers: pdhaliwal, yaxunl, guansong, sstefan1, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81098
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
When -fopenmp option is specified then version 5.0 will be set as
default.

Reviewers: gregrodgers, jdoerfert, ABataev

Reviewed By: ABataev

Subscribers: pdhaliwal, yaxunl, guansong, sstefan1, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81098
</pre>
</div>
</content>
</entry>
<entry>
<title>[Sema] Diagnose more cases of static data members in local or unnamed classes</title>
<updated>2020-05-26T12:29:59+00:00</updated>
<author>
<name>John Brawn</name>
<email>john.brawn@arm.com</email>
</author>
<published>2020-05-26T10:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6c906f7785dad3a1dea5357cfde0762952c2a2bd'/>
<id>6c906f7785dad3a1dea5357cfde0762952c2a2bd</id>
<content type='text'>
We currently diagnose static data members directly contained in unnamed classes,
but we should also diagnose when they're in a class that is nested (directly or
indirectly) in an unnamed class. Do this by iterating up the list of parent
DeclContexts and checking if any is an unnamed class.

Similarly also check for function or method DeclContexts (which includes things
like blocks and openmp captured statements) as then the class is considered to
be a local class, which means static data members aren't allowed.

Differential Revision: https://reviews.llvm.org/D80295
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We currently diagnose static data members directly contained in unnamed classes,
but we should also diagnose when they're in a class that is nested (directly or
indirectly) in an unnamed class. Do this by iterating up the list of parent
DeclContexts and checking if any is an unnamed class.

Similarly also check for function or method DeclContexts (which includes things
like blocks and openmp captured statements) as then the class is considered to
be a local class, which means static data members aren't allowed.

Differential Revision: https://reviews.llvm.org/D80295
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP50]Treat range-based for as canonical loop.</title>
<updated>2019-10-07T18:54:57+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-10-07T18:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bef93a98cd26012049b8e64bf27134885fcf9550'/>
<id>bef93a98cd26012049b8e64bf27134885fcf9550</id>
<content type='text'>
According to OpenMP 5.0, range-based for is also considered as a
canonical form of loops.

llvm-svn: 373939
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to OpenMP 5.0, range-based for is also considered as a
canonical form of loops.

llvm-svn: 373939
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP] Update the diagnosis message for canonical loop form, by Chi</title>
<updated>2019-09-11T15:44:06+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-09-11T15:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1be634044ddb1286e3f1759adf62c0755c3552bd'/>
<id>1be634044ddb1286e3f1759adf62c0755c3552bd</id>
<content type='text'>
Chun Chen.

The previous patch (https://reviews.llvm.org/D54441) support the
relational-op != very well for openmp canonical loop form, however,
it didn't update the diagnosis message. So this patch is simply
update the diagnosis message by adding !=, update the test
related to it, and update the section number for canonical loop
form for OpenMP 5.0 in comment.

Differential Revision: https://reviews.llvm.org/D66559

llvm-svn: 371631
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Chun Chen.

The previous patch (https://reviews.llvm.org/D54441) support the
relational-op != very well for openmp canonical loop form, however,
it didn't update the diagnosis message. So this patch is simply
update the diagnosis message by adding !=, update the test
related to it, and update the section number for canonical loop
form for OpenMP 5.0 in comment.

Differential Revision: https://reviews.llvm.org/D66559

llvm-svn: 371631
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Support for non-rectangular loops.</title>
<updated>2019-08-14T19:30:06+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-08-14T19:30:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f8be476f0cde4983040cd281950adc64e70b34fd'/>
<id>f8be476f0cde4983040cd281950adc64e70b34fd</id>
<content type='text'>
Added basic support for non-rectangular loops. It requires an additional
analysis of min/max boundaries for non-rectangular loops. Since only
linear dependency is allowed, we can do this analysis.

llvm-svn: 368903
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added basic support for non-rectangular loops. It requires an additional
analysis of min/max boundaries for non-rectangular loops. Since only
linear dependency is allowed, we can do this analysis.

llvm-svn: 368903
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Fix crash in LoopCounterRefChecker when MemberExpr is not Var or Field</title>
<updated>2019-07-17T15:18:45+00:00</updated>
<author>
<name>Mike Rice</name>
<email>michael.p.rice@intel.com</email>
</author>
<published>2019-07-17T15:18:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=552c2c09d354a3ad9c1c9647e0a3bb5099c31088'/>
<id>552c2c09d354a3ad9c1c9647e0a3bb5099c31088</id>
<content type='text'>
checkDecl is only valid for VarDecls or FieldDecls, since getCanonicalDecl
expects only these. Prevent other Decl kinds (such as CXXMethodDecls and
EnumConstantDecls) from entering and asserting.

Differential Revision: https://reviews.llvm.org/D64842

llvm-svn: 366336
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
checkDecl is only valid for VarDecls or FieldDecls, since getCanonicalDecl
expects only these. Prevent other Decl kinds (such as CXXMethodDecls and
EnumConstantDecls) from entering and asserting.

Differential Revision: https://reviews.llvm.org/D64842

llvm-svn: 366336
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Add -Wunintialized to the erroneous tests for future fix PR42392,</title>
<updated>2019-07-08T15:45:24+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-07-08T15:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a914888b49590a38f4571434ddf951c687889e56'/>
<id>a914888b49590a38f4571434ddf951c687889e56</id>
<content type='text'>
NFC.

llvm-svn: 365334
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
NFC.

llvm-svn: 365334
</pre>
</div>
</content>
</entry>
</feed>
