- Jan 06, 2010
-
-
Fariborz Jahanian authored
continuation classes and its original declaration is imported from a protocol. This fixes radar 7509234. llvm-svn: 92856
-
Douglas Gregor authored
Fix marking of virtual members for nested classes whose first non-pure virtual function has a body inlined in the class llvm-svn: 92855
-
David Chisnall authored
llvm-svn: 92846
-
Douglas Gregor authored
result for a nested class whose first non-pure virtual member function has an inline body. Previously, we were checking for the key function before we had seen the (delayed) inline body. llvm-svn: 92839
-
John McCall authored
as parts of overload sets. Also, refer to constructors as 'constructors' rather than functions. Adjust a lot of tests. llvm-svn: 92832
-
Daniel Dunbar authored
llvm-svn: 92828
-
Daniel Dunbar authored
llvm-svn: 92827
-
Daniel Dunbar authored
llvm-svn: 92825
-
John McCall authored
for -Wsign-compare and -Wconversion, and use that coordinated logic to drive both diagnostics. The new logic works more transparently with implicit conversions, conditional operators, etc., as well as bringing -Wconversion's ability to deal with pseudo-closed operations (e.g. arithmetic on shorts) to -Wsign-compare. Fixes PRs 5887, 5937, 5938, and 5939. llvm-svn: 92823
-
Douglas Gregor authored
Revert my available_externally vtables experiment. It's breaking the LLVM-with-Clang build with linker errors that I have yet to investigate. llvm-svn: 92822
-
Douglas Gregor authored
deterministic and work properly with templates. Once a class that needs a vtable has been defined, we now do one if two things: - If the class has no key function, we place the class on a list of classes whose virtual functions will need to be "marked" at the end of the translation unit. The delay until the end of the translation unit is needed because we might see template specializations of these virtual functions. - If the class has a key function, we do nothing; when the key function is defined, the class will be placed on the aforementioned list. At the end of the translation unit, we "mark" all of the virtual functions of the classes on the list as used, possibly causing template instantiation and other classes to be added to the list. This gets LLVM's lib/Support/CommandLine.cpp compiling again. llvm-svn: 92821
-
Ted Kremenek authored
llvm-svn: 92820
-
Mike Stump authored
llvm-svn: 92819
-
Mike Stump authored
llvm-svn: 92816
-
Ted Kremenek authored
Per offline discussion with Doug, don't perform typo correction when we have encountered a fatal error. On some files that are woefully wrong (missing headers) this can cause a 3x slowdown in some cases when parsing the file. It makes sense not to perform typo correction in this case because after a fatal error diagnostics will either be suppressed or not really make any sense. llvm-svn: 92809
-
Fariborz Jahanian authored
for a 'readonly' property. Fixes radar 7427072. llvm-svn: 92808
-
John McCall authored
try to evaluate an expression as a constant boolean condition. This has the same intended semantics as used in folding conditional operators. llvm-svn: 92805
-
Ted Kremenek authored
llvm-svn: 92804
-
Ted Kremenek authored
llvm-svn: 92803
-
Ted Kremenek authored
Add C API hook 'clang_getDeclExtent()', which returns the source extent of a declaration. This implements <rdar://problem/7280072>. llvm-svn: 92802
-
Fariborz Jahanian authored
llvm-svn: 92801
-
- Jan 05, 2010
-
-
Ted Kremenek authored
llvm-svn: 92789
-
Douglas Gregor authored
llvm-svn: 92787
-
Daniel Dunbar authored
llvm-svn: 92780
-
Douglas Gregor authored
non-inline key function of a class template instantiation, when no key function is present, the class template instantiation itself was instantiated with an explicit instantiation declaration (aka extern template). I'm fairly certain that the C++0x specification gives us this lattitude, although GCC doesn't take advantage of it. llvm-svn: 92779
-
Ted Kremenek authored
llvm-svn: 92765
-
Ted Kremenek authored
llvm-svn: 92756
-
Fariborz Jahanian authored
llvm-svn: 92755
-
Douglas Gregor authored
- All classes can have a key function; templates don't change that. non-template classes when computing the key function. - We always mark all of the virtual member functions of class template instantiations. - The vtable for an instantiation of a class template has weak linkage. We could probably use available_externally linkage for vtables of classes instantiated by explicit instantiation declarations (extern templates), but GCC doesn't do this and I'm not 100% that the ABI permits it. llvm-svn: 92753
-
Mike Stump authored
llvm-svn: 92749
-
Fariborz Jahanian authored
llvm-svn: 92746
-
Steve Naroff authored
llvm-svn: 92744
-
Fariborz Jahanian authored
llvm-svn: 92742
-
rdar://problem/7490212Steve Naroff authored
related to <rdar://problem/6596843> clang ObjC rewriter: Line endings still mixed in rewrite output This fix was dropped when I integrated the 'objective-rewrite' branch. llvm-svn: 92737
-
Zhongxing Xu authored
llvm-svn: 92725
-
Zhongxing Xu authored
llvm-svn: 92724
-
Zhongxing Xu authored
ASTContext::hasSameUnqualifiedType() when one of the type is VariableArrayType. llvm-svn: 92723
-
Zhongxing Xu authored
llvm-svn: 92715
-
Nate Begeman authored
llvm-svn: 92686
-
Anders Carlsson authored
When emitting member function pointers, use the canonical decl if the member function is virtual. Fixes PR5940. llvm-svn: 92680
-