| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
we don't need to use the DoneEvaluation hack when check for
ObjCMessageExpr.
PreVisitObjCMessageExpr() only checks for undefined receiver or arguments.
Add checker interface EvalNilReceiver(). This is a 'once-and-done' interface.
llvm-svn: 90296
|
| |
|
|
|
|
| |
ContentCache
llvm-svn: 90294
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
there's nothing interesting we can say now that we're correctly not requiring
the qualifier to name a known base class in dependent contexts.
Require scope specifiers on member access expressions to name complete types
if they're not dependent; delay lookup when they are dependent.
Use more appropriate diagnostics when qualified implicit member access
expressions find declarations from unrelated classes.
llvm-svn: 90289
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(clang/driver) command line arguments (including the source file).
- The arguments are expected to include the source file.
- The idea is that even though this is a somewhat odd API, its the form which
many tools can most easily use (for example, by interposing with the compiler).
Also, switch index-test's -ast-from-source to use this entry point, and provide
a -arg command line argument which can be used to test that the command line
arguments are handled correctly.
llvm-svn: 90288
|
| |
|
|
|
|
| |
used to create a particular command.
llvm-svn: 90287
|
| |
|
|
| |
llvm-svn: 90285
|
| |
|
|
|
|
| |
Fixes pr5660.
llvm-svn: 90283
|
| |
|
|
|
|
|
|
|
|
| |
source locations with no common ancestor in the include stack, determine order by assuming memory buffers preceed files, and then that FileIDs are created in order.
The later assumption is patently false, but this was already broken -- this situation is conceptually impossible, my feeling is we should fix SourceManager and friends to make it impossible in practice as well. However, we need to fix PR5662 and perhaps some other things involving memory buffers first. In the short term I'm pretty sure this is reliable.
Chris, Argiris, is this going to break anything that wasn't already broken?
llvm-svn: 90280
|
| |
|
|
|
|
|
|
|
|
|
|
| |
in diagnostics when we fail to open a file. This allows us to
report things like:
$ clang test.c -I.
test.c:2:10: fatal error: error opening file './foo.h': Permission denied
#include "foo.h"
^
llvm-svn: 90276
|
| |
|
|
|
|
| |
"Fixes" PR5645.
llvm-svn: 90272
|
| |
|
|
|
|
| |
Gets clang-on-clang passing again.
llvm-svn: 90270
|
| |
|
|
| |
llvm-svn: 90267
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implicit member access to a specific declaration, go ahead and create
it as a DeclRefExpr or a MemberExpr (with implicit CXXThisExpr base) as
appropriate. Otherwise, create an UnresolvedMemberExpr or
DependentScopeMemberExpr with a null base expression.
By representing implicit accesses directly in the AST, we get the ability
to correctly delay the decision about whether it's actually an instance
member access or not until resolution is complete. This permits us
to correctly avoid diagnosing the 'problem' of 'MyType::foo()'
where the relationship to the type isn't really known until instantiation.
llvm-svn: 90266
|
| |
|
|
| |
llvm-svn: 90263
|
| |
|
|
|
|
| |
to use it so it at least won't try to access Sema once it is gone.
llvm-svn: 90261
|
| |
|
|
|
|
|
|
| |
command line to the input file.
We passed <built-in> on the way in, so we should pass it again on the way out.
llvm-svn: 90250
|
| |
|
|
|
|
|
|
|
| |
implementation
of a subclass (direct or indirect) of a weak_import root class, emit a weak reference
for the root class's metaclass (should complete radar 6815425).
llvm-svn: 90249
|
| |
|
|
|
|
| |
recursive logic in the methods of ScanReachableSymbols.
llvm-svn: 90245
|
| |
|
|
| |
llvm-svn: 90244
|
| |
|
|
|
|
|
| |
override virtual functions. Also, eliminate a (now redundant) call to
AddOverriddenMethods.
llvm-svn: 90242
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
common to both parsing and template instantiation, so that we'll find
overridden virtuals for member functions of class templates when they
are instantiated.
Additionally, factor out the checking for pure virtual functions, so
that it will be executed both at parsing time and at template
instantiation time.
These changes fix PR5656 (for real), although one more tweak
w.r.t. member function templates will be coming along shortly.
llvm-svn: 90241
|
| |
|
|
|
|
|
|
|
|
| |
ValueDecl, because that isn't always the case in ill-formed
code. Diagnose a common mistake (forgetting to provide a template
argument list for a class template, PR5655) and dyn_cast so that we
handle the general problem of referring to a non-value declaration
gracefully.
llvm-svn: 90239
|
| |
|
|
|
|
| |
be defined as pure. Fixes PR5656.
llvm-svn: 90237
|
| |
|
|
|
|
|
| |
Also, add an -ast-from-source option to index-test which allows index-test to
run on source files directly.
llvm-svn: 90223
|
| |
|
|
|
|
| |
for a massive speedup
llvm-svn: 90209
|
| |
|
|
| |
llvm-svn: 90208
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Highlights include:
Fix __cxa_begin_catch so it now returns a value.
Added getUnwindResumeOrRethrowFn helper to build up calls to
_Unwind_Resume_or_Rethrow.
Broke out object copying code into CopyObject from EmitCXXThrowExpr.
Built up another version of CopyObject that can copy from memory for
use in the catch parameter code.
RTTI generation for type matching for catch.
Code to check for the type match for catch.
Code to generate the catch parameter, WIP, need make sure references
and pointers and copy ctors work.
llvm-svn: 90205
|
| |
|
|
| |
llvm-svn: 90204
|
| |
|
|
|
|
| |
where it belongs.
llvm-svn: 90198
|
| |
|
|
|
|
|
|
|
|
| |
ASTContext instead of malloc. Besides reducing malloc traffic, this
also removes a source of memory leaks when using a BumpPtrAllocator
for the allocator of ASTContext. There are still leaks when using
MallocAllocator because Decl::Destroy() isn't fully finished.
Fixes: <rdar://problem/7431556>
llvm-svn: 90174
|
| |
|
|
|
|
| |
IDs in dependent contexts are not dependent if the context names a namespace.
llvm-svn: 90171
|
| |
|
|
|
|
| |
fixing a synthetic ctor/dtor bug.
llvm-svn: 90168
|
| |
|
|
|
|
| |
those associated with TemplateNames.
llvm-svn: 90162
|
| |
|
|
|
|
|
|
| |
Create a new UnresolvedMemberExpr for these lookups. Assorted hackery
around qualified member expressions; this will all go away when we
implement the correct (i.e. extremely delayed) implicit-member semantics.
llvm-svn: 90161
|
| |
|
|
|
|
| |
Fixes pr5619
llvm-svn: 90158
|
| |
|
|
|
|
| |
we have a valid delete operator.
llvm-svn: 90156
|
| |
|
|
| |
llvm-svn: 90153
|
| |
|
|
| |
llvm-svn: 90152
|
| |
|
|
| |
llvm-svn: 90149
|
| |
|
|
|
|
| |
recent change to make SEL a builtin type (fixes radar 7425510).
llvm-svn: 90145
|
| |
|
|
| |
llvm-svn: 90140
|
| |
|
|
| |
llvm-svn: 90139
|
| |
|
|
| |
llvm-svn: 90137
|
| |
|
|
|
|
| |
many) places to use this instead of using the backend -soft-float and -float-abi= options.
llvm-svn: 90127
|
| |
|
|
| |
llvm-svn: 90126
|
| |
|
|
|
|
| |
diagnostics to a different diagnostics engine.
llvm-svn: 90125
|
| |
|
|
| |
llvm-svn: 90124
|
| |
|
|
| |
llvm-svn: 90123
|
| |
|
|
| |
llvm-svn: 90121
|
| |
|
|
| |
llvm-svn: 90120
|