<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/test/SemaObjC/scope-check.m, branch meklort-10.0.0</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.0</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.0'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2018-06-08T00:30:00+00:00</updated>
<entry>
<title>Reapply "[Parse] Use CapturedStmt for @finally on MSVC"</title>
<updated>2018-06-08T00:30:00+00:00</updated>
<author>
<name>Shoaib Meenai</name>
<email>smeenai@fb.com</email>
</author>
<published>2018-06-08T00:30:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5faf6d88e86f199eb6400dce554553fc647654dc'/>
<id>urn:sha1:5faf6d88e86f199eb6400dce554553fc647654dc</id>
<content type='text'>
This reapplies r334224 and adds explicit triples to some tests to fix
them on Windows (where otherwise they would have run with the default
windows-msvc triple, which I'm changing the behavior for).

Original commit message:
The body of a `@finally` needs to be executed on both exceptional and
non-exceptional paths. On landingpad platforms, this is straightforward:
the `@finally` body is emitted as a normal (non-exceptional) cleanup,
and then a catch-all is emitted which branches to that cleanup (the
cleanup has code to conditionally re-throw based on a flag which is set
by the catch-all).

Unfortunately, we can't use the same approach for MSVC exceptions, where
the catch-all will be emitted as a catchpad. We can't just branch to the
cleanup from within the catchpad, since we can only exit it via a
catchret, at which point the exception is destroyed and we can't
rethrow. We could potentially emit the finally body inside the catchpad
and have the normal cleanup path somehow branch into it, but that would
require some new IR construct that could branch into a catchpad.

Instead, after discussing it with Reid Kleckner, we decided that
frontend outlining was the best approach, similar to how SEH `__finally`
works today. We decided to use CapturedStmt (which was also suggested by
Reid) rather than CaptureFinder (which is what `__finally` uses) since
the latter doesn't handle a lot of cases we care about, e.g. self
accesses, property accesses, block captures, etc. Extending
CaptureFinder to handle those additional cases proved unwieldy, whereas
CapturedStmt already took care of all of those.  In theory `__finally`
could also be moved over to CapturedStmt, which would remove some
existing limitations (e.g. the inability to capture this), although
CaptureFinder would still be needed for SEH filters.

The one case supported by `@finally` but not CapturedStmt (or
CaptureFinder for that matter) is arbitrary control flow out of the
`@finally`, e.g. having a return statement inside a `@finally`. We can
add that support as a follow-up, but in practice we've found it to be
used very rarely anyway.

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

llvm-svn: 334251
</content>
</entry>
<entry>
<title>Reword switch/goto diagnostics "protected scope" diagnostics. Making up a term</title>
<updated>2014-09-06T00:24:58+00:00</updated>
<author>
<name>Richard Smith</name>
<email>richard-llvm@metafoo.co.uk</email>
</author>
<published>2014-09-06T00:24:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=091405d7e3ad525f744dfe0990718d6a6f201721'/>
<id>urn:sha1:091405d7e3ad525f744dfe0990718d6a6f201721</id>
<content type='text'>
"protected scope" is very unhelpful here and actively confuses users. Instead,
simply state the nature of the problem in the diagnostic: we cannot jump from
here to there. The notes explain nicely why not.

llvm-svn: 217293
</content>
</entry>
<entry>
<title>Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared.</title>
<updated>2012-04-06T18:12:22+00:00</updated>
<author>
<name>Patrick Beard</name>
<email>pcbeard@mac.com</email>
</author>
<published>2012-04-06T18:12:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=acfbe9e1f22886d82c503cd0c20dc0ef3bf9f12a'/>
<id>urn:sha1:acfbe9e1f22886d82c503cd0c20dc0ef3bf9f12a</id>
<content type='text'>
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger
the warning have been updated to use -Wno-objc-root-class. &lt;rdar://problem/7446698&gt;

llvm-svn: 154187
</content>
</entry>
<entry>
<title>Modify how the -verify flag works.  Currently, the verification string and</title>
<updated>2011-12-15T00:38:15+00:00</updated>
<author>
<name>Richard Trieu</name>
<email>rtrieu@google.com</email>
</author>
<published>2011-12-15T00:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=553b2b2e5dde2839618edbc7b60f6c0677774853'/>
<id>urn:sha1:553b2b2e5dde2839618edbc7b60f6c0677774853</id>
<content type='text'>
diagnostic message are compared.  If either is a substring of the other, then
no error is given.  This gives rise to an unexpected case:

  // expect-error{{candidate function has different number of parameters}}

will match the following error messages from Clang:

  candidate function has different number of parameters (expected 1 but has 2)
  candidate function has different number of parameters

It will also match these other error messages:

  candidate function
  function has different number of parameters
  number of parameters

This patch will change so that the verification string must be a substring of
the diagnostic message before accepting.  Also, all the failing tests from this
change have been corrected.  Some stats from this cleanup:

87 - removed extra spaces around verification strings
70 - wording updates to diagnostics
40 - extra leading or trailing characters (typos, unmatched parens or quotes)
35 - diagnostic level was included (error:, warning:, or note:)
18 - flag name put in the warning (-Wprotocol)

llvm-svn: 146619
</content>
</entry>
<entry>
<title>Make clang -cc1 disable Objective-C exceptions by default, and add a -fobjc-exceptions flag to turn them on.</title>
<updated>2011-02-22T01:52:06+00:00</updated>
<author>
<name>Anders Carlsson</name>
<email>andersca@mac.com</email>
</author>
<published>2011-02-22T01:52:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3320e1575fc905fd36ef9b575b0ed6094a4effcf'/>
<id>urn:sha1:3320e1575fc905fd36ef9b575b0ed6094a4effcf</id>
<content type='text'>
Update all tests accordingly.

llvm-svn: 126177
</content>
</entry>
<entry>
<title>Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.</title>
<updated>2009-12-15T20:14:24+00:00</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2009-12-15T20:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8fbe78f6fc7b41d1a4228c126fcb522131150518'/>
<id>urn:sha1:8fbe78f6fc7b41d1a4228c126fcb522131150518</id>
<content type='text'>
 - This is designed to make it obvious that %clang_cc1 is a "test variable"
   which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
   can be useful to redefine what gets run as 'clang -cc1' (for example, to set
   a default target).

llvm-svn: 91446
</content>
</entry>
<entry>
<title>Change tests to use clang -cc1...</title>
<updated>2009-12-14T17:36:25+00:00</updated>
<author>
<name>Fariborz Jahanian</name>
<email>fjahanian@apple.com</email>
</author>
<published>2009-12-14T17:36:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0399c1c9c064f2380e9e470208f17885cd1ac3e2'/>
<id>urn:sha1:0399c1c9c064f2380e9e470208f17885cd1ac3e2</id>
<content type='text'>
llvm-svn: 91297
</content>
</entry>
<entry>
<title>add support for goto checking and @synchronized blocks,</title>
<updated>2009-04-21T06:01:00+00:00</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-04-21T06:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c70dd56477016528c5f49b8618644bf8a6845f89'/>
<id>urn:sha1:c70dd56477016528c5f49b8618644bf8a6845f89</id>
<content type='text'>
rdar://6810106

llvm-svn: 69667
</content>
</entry>
<entry>
<title>test that vlas are checked in an objc method context.</title>
<updated>2009-04-19T05:20:37+00:00</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-04-19T05:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c5f4ab63728b14d26a80dd93c691bbc56977ea89'/>
<id>urn:sha1:c5f4ab63728b14d26a80dd93c691bbc56977ea89</id>
<content type='text'>
llvm-svn: 69508
</content>
</entry>
<entry>
<title>the scope checker does work with objc methods, add testcase.</title>
<updated>2009-04-18T22:37:38+00:00</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-04-18T22:37:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=508253d64bff0627b0a6fba872eaea6acb4c1647'/>
<id>urn:sha1:508253d64bff0627b0a6fba872eaea6acb4c1647</id>
<content type='text'>
llvm-svn: 69487
</content>
</entry>
</feed>
