| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
types. Patch from Dmitri Rubinstein!
llvm-svn: 145776
|
| |
|
|
|
|
|
| |
a class is marked 'final', from Alberto Ganesh Barbati! Fixes
PR11462.
llvm-svn: 145775
|
| |
|
|
|
|
|
| |
inferred from return types. All the return statements have to agree about the type.
// rdar://10466373
llvm-svn: 145774
|
| |
|
|
|
|
|
|
|
|
| |
function dependent context because it interferes with the "lookup into dependent bases of class templates" feature.
Basically typo correction will try to offer a correction instead of looking into type dependent base classes.
I found this problem while parsing Microsoft ATL code with clang.
llvm-svn: 145772
|
| |
|
|
|
|
| |
initializer lists.
llvm-svn: 145769
|
| |
|
|
|
|
| |
change.)
llvm-svn: 145753
|
| |
|
|
|
|
|
|
|
|
| |
when deserialized, fixing random crashes in libclang.
Also simplifies how OpaqueValueExprs are [de]serialized.
The reader/writer automatically retains pointer equality of sub-statements (when a
statement node is referenced in multiple nodes), so no need to manually handle it.
llvm-svn: 145752
|
| |
|
|
|
|
| |
few places over to it.
llvm-svn: 145747
|
| |
|
|
|
|
| |
review comment.
llvm-svn: 145741
|
| |
|
|
|
|
| |
modules they import, since that information isn't actually used. Drop it from the AST file
llvm-svn: 145738
|
| |
|
|
|
|
|
|
| |
"main" files that import modules. When loading any of these kinds of
AST files, we make the modules that were imported visible into the
translation unit that loaded the PCH file or preamble.
llvm-svn: 145737
|
| |
|
|
|
|
| |
I'll be introducing uses of the specified alignment soon.
llvm-svn: 145736
|
| |
|
|
|
|
|
| |
implicitly generated in a translation unit. Modules will need this
information to identify the actual imports that occurred.
llvm-svn: 145734
|
| |
|
|
|
|
|
| |
implicit ImportDecl in the translation unit to record the presence of
the import.
llvm-svn: 145727
|
| |
|
|
|
|
|
|
| |
__import_module__ std.vector;
in the AST.
llvm-svn: 145725
|
| |
|
|
|
|
| |
lib/Analysis to lib/Sema which is cyclical.
llvm-svn: 145724
|
| |
|
|
| |
llvm-svn: 145715
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
precompiled header. Previously, we were trying to gather predefines
buffers from all kinds of AST files (which doesn't make sense) and
were performing some validation when AST files were loaded as main
files.
With these tweaks, using PCH files that import modules no longer fails
immediately (due to mismatched predefines buffers). However, module
visibility is lost, so this feature does not yet work.
llvm-svn: 145709
|
| |
|
|
|
|
| |
Use the canonical type of the typedef to compare with the underlying type.
llvm-svn: 145702
|
| |
|
|
| |
llvm-svn: 145700
|
| |
|
|
|
|
|
|
| |
For example, the warning for printf("%zu", 42.0);
changes from "conversion specifies type 'unsigned long'" to "conversion
specifies type 'size_t' (aka 'unsigned long')"
llvm-svn: 145697
|
| |
|
|
|
|
|
| |
visible, allowing one to create modules that import (and then
re-export) other modules.
llvm-svn: 145696
|
| |
|
|
|
|
| |
module map.
llvm-svn: 145695
|
| |
|
|
|
|
|
| |
(sub)module is read from an AST file. This makes sure that the AST
writer knows how to map all modules to their global IDs.
llvm-svn: 145685
|
| |
|
|
|
|
|
|
| |
only the macro definitions from visible (sub)modules will actually be
visible. This provides the same behavior for macros that r145640
provided for declarations.
llvm-svn: 145683
|
| |
|
|
|
|
| |
<rdar://problem/10494810> and PR9560.
llvm-svn: 145673
|
| |
|
|
|
|
|
|
|
| |
and update the Sema testcase with a register that we won't hit for a while
I hope.
Fixes rdar://10510405
llvm-svn: 145671
|
| |
|
|
|
|
|
|
| |
within module maps, which will (eventually) be used to re-export a
module from another module. There are still some pieces missing,
however.
llvm-svn: 145665
|
| |
|
|
|
|
| |
that isn't accepted by 'asm', skip to the enclosing ')'.
llvm-svn: 145662
|
| |
|
|
|
|
| |
<rdar://problem/10465079>.
llvm-svn: 145656
|
| |
|
|
|
|
|
|
|
|
|
|
| |
mutable member and a constant initializer. We'd previously promoted such
variables to global constants, resulting in nasal demons if the mutable member
was modified.
This is only a temporary fix. The subtle interplay between isConstantInitializer
and CGExprConstant is very bug-prone; there are some other issues in this area
which I will be addressing in subsequent, more major reworking of this code.
llvm-svn: 145654
|
| |
|
|
|
|
| |
use byval so we're sure the backend does the right thing. Fixes va_arg with illegal vectors and an obscure ABI mismatch with __m64 vectors.
llvm-svn: 145652
|
| |
|
|
| |
llvm-svn: 145651
|
| |
|
|
|
|
| |
module. When that module becomes visible, so do those declarations.
llvm-svn: 145640
|
| |
|
|
|
|
| |
old dispatch mechanism when I introduced the new one.
llvm-svn: 145609
|
| |
|
|
| |
llvm-svn: 145606
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(sub)module, all of the names may be hidden, just the macro names may
be exposed (for example, after the preprocessor has seen the import of
the module but the parser has not), or all of the names may be
exposed. Importing a module makes its names, and the names in any of
its non-explicit submodules, visible to name lookup (transitively).
This commit only introduces the notion of name visible and marks
modules and submodules as visible when they are imported. The actual
name-hiding logic in the AST reader will follow (along with test cases).
llvm-svn: 145586
|
| |
|
|
|
|
| |
We trigger an error if free is called after a possibly failed allocation. Do not trigger the error if we know that the buffer is not null.
llvm-svn: 145584
|
| |
|
|
|
|
| |
typo-correct to ourselves.
llvm-svn: 145583
|
| |
|
|
| |
llvm-svn: 145581
|
| |
|
|
|
|
|
|
| |
and name.
We are getting name of the called function or it's declaration in a few checkers. Refactor them to use the helper function in the CheckerContext.
llvm-svn: 145576
|
| |
|
|
|
|
| |
non-null. Fixes <rdar://problem/10508787>.
llvm-svn: 145575
|
| |
|
|
|
|
| |
the arguments is an AVX vector.
llvm-svn: 145574
|
| |
|
|
|
|
|
| |
of that declaration, and encode the submodule ID in each declaration
stored in an AST file.
llvm-svn: 145555
|
| |
|
|
|
|
|
| |
force the unknown any type to "id" so that the message send can be
completed without requiring a case. Fixes <rdar://problem/10506646>.
llvm-svn: 145552
|
| |
|
|
|
|
|
|
| |
in type signatures have external linkage.
Fixes rdar://10058317.
llvm-svn: 145551
|
| |
|
|
|
|
|
|
| |
a standard global/local scheme, so that submodule definitions will
eventually be able to refer to submodules in other top-level
modules. We'll need this functionality soonish.
llvm-svn: 145549
|
| |
|
|
|
|
|
|
| |
retain-cycle checking in -Warc-retain-cycles. This commonly
is hit by users using NSOperationQueue. Fixes <rdar://problem/10465721>.
llvm-svn: 145548
|
| |
|
|
|
|
|
|
|
| |
explicit template specializations (which represent actual functions somebody wrote).
Along the way, refactor some other code which similarly cares about whether or
not they are looking at a template instantiation.
llvm-svn: 145547
|
| |
|
|
| |
llvm-svn: 145544
|