Argyrios Kyrtzidis
92dd466a1a
[PCH] Store the offsets of source location file entries and go through them
...
in ASTReader::validateFileEntries().
This avoids going through all source location entries and fixes the performance regression.
Many thanks to Doug for the hint!
(rdar://9530587)
llvm-svn: 132481
2011-06-02 20:01:46 +00:00
Rafael Espindola
9d4a8cf481
Change how we link libprofile_rt.a. While at it, refactor the code a bit.
...
llvm-svn: 132474
2011-06-02 18:58:46 +00:00
Rafael Espindola
922a624144
Add -fno-gnu89-inline.
...
llvm-svn: 132468
2011-06-02 17:30:53 +00:00
Manuel Klimek
8a160cc42b
Reverts the Tooling changes as requested by Chris.
...
llvm-svn: 132462
2011-06-02 16:58:33 +00:00
Rafael Espindola
fb2af643e4
Implement -fgnu89-inline. Fixes PR10041.
...
llvm-svn: 132460
2011-06-02 16:13:27 +00:00
Douglas Gregor
857bcdaf03
Tweak code completions for Objective-C Key-Value Observing. The
...
+keyPathsForValuesAffecting<Key> completion was mislabeled as an
instance method, and +automaticallyNotifiesObserversOf<Key> was
missing entirely. Fixes <rdar://problem/9516762>.
llvm-svn: 132452
2011-06-02 04:02:27 +00:00
Francois Pichet
fbf7e173d2
Fix 80-column violation.
...
llvm-svn: 132447
2011-06-02 00:47:27 +00:00
Eli Friedman
4e2cefffd5
Revert r132426; this test passes more often than not, and we don't have a way to mark tests as intermittently failing at the moment.
...
llvm-svn: 132446
2011-06-02 00:42:47 +00:00
Akira Hatanaka
b579fe5f15
Add stuff for o32 ABI conformance.
...
llvm-svn: 132443
2011-06-02 00:09:17 +00:00
Douglas Gregor
7e51117db2
Improve the readability of the "Expressive Diagnostics" page, from Dave Yost!
...
llvm-svn: 132432
2011-06-01 22:45:49 +00:00
Douglas Gregor
b32e825ae4
Fix an incorrect warning about explicit template specializations for
...
nested types, from Michael Han!
llvm-svn: 132431
2011-06-01 22:37:07 +00:00
Argyrios Kyrtzidis
7e48d8ff0c
XFAIL the test on windows.
...
llvm-svn: 132426
2011-06-01 21:52:17 +00:00
Rafael Espindola
341d9b41d4
Add the necessary -L option for finding libprofile_rt.a. It might be a good
...
idea at some point to split out the directories where we install our runtime
libraries.
llvm-svn: 132425
2011-06-01 21:37:00 +00:00
Ted Kremenek
fb43639926
Rename -Wunknown-attributes to -Wattributes to match GCC.
...
llvm-svn: 132422
2011-06-01 20:09:40 +00:00
Ted Kremenek
8c66ae7ddc
Remove derelict documentation.
...
llvm-svn: 132407
2011-06-01 17:45:02 +00:00
Eli Friedman
ede23f760b
Don't use stdint.h; including it directly is not allowed from LLVM code because it doesn't exist on MSVC.
...
llvm-svn: 132403
2011-06-01 16:57:54 +00:00
Douglas Gregor
981e37d727
The expression in a noexcept exception-specification is a
...
constant-expression, and, therefore, an unevaluated operand. Make it
so.
llvm-svn: 132400
2011-06-01 15:55:51 +00:00
Douglas Gregor
39e9fa938c
Implement comparisons between nullptr and Objective-C object
...
pointers. Fixes PR10052.
llvm-svn: 132397
2011-06-01 15:12:24 +00:00
Benjamin Kramer
9ed423b504
Remove pointless assert, N is unsigned.
...
llvm-svn: 132392
2011-06-01 08:57:04 +00:00
Benjamin Kramer
ded902f4d3
Change a name for consistency and hopefully unbreak builds with gcc 4.6.
...
llvm-svn: 132391
2011-06-01 08:56:20 +00:00
Nick Lewycky
1be750abc6
Even a return statement of an expression with a dependent type in a void
...
function might need to clean up its temporaries. Fixes PR10057.
llvm-svn: 132390
2011-06-01 07:44:31 +00:00
Argyrios Kyrtzidis
460132d35c
[PCH] Be conservative and check all the files the PCH references to see if
...
a file was modified since the time the PCH was created.
The parser is not fit to deal with stale PCHs, too many invariants do not hold up. rdar://9530587.
llvm-svn: 132389
2011-06-01 05:43:53 +00:00
Francois Pichet
e37eebabe7
Microsoft friend acting as a forward declaration; try#2. Now only 2 lines.
...
llvm-svn: 132387
2011-06-01 04:14:20 +00:00
Manuel Klimek
bc68d09abb
Fix broken test on windows. To get operator new working, we need size_t, for which we need to figure out a way to resolve standard include paths in the test.
...
llvm-svn: 132386
2011-06-01 03:59:13 +00:00
Manuel Klimek
9978c4f730
Fixes Makefile based build for examples/Tooling.
...
llvm-svn: 132380
2011-06-01 01:21:01 +00:00
Nick Lewycky
15cf577ff9
Put Parse before Sema on the link line since parse depends on sema.
...
Also reflow these lines to fit in 80-col.
llvm-svn: 132379
2011-06-01 00:59:36 +00:00
Manuel Klimek
6fad7119b9
Fix test breakage due to example not being built.
...
llvm-svn: 132376
2011-06-01 00:18:08 +00:00
Manuel Klimek
0cfc6a045c
This patch implements an AST matching framework that allows to write
...
tools that match on the C++ ASTs. The main interface is in ASTMatchers.h,
an example implementation of a tool that removes redundant .c_str() calls
is in the example RemoveCStrCalls.cpp.
Various contributions:
Zhanyong Wan, Chandler Carruth, Marcin Kowalczyk, Wei Xu, James Dennett.
llvm-svn: 132374
2011-05-31 23:49:32 +00:00
Devang Patel
72140d553a
Fix test, check for stable strings in the output.
...
llvm-svn: 132370
2011-05-31 22:37:03 +00:00
Francois Pichet
a9f436b064
Revert 132332 (Microsoft friend as a forward declaration), John McCall pointed out a better/simpler way to do it.
...
llvm-svn: 132369
2011-05-31 22:36:05 +00:00
Devang Patel
5c71c2154b
Robustify objc method type description (subroutine type) by walking parameters directly.
...
llvm-svn: 132368
2011-05-31 22:21:11 +00:00
Devang Patel
7ce99c3637
List objective-c ineterfaces as public types in dwarf debug info output.
...
llvm-svn: 132361
2011-05-31 21:18:50 +00:00
Devang Patel
2780e4545a
List c++ class type as public type in dwarf debug info output.
...
llvm-svn: 132357
2011-05-31 20:46:46 +00:00
Alexis Hunt
414e3e3c2d
Ensure we enter an unevaluated context when instantiating a noexcept
...
expression. Fixes bug raised by hhinnant to cfe-dev
llvm-svn: 132350
2011-05-31 19:54:49 +00:00
Daniel Dunbar
116b305d31
Driver/Clang: Simplify code to use arch enumerations.
...
llvm-svn: 132338
2011-05-31 15:58:55 +00:00
Francois Pichet
bcaf0816a5
Recreate the DeclContext before adding the implicit friend forward declaration. This should fix the asserting buildbot.
...
llvm-svn: 132333
2011-05-31 12:44:46 +00:00
Francois Pichet
3fd47df366
For compatibility with MSVC, a friend declaration also act as a forward declaration if the tag name is not already declared. The tag name is declared in the next outermost non record scope.
...
Example:
class A {
friend class B;
B* b;
};
B* global_b;
llvm-svn: 132332
2011-05-31 11:44:00 +00:00
Nick Lewycky
67c4d0f336
Whenever we instantiate a static data member, make sure to define any new
...
vtables! Fixes PR10020
This also allows us to revert the part of r130023 which added a big loop around
the template instantiation.
llvm-svn: 132331
2011-05-31 07:58:42 +00:00
Galina Kistanova
920f852759
Now with the right line endings.
...
llvm-svn: 132330
2011-05-31 07:19:08 +00:00
Zhongxing Xu
e6a2028fe1
Fix linking of clang-wpa.
...
llvm-svn: 132329
2011-05-31 07:13:36 +00:00
Chandler Carruth
e54ff6cc3e
Expand the coverage of the warning for constants on the RHS of logical operands:
...
return f() || -1;
where the user meant to write '|'.
This bootstraps without any additional warnings.
Patch by Richard Trieu.
llvm-svn: 132327
2011-05-31 05:41:42 +00:00
Argyrios Kyrtzidis
b3483b3d91
Utilize PackedVector, introduced with llvm commit r132325.
...
llvm-svn: 132326
2011-05-31 03:56:09 +00:00
Galina Kistanova
4503e20ae6
Just one for now to see how it will fly.
...
llvm-svn: 132321
2011-05-31 00:34:37 +00:00
Galina Kistanova
ded0b598b6
Preparations for separating target-specific clang tests.
...
llvm-svn: 132319
2011-05-31 00:29:49 +00:00
David Chisnall
fcb37e944f
Fix another incorrect type bug.
...
llvm-svn: 132311
2011-05-30 12:00:26 +00:00
Richard Trieu
beaf34531e
Add a new warning on NULL pointer constant to integer conversion.
...
This path was reviewed by Chandler Carruth at http://codereview.appspot.com/4538074/
llvm-svn: 132297
2011-05-29 19:59:02 +00:00
Chandler Carruth
a923fb2b3b
Fix a regression in the source locations for unary trait expressions.
...
I tried to use an assert to prove that I could remove each of the
arguments I did, but ended up writing my assert with inverted logic.
Doh! Reported by Xi Wang on cfe-dev. I have manually verified the source
locations and ranges for these using -ast-dump. I tried writing a test
case that would catch these, but these expressions aren't exposed in the
c-index-test's token annotation utility.
llvm-svn: 132284
2011-05-29 07:32:14 +00:00
John McCall
9b382dde92
Convert Clang over to resuming from landing pads with llvm.eh.resume.
...
It's quite likely that this will explode, but I need to know how. :)
llvm-svn: 132269
2011-05-28 21:13:02 +00:00
Chris Lattner
4b799d4e0c
make this a bit less confusing
...
llvm-svn: 132262
2011-05-28 17:53:17 +00:00
Benjamin Kramer
df1fb13a5c
Eliminate temporary argument vectors.
...
llvm-svn: 132260
2011-05-28 14:26:31 +00:00