summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Basic implementation of inherited constructors. Only generates declarations, ↵Sebastian Redl2011-02-0511-21/+421
| | | | | | and probably only works for very basic use cases. llvm-svn: 124970
* Support `make clang-test' when Clang is compiled outside of LLVM.Oscar Fuentes2011-02-051-5/+11
| | | | | | | | | | | This may not work on build platforms that place the binaries on special folders ($build_dir/bin/Release/) such as the VS IDE and XCode. For fixing this it is necessary to add a lit.py configuration option for saying where the Clang binaries are, and apply to that path the same magit that is used with the path to the LLVM tools binary directory. Doing this requires a bit of autoconf work. llvm-svn: 124969
* Pass a 'ForVTable' flag to GetAddrOfThunk and pass it along to ↵Anders Carlsson2011-02-053-6/+34
| | | | | | | | GetOrCreateLLVMFunction so that we won't assert when building a thunk for an implicit virtual member function that is not marked used. llvm-svn: 124967
* python bindings: Add support for different kind of completion chunksTobias Grosser2011-02-051-6/+81
| | | | llvm-svn: 124959
* python bindings: Get the string representation of a CompletionChunkTobias Grosser2011-02-051-9/+84
| | | | llvm-svn: 124958
* python bindings: Add CodeCompletionResultsTobias Grosser2011-02-051-1/+94
| | | | llvm-svn: 124957
* python bindings: Add support for translationUnit.reparse().Tobias Grosser2011-02-052-6/+47
| | | | | | | | This is the first step to make the clang_complete vim plugin work with libclang. Reparsing improves parsing time from 0.8 to 0.25 secs for one of my LLVM .cpp files. llvm-svn: 124956
* python bindings: Include local headers the right way.Tobias Grosser2011-02-051-4/+3
| | | | llvm-svn: 124955
* python bindings: Remove unneeded instructionTobias Grosser2011-02-051-2/+0
| | | | llvm-svn: 124954
* python bindings: fix Diagnostics.range iteratorTobias Grosser2011-02-052-0/+25
| | | | | | | The iterator did never throw an IndexError. It was therefore not possible to use it in a normal foreach loop as that loop would never stop. llvm-svn: 124953
* python bindings: Use python Diagnostics as function argumentsTobias Grosser2011-02-051-14/+17
| | | | | | | | | | | | This improves the readability of the code and fixes one testsuite bug. The bug happend, because we only stored the pointer to the diagnostic in the FixIt iterator, but not the python Diagnostic object. So it could happen that the FixIt iterator still exists, but the python Diagnostic object is freed. However, as the python Diagnostic is freed the pointer to the diagnostic is also freed and the FixIt iterator is referencing a freed pointer. llvm-svn: 124952
* python bindings: Synchronize cursor kindsTobias Grosser2011-02-051-0/+89
| | | | | | | clang-c/Index.h contained cursor kinds not yet available in the python bindings. Contributed-By: jmuizelaar@mozilla.com llvm-svn: 124951
* [analyzer] Fix a false positive of the 'self' initialization checker.Argyrios Kyrtzidis2011-02-052-4/+33
| | | | | | | | | | | | | | | | | | | A common pattern in classes with multiple initializers is to put the subclass's common initialization bits into a static function that receives the value of 'self', e.g: if (!(self = [super init])) return nil; if (!(self = _commonInit(self))) return nil; It was reported that 'self' was not set to the result of [super init]. Until we can use inter-procedural analysis, in such a call, transfer the ObjCSelfInitChecker flags associated with 'self' to the result of the call. Fixes rdar://8937441 & http://llvm.org/PR9094 llvm-svn: 124940
* When the out-of-line definition differs from the declaration in the return type,Argyrios Kyrtzidis2011-02-053-1/+12
| | | | | | | | | say "out-of-line definition differ from the declaration in the return type" instead of the silly "functions that differ only in their return type cannot be overloaded". Addresses rdar://7980179. llvm-svn: 124939
* Re-land r124768, with a fix for PR9130.Anders Carlsson2011-02-056-21/+89
| | | | | | We now emit everything except unused implicit virtual member functions when building the vtable. llvm-svn: 124935
* Don't suggest -Wuninitialized fixits for uninitialized enum types.Ted Kremenek2011-02-052-1/+11
| | | | llvm-svn: 124924
* Don't crash when generating USRs for ObjC methods in protocols.Ted Kremenek2011-02-052-10/+21
| | | | llvm-svn: 124920
* Restore a test which I accientally overwrote in my lastFariborz Jahanian2011-02-042-20/+48
| | | | | | patch. llvm-svn: 124911
* -Wselector should warn on implemented selectors onlyFariborz Jahanian2011-02-044-26/+43
| | | | | | | | when selector metadata is generated, which is triggered by at least on class implementation. This is to match gcc's behavior. // rdar://8851684. llvm-svn: 124909
* Assert during instantiation of blocks that we've captured everything thatJohn McCall2011-02-041-39/+61
| | | | | | we captured in the dependent case. llvm-svn: 124887
* Add better support for ARM EABI triples.Bob Wilson2011-02-041-10/+22
| | | | | | Patch by Renato Golin! llvm-svn: 124878
* Driver: Fix spurious warning (from -cc1) about unused -fapple-kext on C inputs.Daniel Dunbar2011-02-041-1/+1
| | | | llvm-svn: 124875
* build: Prevent duplicate inclusion of Makefile.rules, which causes make to warnDaniel Dunbar2011-02-041-0/+1
| | | | | | | like crazy. - How no one else is bothered by this I can't understand! llvm-svn: 124873
* Improve our handling of the current instantiation for qualifiedDouglas Gregor2011-02-042-25/+38
| | | | | | | | | | | | | | id-expression, e.g., CurrentClass<T>::member Previously, if CurrentClass<T> was dependent and not complete, we would treat it as a dependent-scoped declaration reference expression, even if CurrentClass<T> referred to the current instantiation. Fixes PR8966 and improves type checking of templates. llvm-svn: 124867
* Before checking bitfield initialization, make sure that neither theDouglas Gregor2011-02-042-0/+19
| | | | | | | bit-field width nor the initializer value are type- or value-dependent. Fixes PR8712. llvm-svn: 124866
* When calling a bound pointer to member function, check theDouglas Gregor2011-02-043-0/+83
| | | | | | | cv-qualifiers on the object against the cv-qualifiers on the member function. Fixes PR8315. llvm-svn: 124865
* Tweak my fix for PR8748, and update the incorrect PR number in the test case.Douglas Gregor2011-02-043-4/+6
| | | | llvm-svn: 124863
* Implement proper (de-)serialization for explicit template argumentDouglas Gregor2011-02-048-70/+114
| | | | | | | lists with zero template arguments. Fixes some seriously scary crashers in C++ PCH. llvm-svn: 124862
* Fix test for previous commitDouglas Gregor2011-02-041-3/+3
| | | | llvm-svn: 124861
* Fix a crash-on-invalid where we were trying to parse C++ constructs inDouglas Gregor2011-02-042-2/+8
| | | | | | | C, then hitting an assertion because C code shouldn't try to parse optional nested-name-specifiers. Fixes PR9137. llvm-svn: 124860
* USRs for Objective-C methods use the USR of the @interface as their base, ↵Ted Kremenek2011-02-042-20/+8
| | | | | | not the USR of the class category or extension. llvm-svn: 124859
* Downgrade error about attribute 'iboutlet' and 'ibaction' being applied to ↵Ted Kremenek2011-02-043-5/+7
| | | | | | anything but a instance method to a warning. llvm-svn: 124858
* Tighten up the semantics of default template arguments, per C++0xDouglas Gregor2011-02-044-5/+57
| | | | | | [temp.param]p9 and C++ DR226. Fixes PR8747. llvm-svn: 124856
* When a function template's template parameter has a default argument,Douglas Gregor2011-02-044-7/+20
| | | | | | | | | | it's okay for the following template parameters to not have default arguments (since those template parameters can still be deduced). Also, downgrade the error about default template arguments in function templates to an extension warning, since this is a harmless C++0x extension. llvm-svn: 124855
* build: Add support for DISABLE_DEFAULT_STRICT_ALIASING, which does what oneDaniel Dunbar2011-02-043-4/+15
| | | | | | might expect. llvm-svn: 124848
* Fix 80-col violins.Daniel Dunbar2011-02-041-5/+7
| | | | llvm-svn: 124847
* minor refactoring of -fapple-kext stuff.Fariborz Jahanian2011-02-041-8/+6
| | | | llvm-svn: 124837
* What was I thinking?Fariborz Jahanian2011-02-041-3/+1
| | | | llvm-svn: 124835
* -fapple-kext cannot have 'weak' visibility in thisFariborz Jahanian2011-02-044-17/+66
| | | | | | abi. llvm-svn: 124834
* If any Fix-Its attached to a diagnostic have invalid source locationsDouglas Gregor2011-02-033-1/+32
| | | | | | | or source locations that refer into a macro instantiation, delete all of the Fix-Its on that diagnostic. llvm-svn: 124833
* Moved here from LLVM Clang's configuration options and related macros.Oscar Fuentes2011-02-034-1/+36
| | | | llvm-svn: 124825
* [analyzer] Fix a crash until we can handle temporary struct objects properly.Argyrios Kyrtzidis2011-02-032-1/+15
| | | | llvm-svn: 124822
* Add __has_feature() for each of the type traitsDouglas Gregor2011-02-033-1/+152
| | | | llvm-svn: 124820
* Optionally, Clang now builds using LLVM as an external library.Oscar Fuentes2011-02-031-1/+55
| | | | | | | | | The user sets the variable CLANG_PATH_TO_LLVM_BUILD pointing to a LLVM build directory or to a directory where LLVM was installed. When using a non-installed LLVM build, it is necessary to set CLANG_PATH_TO_LLVM_SOURCE as well. llvm-svn: 124817
* Clean up of -fapple-kext abi code. No change otherwise.Fariborz Jahanian2011-02-034-12/+10
| | | | llvm-svn: 124807
* Implement -Woverloaded-virtual.Argyrios Kyrtzidis2011-02-036-3/+153
| | | | | | | | | | | | The difference with gcc is that it warns if you overload virtual methods only if the method doesn't also override any method. This is to cut down on the number of warnings and make it more useful like reported here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20423. If we want to warn that not all overloads are overriden we can have an additional warning like -Wpartial-override. -Woverloaded-virtual, unlike gcc, is added to -Wmost. Addresses rdar://8757630. llvm-svn: 124805
* Teach SourceManager::getLocation() how to cope with a source fileDouglas Gregor2011-02-033-23/+99
| | | | | | | | | | | | | | | | whose inode has changed since the file was first created and that is being seen through a different path name (e.g., due to symlinks or relative path elements), such that its FileEntry pointer doesn't match a known FileEntry pointer. Since this requires a system call (to stat()), we only perform this deeper checking if we can't find the file by comparing FileEntry pointers. Also, add a micro-optimization where we don't bother to compute line numbers when given the location (1, 1). This improves the efficiency of clang_getLocationForOffset(). llvm-svn: 124800
* Remove unnecessary RUN: directive.Axel Naumann2011-02-031-1/+0
| | | | llvm-svn: 124795
* More tweaks to the compatibility page.John McCall2011-02-031-22/+24
| | | | llvm-svn: 124792
* More minor documentation tweaks.John McCall2011-02-031-9/+11
| | | | llvm-svn: 124791
OpenPOWER on IntegriCloud