aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-01Teach ASTContext and Preprocessor to hold on to references to the sameDouglas Gregor
LangOptions, rather than making distinct copies of LangOptions. Granted, LangOptions doesn't actually get modified, but this will eventually make it easier to construct ASTContext and Preprocessor before we know all of the LangOptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138959 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01default property synthesis is off by defaultFariborz Jahanian
for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Make test slightly trickierDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138957 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01objective-c: Make auto synthesis of properties the default.Fariborz Jahanian
This concludes //rdar://8843851 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138947 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Modules hide macro definitions by default, so that silly things likeDouglas Gregor
include guards don't show up as macro definitions in every translation unit that imports a module. Macro definitions can, however, be exported with the intentionally-ugly #__export_macro__ directive. Implement this feature by not even bothering to serialize non-exported macros to a module, because clients of that module need not (should not) know that these macros even exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138943 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Enable -fdelayed-template-parsing by default on Win32.Francois Pichet
I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138942 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Fix PR10744 by adding the toolchain path to the regular program pathRafael Espindola
and doing a simple search. Before we would manually check for the linker before the -B options were searched. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138941 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Add 4.4.6 to GccVersions[] in lib/Driver/ToolChains.cpp.Hans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138940 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01If size was equal to 0, either NULL or a pointer suitable to be passed to Zhongxing Xu
free() is returned by realloc(). Most code expect NULL. And we only need to transfer one final ProgramState. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138937 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Fix "multi-line comment" compiler error.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138936 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01When defining the implicit move assignment operator, don't performDouglas Gregor
semantic analysis when taking the address of an xvalue. Instead, just build the unary operator directly, since it's safe to do so (from the IRgen and AST perspectives) for any glvalue. Fixes PR10822. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138935 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Support importing of ObjC categories from modules.Argyrios Kyrtzidis
The initial incentive was to fix a crash when PCH chaining categories to an interface, but the fix was done in the "modules way" that I hear is popular with the kids these days. Each module stores the local chain of categories and we combine them when the interface is loaded. We also warn if non-dependent modules introduce duplicate named categories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138926 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Create a CaretDiagnostic class to hold the logic for emittingChandler Carruth
(unsurprisingly) caret diagnostics. This is designed to bring some organization to the monstrous EmitCaretDiagnostic function, and allow factoring it more easily and with less mindless parameter passing. Currently this just lifts the existing function into a method, and splits off the obviously invariant arguments to be class members. No functionality is changed, and there are still lots of warts to let existing code continue functioning as-is. Definitely WIP, more cleanups to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138921 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Sink all of the include stack printing logic into its member function.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138920 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31[analyzer] Revert a regression introduced in r133104(The ARC Migration ↵Anna Zaks
Tool..) due to a merge error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138919 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Test for default property synthesis.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138917 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31objective-c: this patch (re)introduces objective-c's default propertyFariborz Jahanian
synthesis. This new feature is currently placed under -fobjc-default-synthesize-properties option and is off by default pending further testing. It will become the default feature soon. // rdar://8843851 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138913 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Switch the "no module found" default-fatal warning to a default-fatal error.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138909 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Don't assert when diagnosing a missing cast of an unknown-anytypeJohn McCall
message send to an unknown method. rdar://problem/9416370, redux. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138893 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31[driver] If no -miphoneos-version-min is specified on the command line *and*Chad Rosier
IPHONEOS_DEPLOYMENT_TARGET if undefined, set -miphoneos-version-min based on isysroot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138892 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Make sure to initialize field. Hopefully this will fix some test failures ↵Eli Friedman
on Windows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138880 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Don't verify the name of the driver executable. It's not really releventChandler Carruth
to this test, and doesn't always start with 'clang' when fully resolved on some build systems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138878 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31[analyzer] Fix varargs helper to only use POD types even for named ↵Jordy Rose
arguments. Thanks, Joerg. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138875 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Switch __import__ over to __import_module__, so we don't conflict withDouglas Gregor
existing practice with Python extension modules. Not that Python extension modules should be using a double-underscored identifier anyway, but... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138870 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31objective-c - This patch buffers method implementations Fariborz Jahanian
and does the Sema on their body after the entire class/category @implementation is seen. This change allows messaging of forward private methods, as well as, access to synthesized ivars of properties with foward synthesize declarations; among others. In effect, this patch removes several restrictions placed on objective-c due to in-place semantics processing of methods. This is part of // rdar://8843851. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138865 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Update libclang to have APIs corresponding to the new 'expansion' namingChandler Carruth
system for macro-backed source locations. The old APIs are preserved for legacy users. This was intended to land with the main work of instantiation -> expansion, but despite running it by Doug over a month ago, I forgot to commit it. Very sorry for that... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138860 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Serialize the new bits in CXXRecordDecl::DefinitionData.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138855 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31Improve the diagnostic text for -Wmissing-noreturn to include the nameChandler Carruth
of the function in question when applicable (that is, not for blocks). Patch by Joerg Sonnenberger with some stylistic tweaks by me. When discussing this weth Joerg, streaming the decl directly into the diagnostic didn't work because we have a pointer-to-const, and the overload doesn't accept such. In order to make my style tweaks to the patch, I first changed the overload to accept a pointer-to-const, and then changed the diagnostic printing layer to also use a pointer-to-const, cleaning up a gross line of code along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138854 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Change err_pp_file_not_found back to an Error; when it's a Warning, we ↵Eli Friedman
suppress it in system headers. And it is not a good idea to suppress it in system headers. (This was originally changed in r134996 to implement -MG.) Fixes <rdar://10041960>. And also brings down the number of warnings without a flag by one :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138842 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Allow C99 hexfloats in C++0x mode. This change resolves the standardsDouglas Gregor
collision between C99 hexfloats and C++0x user-defined literals by giving C99 hexfloats precedence. Also, warning about user-defined literals that conflict with hexfloats and those that have names that are reserved by the implementation. Fixes <rdar://problem/9940194>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138839 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Fix PR10694: Boolean conversions can be from pointers, and those conversionsJeffrey Yasskin
aren't considered narrowing conversions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138838 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30When writing out the entries in a lookup table for a DeclContext, makeDouglas Gregor
sure that all of the CXXConversionDecls go into the same bucket. Otherwise, name lookup might not find them all. Fixes <rdar://problem/10041960>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138824 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Declare and define implicit move constructor and assignment operator.Sebastian Redl
This makes the code duplication of implicit special member handling even worse, but the cleanup will have to come later. For now, this works. Follow-up with tests for explicit defaulting and enabling the __has_feature flag to come. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138821 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Remove a few mutating ObjCCategoryDecl methods.Argyrios Kyrtzidis
Remove -setClassInterface -setNextClassCategory -insertNextClassCategory and combine them in the Create function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138817 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30In ASTWriter::WriteDeclContextVisibleBlock, don't write empty lookups.Argyrios Kyrtzidis
Empty lookups can occur in the DeclContext map when we are chaining PCHs, where the empty lookup indicates that we already looked in ExternalASTSource. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138816 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Remove a couple of unnecessary objc method lookups.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138815 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30[libclang] Rename some functions and make sure we don't iterate past the ↵Argyrios Kyrtzidis
tokens array. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138813 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30objc - fixes a regression in declaring c decls nested inFariborz Jahanian
objective-c containers due to recent changes to objc decl contexts. // rdar://10041908 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138803 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Remove obsolete ObjCInferRelatedReturnType from LangOptions...the correct ↵Jordy Rose
option is ObjCInferRelatedResultType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138793 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30The size of struct UnwindException varies by platform with noJohn McCall
apparent general rule. Just special-case it as appropriate. PR10789. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138792 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Be sure to emit lvalue-to-rvalue casts for loads from x-values.John McCall
Doing this happens to disrupt the pattern that ARC was looking for for move optimizations, so we need to fix that simultaneously. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138789 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Update mingw-w64 part of the user manual, from Ruben Van Boxem!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138788 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Fix a typo when determining whether to strip cv-qualifiers during template ↵Douglas Gregor
argument deduction git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138787 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Update python testcase for GNU old-style field designator warning,Douglas Gregor
from Anders Waldenborg! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138786 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Add support for Cursor.displayname in python bindings, from Anders Waldenborg!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138785 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Update the comment on the default-argument conversion fix; thanks toJohn McCall
Johannes Schaub for talking me around to sense. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138784 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Thread safety: Adding a name to the thread safety diagnostic group to ↵Caitlin Sadowski
prevent typos git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138783 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Do not warn about [super finalize] in arc mode.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138776 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Clang/PNaCl: Improve test coverage for PNaClTargetInfo (type aligns), fixes ↵Ivan Krasin
nits: - wrong alignment for double (it was 4, but 8 is desired), - added checks for _REENTRANT define, - fixed the issue that defines were not tested (because the check for inside #ifdef). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138775 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Thread safety: added basic handling for pt_guarded_by/var and guarded_by/var ↵Caitlin Sadowski
annotations. We identify situations where we are accessing (reading or writing) guarded variables, and report an error if the appropriate locks are not held. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138774 91177308-0d34-0410-b5e6-96231b3b80d8