- Mar 14, 2013
-
-
Nick Lewycky authored
llvm-svn: 177004
-
John McCall authored
template instantiation will still consider them to be definitions if we instantiate the containing class before we get around to parsing the friend. This seems like a legitimate use of "late template parsed" to me, but I'd appreciate it if someone responsible for the MS feature would look over this. This file already appears to access AST nodes directly, which is arguably not kosher in the parser, but the performance of this path matters enough that perpetuating the sin is justifiable. Probably we ought to reconsider this policy for very simple manipulations like this. The reason this entire thing is necessary is that function template instantiation plays some very gross games in order to not associate an instantiated function template with the class it came from unless it's a definition, and the reason *that's* necessary is that the AST currently cannot represent the instantiation history of individual function template declarations, but instead tracks it in common for the entire function template. That probably prevents us from correctly reporting ill-formed calls to ambiguously instantiated friend function templates. rdar://12350696 llvm-svn: 177003
-
Argyrios Kyrtzidis authored
llvm-svn: 177001
-
Argyrios Kyrtzidis authored
[modules] Check for delegating constructor cycles when building a module and don't write them out to the module file. llvm-svn: 177000
-
Rafael Espindola authored
Before this patch we would compute the linkage lazily and cache it. When the AST was modified in ways that could change the value, we would invalidate the cache. That was fairly brittle, since any code could ask for the a linkage before the correct value was available. We should change the API to one where the linkage is computed explicitly and trying to get it when it is not available asserts. This patch is a first step in that direction. We still compute the linkage lazily, but instead of invalidating a cache, we assert that the AST modifications didn't change the result. llvm-svn: 176999
-
- Mar 13, 2013
-
-
Bill Wendling authored
llvm-svn: 176991
-
Bill Wendling authored
llvm-svn: 176987
-
Bill Wendling authored
The back-end cannot differentiate between functions that are from a .ll file and those generated from the front-end. We cannot then take the non-precense of these attributes as a "false" value. Have the front-end explicitly set the value to 'true' or 'false' depending upon what is actually set. llvm-svn: 176985
-
Argyrios Kyrtzidis authored
In a module-enabled Cocoa PCH file, we spend a lot of time stat'ing the headers in order to associate the FileEntries with their modules and support implicit module import. Use a more lazy scheme by enhancing HeaderInfoTable to store extra info about the module that a header belongs to, and associate it with its module only when there is a request for loading the header info for a particular file. Part of rdar://13391765 llvm-svn: 176976
-
Argyrios Kyrtzidis authored
This allows resolving top-header filenames of modules to FileEntries when we need them, not eagerly. Note that that this breaks ABI for libclang functions clang_Module_getTopLevelHeader / clang_Module_getNumTopLevelHeaders but this is fine because they are experimental and not widely used yet. llvm-svn: 176975
-
Reed Kotler authored
in the LLVM assembly language output. llvm-svn: 176971
-
Anna Zaks authored
When BugReporter tracks C++ references involved in a null pointer violation, we want to differentiate between a null reference and a reference to a null pointer. In the first case, we want to track the region for the reference location; in the second, we want to track the null pointer. In addition, the core creates CXXTempObjectRegion to represent the location of the C++ reference, so teach FindLastStoreBRVisitor about it. This helps null pointer suppression to kick in. (Patch by Anna and Jordan.) llvm-svn: 176969
-
Ted Kremenek authored
llvm-svn: 176966
-
Ted Kremenek authored
Fixes <rdar://problem/12322528> llvm-svn: 176965
-
Daniel Jasper authored
Before: int a = sizeof(int *)+ b;" After: int a = sizeof(int *) + b; llvm-svn: 176957
-
Anton Yartsev authored
llvm-svn: 176956
-
Adrian Prantl authored
llvm-svn: 176954
-
Daniel Jasper authored
Before: switch (x) { // if 1, do f() case 1: f(); } After: switch (x) { // if 1, do f() case 1: f(); } llvm-svn: 176953
-
Daniel Jasper authored
Before: ->aaaaaa()->aaaaaaaaaaa(aaaaaaaa()->aaaaaa()->aaaaa() - aaaaaaaaa()->aaaaaa() ->aaaaa()); After: a->aaaaaa()->aaaaaaaaaaa(aaaaaaaa()->aaaaaa()->aaaaa() - aaaaaaaaa()->aaaaaa()->aaaaa()); llvm-svn: 176952
-
Alexander Kornienko authored
Summary: <subj> Reviewers: djasper Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D536 llvm-svn: 176951
-
Anton Yartsev authored
+ Individual Report* method for each bug type + Comment improved: missing non-trivial alloca() case annotated + 'range' parameter of ReportBadFree() capitalized + 'SymbolRef Sym = State->getSVal(A, C.getLocationContext()).getAsSymbol();' shorten to 'SymbolRef Sym = C.getSVal(A).getAsSymbol();' llvm-svn: 176949
-
Dmitri Gribenko authored
llvm-svn: 176948
-
Edwin Vane authored
llvm-svn: 176945
-
Edwin Vane authored
Information messages sent to stdout by ClangTool now only happen when the -debug flag is set. Error messages that used to go to stdout now go to stderr. Author: Ariel J Bernal <ariel.j.bernal@intel.com> llvm-svn: 176944
-
Evgeniy Stepanov authored
It is required when building tests with ASan or MSan. llvm-svn: 176942
-
Daniel Jasper authored
Before: A = new SomeType * [Length]; A = new SomeType *[Length](); After: A = new SomeType *[Length]; A = new SomeType *[Length](); Small formatting cleanups with clang-format. llvm-svn: 176936
-
Evgeniy Stepanov authored
This is needed to get symbolized stack traces when running Clang tests under (A|M)San. llvm-svn: 176934
-
John McCall authored
llvm-svn: 176926
-
John McCall authored
the requirements on the ARC optimizer. rdar://13407451 llvm-svn: 176924
-
Matt Beaumont-Gay authored
llvm-svn: 176912
-
- Mar 12, 2013
-
-
Fariborz Jahanian authored
for existence of user setter before issuing the warning about non-synthesizable property. // rdar://13388503 llvm-svn: 176906
-
Ted Kremenek authored
Make modules.m test portable, now that autolinking is dependent on whether or not the target uses the integrated assembler. llvm-svn: 176902
-
Adrian Prantl authored
llvm-svn: 176901
-
Ted Kremenek authored
Fixes <rdar://problem/13289240> llvm-svn: 176897
-
Rafael Espindola authored
llvm-svn: 176896
-
Adrian Prantl authored
differentiate multiple inlined call sites on the same line in the debug info. Fixes rdar://problem/13036237 llvm-svn: 176895
-
Jim Grosbach authored
-ccc-install-dir is supposed to cause the compiler to behave as-if it were installed in the indicated location. It almost does, but misses anything that's relying on the resource directory (libc++ header search, in particular). The resource dir is resolved too early, before command line args are handled. The fix is simply to move handling of the resource dir until after we know if a -ccc-install-dir is present. rdar://13402696 llvm-svn: 176894
-
Bob Wilson authored
This reverts commit 176887. Nico asked for more time to move to Xcode 4.6. llvm-svn: 176892
-
Richard Smith authored
implement correct functionality, even if it's not optimal. On this basis, mark "data dependency ordering" as done. Add footnotes for cases where our implementation is known to be suboptimal. llvm-svn: 176891
-
Rafael Espindola authored
llvm-svn: 176890
-