| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 147678
|
| |
|
|
| |
llvm-svn: 147677
|
| |
|
|
| |
llvm-svn: 147672
|
| |
|
|
| |
llvm-svn: 147670
|
| |
|
|
|
|
| |
"double" rounding.
llvm-svn: 147669
|
| |
|
|
|
|
|
| |
properties of c++ object types with non-trivial
assignment copy. Not used yet. // rdar://6137845
llvm-svn: 147666
|
| |
|
|
| |
llvm-svn: 147664
|
| |
|
|
| |
llvm-svn: 147663
|
| |
|
|
|
|
|
|
|
|
| |
include stack to find the first file that is known to be part of the
module. This copes with situations where the module map doesn't
completely specify all of the headers that are involved in the module,
which can come up when there are very strange #include_next chains
(e.g., with weird compiler/stdlib headers like stdarg.h or float.h).
llvm-svn: 147662
|
| |
|
|
|
|
| |
As Matt pointed out, this should be just a link to 'ccc-analyzer'.
llvm-svn: 147661
|
| |
|
|
|
|
|
|
| |
into the two unused lower bits of the NextDeclInContext link, dropping
the number of bits in Decl down to 32, and saving 8 bytes per
declaration on x86-64.
llvm-svn: 147660
|
| |
|
|
|
|
|
| |
pointer-arithmetic-related undefined behavior and unspecified results. We
continue to fold such values, but now notice they aren't constant expressions.
llvm-svn: 147659
|
| |
|
|
|
|
|
|
|
|
| |
is hidden from name lookup. The previous hack of tweaking the
ModulePrivate bit when loading a declaration from a hidden submodule
was brittle.
Note that we now have 34 bits in Decl. I'll fix that next.
llvm-svn: 147658
|
| |
|
|
|
|
| |
David Fang and Takumi Nakamura. Fixes many PCH failures on PowerPC.
llvm-svn: 147657
|
| |
|
|
|
|
|
|
| |
builtins.
This fixes PR11711.
llvm-svn: 147655
|
| |
|
|
|
|
| |
dependent case. Thanks to Jason Merrill for pointing this out.
llvm-svn: 147653
|
| |
|
|
|
|
|
| |
call is elidable or if the constructor is trivial instead of checking if it
is user declared.
llvm-svn: 147652
|
| |
|
|
|
|
| |
lambda parameters work correctly, recording more information into the AST.
llvm-svn: 147650
|
| |
|
|
|
|
|
|
| |
int f();
in function scopes under -Wvexing-parse, so now we do.
llvm-svn: 147649
|
| |
|
|
|
|
| |
This fixes a regression from r147643.
llvm-svn: 147648
|
| |
|
|
|
|
| |
compiler option.
llvm-svn: 147645
|
| |
|
|
|
|
| |
compiler.
llvm-svn: 147644
|
| |
|
|
|
|
|
| |
Otherwise, the analyzer will try to analyze the serialized diagnostic
file as if it were a source file.
llvm-svn: 147643
|
| |
|
|
|
|
|
| |
the Semantic Powers to only warn on class types (or dependent types), where the
constructor or destructor could do something interesting.
llvm-svn: 147642
|
| |
|
|
| |
llvm-svn: 147641
|
| |
|
|
|
|
|
|
| |
for copying atomic properties of c++ objects
with non-trivial copy assignment in setters/getters.
Not yet used. // rdar://6137845
llvm-svn: 147636
|
| |
|
|
| |
llvm-svn: 147635
|
| |
|
|
|
|
| |
address-of-label differences).
llvm-svn: 147631
|
| |
|
|
|
|
| |
some code in Clang expects 8-byte alignment of declarations.
llvm-svn: 147626
|
| |
|
|
|
|
| |
'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'.
llvm-svn: 147622
|
| |
|
|
|
|
| |
initialization, not default initialization. Fixes PR11712.
llvm-svn: 147620
|
| |
|
|
|
|
|
| |
each deserialized declaration, since that information is already
available in each declaration.
llvm-svn: 147619
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
storage for the global declaration ID. Declarations that are parsed
(rather than deserialized) are unaffected, so the number of
declarations that pay this cost tends to be relatively small (since
relatively few declarations are ever deserialized).
This replaces a largish DenseMap within the AST reader. It's not
strictly a win in terms of memory use---not every declaration was
added to that DenseMap in the first place---but it's cleaner to have
this information available for every deserialized declaration, so that
future clients can rely on it.
llvm-svn: 147617
|
| |
|
|
|
|
|
| |
go through a central allocation routine
Decl::AllocateDeserializedDecl(). No actual functionality change (yet).
llvm-svn: 147614
|
| |
|
|
|
|
|
|
| |
the AST file,
as suggested by Tom Honermann.
llvm-svn: 147612
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scope, when no other indication is provided that the user intended to declare a
function rather than a variable.
Remove some false positives from the existing 'parentheses disambiguated as a
function' warning by suppressing it when the declaration is marked as 'typedef'
or 'extern'.
Add a new warning group -Wvexing-parse containing both of these warnings.
The new warning is enabled by default; despite a number of false positives (and
one bug) in clang's test-suite, I have only found genuine bugs with it when
running it over a significant quantity of real C++ code.
llvm-svn: 147599
|
| |
|
|
|
|
| |
pieces to build the lambda class and its call operator. Create an actual scope for the lambda body.
llvm-svn: 147595
|
| |
|
|
|
|
| |
rdar://10630328
llvm-svn: 147591
|
| |
|
|
| |
llvm-svn: 147589
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to see hidden declarations because every tag lookup is effectively a
redeclaration lookup. For example, image that
struct foo;
is declared in a submodule that is known but hasn't been imported. If
someone later writes
struct foo *foo_p;
then "struct foo" is either a reference or a redeclaration. To keep
the redeclaration chains sound, we treat it like a redeclaration for
name-lookup purposes.
llvm-svn: 147588
|
| |
|
|
| |
llvm-svn: 147582
|
| |
|
|
|
|
|
|
| |
SourceManager::getFileEntryForSLocEntry()
to make sure we do not crash. rdar://10594186
llvm-svn: 147576
|
| |
|
|
| |
llvm-svn: 147575
|
| |
|
|
|
|
| |
from a module file, don't bother parsing a new definition
llvm-svn: 147574
|
| |
|
|
|
|
|
|
| |
c++ object reference type with trivial copy constructor.
This causes an assert crash and bad code gen. when assert
is off. // rdar://6137845
llvm-svn: 147573
|
| |
|
|
|
|
|
| |
umbrella directory, skip includes for any headers that are part of an
unavailable module.
llvm-svn: 147572
|
| |
|
|
| |
llvm-svn: 147570
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as a result of a call.
Problem:
Global variables, which come in from system libraries should not be
invalidated by all calls. Also, non-system globals should not be
invalidated by system calls.
Solution:
The following solution to invalidation of globals seems flexible enough
for taint (does not invalidate stdin) and should not lead to too
many false positives. We split globals into 3 classes:
* immutable - values are preserved by calls (unless the specific
global is passed in as a parameter):
A : Most system globals and const scalars
* invalidated by functions defined in system headers:
B: errno
* invalidated by all other functions (note, these functions may in
turn contain system calls):
B: errno
C: all other globals (which are not in A nor B)
llvm-svn: 147569
|
| |
|
|
| |
llvm-svn: 147568
|
| |
|
|
|
|
| |
'objc_disable_automatic_synthesis'.
llvm-svn: 147567
|