| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 104118
|
| |
|
|
|
|
|
|
|
|
|
| |
template names. We were completely missing naming classes for many unqualified
lookups, but this didn't trigger code paths that need it. This removes part of
an optimization that re-uses the template name lookup done by the parser to
determine if explicit template arguments actually form a template-id.
Unfortunately the technique for avoiding the duplicate lookup lost needed data
such as the class context in which the lookup succeeded.
llvm-svn: 104117
|
| |
|
|
|
|
|
| |
way regardless of whether some overloaded operator functions were
found by name lookup within the template. Fixes PR6851.
llvm-svn: 104107
|
| |
|
|
| |
llvm-svn: 104106
|
| |
|
|
| |
llvm-svn: 104105
|
| |
|
|
|
|
|
|
|
| |
the same .cpp file as provided the definitions referenced these functions,
hiding the issue. However, they are clearly no longer inline. Let me know if
there is a reason to move their definitions to the header and make them truly
inline.
llvm-svn: 104104
|
| |
|
|
|
|
| |
welcome for one.
llvm-svn: 104101
|
| |
|
|
| |
llvm-svn: 104085
|
| |
|
|
|
|
|
| |
gc attributes to be inline with Objective-C
(for radar 7925141).
llvm-svn: 104084
|
| |
|
|
|
|
| |
expressions in attributes, pragmas.
llvm-svn: 104083
|
| |
|
|
|
|
|
|
|
|
| |
involves extending implicit conversion sequences to model vector
conversions and vector splats, along with teaching the C++ conditional
operator-checking code about vector types.
Fixes <rdar://problem/7983501>.
llvm-svn: 104081
|
| |
|
|
|
|
|
|
| |
distinguish between
forward declarations and definitions of structs/classes/enums.
llvm-svn: 104075
|
| |
|
|
|
|
|
|
|
|
| |
of a current
design limitation in how we handle Objective-C class extensions. This was causing the CursorVisitor
to essentially visit an @property twice (once in the @interface, the other in the class extension).
Fixes <rdar://problem/7410145>.
llvm-svn: 104055
|
| |
|
|
| |
llvm-svn: 104041
|
| |
|
|
| |
llvm-svn: 104037
|
| |
|
|
| |
llvm-svn: 104027
|
| |
|
|
| |
llvm-svn: 104026
|
| |
|
|
|
|
| |
that test case is a bit weird and I'd like to investigate further before closing that bug.
llvm-svn: 104025
|
| |
|
|
|
|
|
|
|
| |
non-function-local declarations with names similar to what the user
typed. For example, this allows us to correct 'supper' to 'super' in
an Objective-C message send, even though the C function 'isupper' has
the same edit distance.
llvm-svn: 104023
|
| |
|
|
|
|
|
|
|
| |
consider "super" as a candidate whenever we're parsing an expression
within an Objective-C method in an interface that has a superclass. At
some point, we'd like to give "super" a little edge over non-local
names; that will come later.
llvm-svn: 104022
|
| |
|
|
| |
llvm-svn: 104019
|
| |
|
|
|
|
|
| |
Also rename ABSTRACT to ABSTRACT_STMT, in keeping with the other .def
files
llvm-svn: 104017
|
| |
|
|
|
|
|
| |
for Visual Studio 2010. It also adds a registry search
for the Express edition,", from Steven Watanabe!
llvm-svn: 104015
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert much of the implementation of C++98/03 [temp.friend]p5 in
r103943 and its follow-ons r103948 and r103952. While our
implementation was technically correct, other compilers don't seem to
implement this paragraph (which forces the instantiation of friend
functions defined in a class template when a class template
specialization is instantiated), and doing so broke a bunch of Boost
libraries.
Since this behavior has changed in C++0x (which instantiates the
friend function definitions when they are used), we're going to skip
the nowhere-implemented C++98/03 semantics and go straight to the
C++0x semantics.
This commit is a band-aid to get Boost up and running again. It
doesn't really fix PR6952 (which this commit un-fixes), but it does
deal with the way Boost.Units abuses this particular paragraph.
llvm-svn: 104014
|
| |
|
|
| |
llvm-svn: 104013
|
| |
|
|
|
|
| |
this is a step in the right direction.
llvm-svn: 104012
|
| |
|
|
|
|
| |
CXXRecordDecl.
llvm-svn: 104011
|
| |
|
|
|
|
|
|
| |
If a switch condition is constant, warn if there's no case for it.
Constant switch conditions do come up in reasonable template code.
llvm-svn: 104010
|
| |
|
|
|
|
| |
number of times the analyzer will go through a loop.
llvm-svn: 104007
|
| |
|
|
| |
llvm-svn: 104001
|
| |
|
|
|
|
| |
a temporary with a noreturn destructor has been created. Fixes PR6884 for now.
llvm-svn: 104000
|
| |
|
|
|
|
|
| |
when we really need a proper audit of our handling of attributes in
templates.
llvm-svn: 103999
|
| |
|
|
|
|
| |
how you're supposed to use it.
llvm-svn: 103993
|
| |
|
|
|
|
|
| |
cases where Clang can suggest and fix and suggest and not auto-fix (because of
current limitations).
llvm-svn: 103987
|
| |
|
|
| |
llvm-svn: 103986
|
| |
|
|
|
|
| |
out. The remaining ones are okay.
llvm-svn: 103973
|
| |
|
|
| |
llvm-svn: 103972
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make it miss (invalid) things like:
<<<<<<<
>>>>>>>
and crash if
<<<<<<<
was at the end of the line. When we find a >>>>>>> that is not at the
end of the line, make sure to reset Pos so we don't crash on something
like:
<<<<<<< >>>>>>>
This isn't worth making testcases for, since each would require a new file.
rdar://7987078 - signal 11 compiling "<<<<<<<<<<"
llvm-svn: 103968
|
| |
|
|
| |
llvm-svn: 103966
|
| |
|
|
|
|
| |
Fixes rdar://problem/7992749
llvm-svn: 103965
|
| |
|
|
|
|
| |
is declared static.
llvm-svn: 103963
|
| |
|
|
|
|
| |
actually works
llvm-svn: 103959
|
| |
|
|
|
|
|
| |
typedefs. As a drive-by, teach hit how to build VLA types, since those
will eventually be supported in C++.
llvm-svn: 103958
|
| |
|
|
|
|
| |
Fixes PR7153
llvm-svn: 103954
|
| |
|
|
|
|
|
| |
to mark its destructors as referenced which may cause
a crash. Fixes radar 7896920
llvm-svn: 103953
|
| |
|
|
|
|
|
| |
functions defined inside a class template. Fixes PR6952, the last
Boost.Units failure.
llvm-svn: 103952
|
| |
|
|
|
|
|
| |
class template conflicts with an existing (non-template)
definition. This is another part of PR6952.
llvm-svn: 103948
|
| |
|
|
| |
llvm-svn: 103945
|
| |
|
|
|
|
|
|
| |
- Check bases as part of isEmptyRecord().
- C++ record fields are never empty in the Itanium ABI.
llvm-svn: 103944
|
| |
|
|
|
|
|
|
| |
within class templates be instantiated along with each class template
specialization, even if the functions are not used. Do so, as a baby
step toward PR6952.
llvm-svn: 103943
|