<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/test/SemaObjC/Inputs, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-09-07T00:34:47+00:00</updated>
<entry>
<title>[Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership</title>
<updated>2019-09-07T00:34:47+00:00</updated>
<author>
<name>Akira Hatanaka</name>
<email>ahatanaka@apple.com</email>
</author>
<published>2019-09-07T00:34:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3f2c9917a4310a2835ffcc5a7be6226d0d218682'/>
<id>urn:sha1:3f2c9917a4310a2835ffcc5a7be6226d0d218682</id>
<content type='text'>
qualifications as unavailable if the union is declared in a system
header

r365985 stopped marking those fields as unavailable, which caused the
union's NonTrivialToPrimitive* bits to be set to true. This patch
restores the behavior prior to r365985, except that users can explicitly
specify the ownership qualification of the field to instruct the
compiler not to mark it as unavailable.

rdar://problem/53420753

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

llvm-svn: 371276
</content>
</entry>
<entry>
<title>PR35815: Separate out the ns-consumed diagnostic into an error and</title>
<updated>2018-01-03T23:52:42+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2018-01-03T23:52:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=26d282fc5f37bef3623d88c14560063b5d68bf7c'/>
<id>urn:sha1:26d282fc5f37bef3623d88c14560063b5d68bf7c</id>
<content type='text'>
a warning

This commit separates out the warn_nsconsumed_attribute_mismatch and
warn_nsreturns_retained_attribute_mismatch diagnostic into a warning and error.
This is needed to avoid a module import regression introduced by r313717 that
turned these errors into warnings and started promoting them only when needed,
which caused an error when importing a module as it had different warning
settings.

rdar://36265651

llvm-svn: 321775
</content>
</entry>
<entry>
<title>Recommit r308327 3rd time: Add a warning for missing</title>
<updated>2017-07-28T14:41:21+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2017-07-28T14:41:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=45b40147117668ce65bff4f6a240bdae4ad4bf7d'/>
<id>urn:sha1:45b40147117668ce65bff4f6a240bdae4ad4bf7d</id>
<content type='text'>
'#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files

The second recommit (r309106) was reverted because the "non-default #pragma
pack value chages the alignment of struct or union members in the included file"
warning proved to be too aggressive for external projects like Chromium
(https://bugs.chromium.org/p/chromium/issues/detail?id=749197). This recommit
makes the problematic warning a non-default one, and gives it the
-Wpragma-pack-suspicious-include warning option.

The first recommit (r308441) caused a "non-default #pragma pack value might
change the alignment of struct or union members in the included file" warning
in LLVM itself. This recommit tweaks the added warning to avoid warnings for
#includes that don't have any records that are affected by the non-default
alignment. This tweak avoids the previously emitted warning in LLVM.

Original message:

This commit adds a new -Wpragma-pack warning. It warns in the following cases:

- When a translation unit is missing terminating #pragma pack (pop) directives.
- When entering an included file if the current alignment value as determined
  by '#pragma pack' directives is different from the default alignment value.
- When leaving an included file that changed the state of the current alignment
  value.

rdar://10184173

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

llvm-svn: 309386
</content>
</entry>
<entry>
<title>Revert r309106 "Recommit r308327 2nd time: Add a warning for missing"</title>
<updated>2017-07-26T21:29:24+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2017-07-26T21:29:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b4ece98a3493c67f5a4959c0c7143b82fad13906'/>
<id>urn:sha1:b4ece98a3493c67f5a4959c0c7143b82fad13906</id>
<content type='text'>
The warning fires on non-suspicious code in Chromium. Reverting until a
solution is figured out.

&gt; Recommit r308327 2nd time: Add a warning for missing
&gt; '#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files
&gt;
&gt; The first recommit (r308441) caused a "non-default #pragma pack value might
&gt; change the alignment of struct or union members in the included file" warning
&gt; in LLVM itself. This recommit tweaks the added warning to avoid warnings for
&gt; #includes that don't have any records that are affected by the non-default
&gt; alignment. This tweak avoids the previously emitted warning in LLVM.
&gt;
&gt; Original message:
&gt;
&gt; This commit adds a new -Wpragma-pack warning. It warns in the following cases:
&gt;
&gt; - When a translation unit is missing terminating #pragma pack (pop) directives.
&gt; - When entering an included file if the current alignment value as determined
&gt;   by '#pragma pack' directives is different from the default alignment value.
&gt; - When leaving an included file that changed the state of the current alignment
&gt;   value.
&gt;
&gt; rdar://10184173
&gt;
&gt; Differential Revision: https://reviews.llvm.org/D35484

llvm-svn: 309186
</content>
</entry>
<entry>
<title>Recommit r308327 2nd time: Add a warning for missing</title>
<updated>2017-07-26T12:20:57+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2017-07-26T12:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5d48424a30960cce0b5b178a284eedab1c16c79c'/>
<id>urn:sha1:5d48424a30960cce0b5b178a284eedab1c16c79c</id>
<content type='text'>
'#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files

The first recommit (r308441) caused a "non-default #pragma pack value might
change the alignment of struct or union members in the included file" warning
in LLVM itself. This recommit tweaks the added warning to avoid warnings for
#includes that don't have any records that are affected by the non-default
alignment. This tweak avoids the previously emitted warning in LLVM.

Original message:

This commit adds a new -Wpragma-pack warning. It warns in the following cases:

- When a translation unit is missing terminating #pragma pack (pop) directives.
- When entering an included file if the current alignment value as determined
  by '#pragma pack' directives is different from the default alignment value.
- When leaving an included file that changed the state of the current alignment
  value.

rdar://10184173

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

llvm-svn: 309106
</content>
</entry>
<entry>
<title>Revert r308441 "Recommit r308327: Add a warning for missing '#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files"</title>
<updated>2017-07-19T12:31:01+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2017-07-19T12:31:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f365d423a078c6902e14b64ecece25e21c512f37'/>
<id>urn:sha1:f365d423a078c6902e14b64ecece25e21c512f37</id>
<content type='text'>
This seems to have broken the sanitizer-x86_64-linux buildbot. Reverting until
it's fixed, especially since this landed just before the 5.0 branch.

&gt; This commit adds a new -Wpragma-pack warning. It warns in the following cases:
&gt;
&gt; - When a translation unit is missing terminating #pragma pack (pop) directives.
&gt; - When entering an included file if the current alignment value as determined
&gt;   by '#pragma pack' directives is different from the default alignment value.
&gt; - When leaving an included file that changed the state of the current alignment
&gt;   value.
&gt;
&gt; rdar://10184173
&gt;
&gt; Differential Revision: https://reviews.llvm.org/D35484

llvm-svn: 308455
</content>
</entry>
<entry>
<title>Recommit r308327: Add a warning for missing '#pragma pack (pop)'</title>
<updated>2017-07-19T11:30:41+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2017-07-19T11:30:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=287f684c18b74faebd913cc9d11eb3e0feab5198'/>
<id>urn:sha1:287f684c18b74faebd913cc9d11eb3e0feab5198</id>
<content type='text'>
and suspicious uses of '#pragma pack' in included files

This commit adds a new -Wpragma-pack warning. It warns in the following cases:

- When a translation unit is missing terminating #pragma pack (pop) directives.
- When entering an included file if the current alignment value as determined
  by '#pragma pack' directives is different from the default alignment value.
- When leaving an included file that changed the state of the current alignment
  value.

rdar://10184173

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

llvm-svn: 308441
</content>
</entry>
<entry>
<title>Revert r308327</title>
<updated>2017-07-18T17:36:42+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2017-07-18T17:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=aa619221577f57c554c6d0d6523bdf73f38d4200'/>
<id>urn:sha1:aa619221577f57c554c6d0d6523bdf73f38d4200</id>
<content type='text'>
I forgot to test clang-tools-extra which is now failing.

llvm-svn: 308328
</content>
</entry>
<entry>
<title>Add a warning for missing '#pragma pack (pop)' and suspicious uses</title>
<updated>2017-07-18T17:23:51+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2017-07-18T17:23:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ad273341a452a77c4db012893a60427cf817c5bf'/>
<id>urn:sha1:ad273341a452a77c4db012893a60427cf817c5bf</id>
<content type='text'>
of '#pragma pack' in included files

This commit adds a new -Wpragma-pack warning. It warns in the following cases:

- When a translation unit is missing terminating #pragma pack (pop) directives.
- When entering an included file if the current alignment value as determined
  by '#pragma pack' directives is different from the default alignment value.
- When leaving an included file that changed the state of the current alignment
  value.

rdar://10184173

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

llvm-svn: 308327
</content>
</entry>
<entry>
<title>Add TreatUnavailableAsInvalid for the verification-only mode in InitListChecker.</title>
<updated>2016-03-10T18:53:19+00:00</updated>
<author>
<name>Manman Ren</name>
<email>manman.ren@gmail.com</email>
</author>
<published>2016-03-10T18:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=073db02476c0ef8a84934e32b328103a5e5e2ab5'/>
<id>urn:sha1:073db02476c0ef8a84934e32b328103a5e5e2ab5</id>
<content type='text'>
Given the following test case:
typedef struct {
  const char *name;
  id field;
} Test9;
extern void doSomething(Test9 arg);
void test9() {
  Test9 foo2 = {0, 0};
  doSomething(foo2);
}
With a release compiler, we don't emit any message and silently ignore the
variable "foo2". With an assert compiler, we get an assertion failure.

The root cause —————————————
Back in r140457 we gave InitListChecker a verification-only mode, and will use
CanUseDecl instead of DiagnoseUseOfDecl for verification-only mode.

These two functions handle unavailable issues differently:
In Sema::CanUseDecl, we say the decl is invalid when the Decl is unavailable and
the current context is available.

In Sema::DiagnoseUseOfDecl, we say the decl is usable by ignoring the return
code of DiagnoseAvailabilityOfDecl

So with an assert build, we will hit an assertion in diagnoseListInit
assert(DiagnoseInitList.HadError() &amp;&amp;
       "Inconsistent init list check result.");

The fix -------------------
If we follow what is implemented in CanUseDecl and treat Decls with
unavailable issues as invalid, the variable decl of “foo2” will be marked as
invalid. Since unavailable checking is processed in delayed diagnostics
(r197627), we will silently ignore the diagnostics when we find out that
the variable decl is invalid.

We add a flag "TreatUnavailableAsInvalid" for the verification-only mode.
For overload resolution, we want to say decls with unavailable issues are
invalid; but for everything else, we should say they are valid and
emit diagnostics. Depending on the value of the flag, CanUseDecl
can return different values for unavailable issues.

rdar://23557300
Differential Revision: http://reviews.llvm.org/D15314

llvm-svn: 263149
</content>
</entry>
</feed>
