]>
granicus.if.org Git - clang/log
Ted Kremenek [Thu, 26 Apr 2012 05:08:26 +0000 (05:08 +0000)]
[analyzer] check lazy bindings in RegionStore first before looking for default values. Fixes <rdar://problem/
11269741 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155615
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 26 Apr 2012 04:32:23 +0000 (04:32 +0000)]
Teach RetainCountChecker that it doesn't quite understand pthread_setspecific and it should just give up when it sees it. Fixes <rdar://problem/
11282706 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155613
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 26 Apr 2012 03:16:45 +0000 (03:16 +0000)]
PR12660: Don't crash when initializing a const reference from a braced init list
which creates a temporary by calling a constructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155608
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 26 Apr 2012 02:10:51 +0000 (02:10 +0000)]
Fix a long-standing bug where Clang had a different default from GCC on
Linux and other (non-Darwin) platforms and have it use -fmath-errno by
default (for better or worse).
Darwin has seen the light here and uses -fno-math-errno by default, this
patch preserves that.
If any maintainers for a non-Linux platform would also like to opt-in to
-fno-math-errno by default, I'm happy to add folks, but we're currently
getting buts and misleading comparisons with GCC due to this difference
in behavior on Linux at least.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155607
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 26 Apr 2012 01:51:03 +0000 (01:51 +0000)]
Two missing -Wc++98-compat warnings, for null pointers as non-type template
arguments, and 'this' in exception-specifications.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155606
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 26 Apr 2012 01:26:03 +0000 (01:26 +0000)]
Reject cases like
struct __attribute__((visibility("hidden"))) a;
struct __attribute__((visibility("default"))) b;
which gcc already rejects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Wed, 25 Apr 2012 23:23:48 +0000 (23:23 +0000)]
If a type is non-literal by virtue of being incomplete produce notes
explaining that.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155598
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Wed, 25 Apr 2012 22:57:25 +0000 (22:57 +0000)]
RecursiveASTVisitor: When in 'shouldVisitTemplateInstantiations' mode, visit
all instantiations of a template when we visit the canonical declaration of the
primary template, rather than trying to match them up to the partial
specialization from which they are instantiated. This fixes a bug where we
failed to visit instantiations of partial specializations of member templates of
class templates, and naturally extends to allow us to visit instantiations where
we have instantiated only a declaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 25 Apr 2012 22:51:41 +0000 (22:51 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155596
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 25 Apr 2012 20:48:00 +0000 (20:48 +0000)]
objective-c modern translator: more tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155585
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kaelyn Uhrain [Wed, 25 Apr 2012 19:49:54 +0000 (19:49 +0000)]
Add an error message with fixit hint for changing '.' to '->'.
This is mainly for attempting to recover in cases where a class provides
a custom operator-> and a '.' was accidentally used instead of '->' when
accessing a member of the object returned by the current object's
operator->.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 25 Apr 2012 18:39:17 +0000 (18:39 +0000)]
When resolving default template arguments, it should be done in the declaration context
of the template what we are going to instantiate.
Fixes various crashes of rdar://
11242625 & http://llvm.org/PR11421.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Wed, 25 Apr 2012 18:28:49 +0000 (18:28 +0000)]
PR12625: Cope with classes which have incomplete base or member types:
Don't try to query whether an incomplete type has a trivial copy constructor
when determining whether a move constructor should be declared.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155575
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 25 Apr 2012 18:21:27 +0000 (18:21 +0000)]
Use a SmallMap for StoredDeclsMap, it's usually sparsely populated so we can avoid initializing memory for 64 buckets.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 25 Apr 2012 18:21:21 +0000 (18:21 +0000)]
Convert a std::map that usually has between 0 and 10 elements to SmallMap.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 25 Apr 2012 18:11:57 +0000 (18:11 +0000)]
improve a modern objc translator test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155569
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 25 Apr 2012 17:56:48 +0000 (17:56 +0000)]
modern objc rewriter: fixes a bug writing
a const qualified static c-function.
// rdar://
11314329
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155564
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 25 Apr 2012 14:20:13 +0000 (14:20 +0000)]
Adds documentation for how to use the tooling library.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 25 Apr 2012 13:57:00 +0000 (13:57 +0000)]
Adds a document describing the various tooling approaches and their pros and
cons.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155549
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Wed, 25 Apr 2012 09:28:10 +0000 (09:28 +0000)]
Make asan-ld test windows-safe.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 25 Apr 2012 09:25:41 +0000 (09:25 +0000)]
Fixes the header search logic for tools:
The driver needs to get the correct path to the executable to deduce
the header search path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155542
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Wed, 25 Apr 2012 08:59:22 +0000 (08:59 +0000)]
Clang driver support for linking on Android.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155541
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Wed, 25 Apr 2012 08:35:56 +0000 (08:35 +0000)]
Fix default cpu for -march=armv5e.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155540
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Apr 2012 06:12:24 +0000 (06:12 +0000)]
OpenBSD: Remove incorrect -pthread preprocessor define _POSIX_THREADS and replace
with _REENTRANT. Also remove undef _POSIX_THREADS in phread.h.
Patch by Brad Smith!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155535
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Apr 2012 06:09:30 +0000 (06:09 +0000)]
don't use soname on OpenBSD, it doesn't support it. Patch by
Brad Smith!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Tue, 24 Apr 2012 23:43:40 +0000 (23:43 +0000)]
Expand #include_next in float.h from mingw to _msc_ver.
A test for this is checking if this compiles:
#include <float.h>
inline bool IsFinite(const double& number) {
return _finite(number) != 0;
}
That depends however on either mingw or msvc being installed, and
chapuni tells me there might be issues with float.h on mingw, so
no automated test is added.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155507
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 24 Apr 2012 23:06:26 +0000 (23:06 +0000)]
Add acos, asin, ceil, fabs, floor, fmax, fmin, round, and tan to the builtin
math library functions.
rdar://
11251464
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155502
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 24 Apr 2012 22:40:01 +0000 (22:40 +0000)]
Add atan, atan2, exp, and log to the builtin math library functions.
With -fno-math-errno (the default for Darwin) or -ffast-math these library
function can be marked readnone enabling more opportunities for CSE and other
optimizations.
rdar://
11251464
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155498
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 24 Apr 2012 21:45:50 +0000 (21:45 +0000)]
Alphabetize the builtin math library functions. No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155492
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Tue, 24 Apr 2012 21:27:01 +0000 (21:27 +0000)]
Let NULL and MSVC headers coexist better.
Fixes the two issues mentioned in PR12146.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155490
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 24 Apr 2012 20:39:49 +0000 (20:39 +0000)]
RecursiveASTVisitor: Visit instantiations of member templates of class
templates. In an implicit instantiation of a member class, any member
templates don't get instantiated, so the existing check which only visited
the instantiations of a defined template skipped these templates'
instantiations.
Since there is only a single declaration of a member template of a class
template specialization, just use that to determine whether to visit the
instantiations. This introduces a slight inconsistency in that we will
visit the instantiations of such templates whether or not they are
defined, but we never visit a declared-but-not-defined instantiation, so
this turns out to not matter.
Patch by Daniel Jasper!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155487
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 24 Apr 2012 19:38:45 +0000 (19:38 +0000)]
modern objc translator: Allow writing of multiple
declaration of __block variables on same lines
with initializers. // rdsr://
7547630
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155473
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 24 Apr 2012 18:16:20 +0000 (18:16 +0000)]
objc modern rewriter: allow translation of
multiple declaration of block variables
(with no initializer) on the same line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 24 Apr 2012 16:45:27 +0000 (16:45 +0000)]
objc modern rewriter: minor refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155449
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 24 Apr 2012 15:42:03 +0000 (15:42 +0000)]
Add a FIXME for uncomplete comment
fix a typo
add punctuation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Tue, 24 Apr 2012 12:30:37 +0000 (12:30 +0000)]
Adding information about what intrinsics still need to be implemented for MSVC compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 24 Apr 2012 11:04:57 +0000 (11:04 +0000)]
Add a flag to the image info section indicating that the program is compiled for
a simulator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Tue, 24 Apr 2012 09:05:31 +0000 (09:05 +0000)]
Only pass -mcpu, -march, -mfpu to linux-as on ARM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Tue, 24 Apr 2012 06:57:01 +0000 (06:57 +0000)]
enable TBAA when -fthread-sanitizer is given, even with -O0 or -relaxed-aliasing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 24 Apr 2012 05:59:48 +0000 (05:59 +0000)]
Fix a typo spotted by Matt.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155427
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 24 Apr 2012 05:48:42 +0000 (05:48 +0000)]
Don't try to delay parsing the exception specification for a data member of a
class; we would never actually parse it and attach it to the type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155426
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 24 Apr 2012 05:23:54 +0000 (05:23 +0000)]
Introduce an initial sketch of a MSVC compatible 'intrin.h' builtin
header, along with a stub test to make sure it compiles in the
appropriate modes.
Thanks to Aaron Ballman for working with me to figure out the initial
strategy here, and to Nico for reviewing and pestering me to actually
commit it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 24 Apr 2012 05:06:35 +0000 (05:06 +0000)]
PR12629: Cope with parenthesized function types when attaching a delayed
exception specification to a function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155424
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 24 Apr 2012 01:19:04 +0000 (01:19 +0000)]
clang/test/Rewriter/objc-modern-boxing.mm: Mark as XFAIL:mingw for now, due to predefined __declspec similar to r155278.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155417
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Mon, 23 Apr 2012 20:41:57 +0000 (20:41 +0000)]
Thread safety analysis: refactor test cases so that the style is
consistent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 23 Apr 2012 20:30:52 +0000 (20:30 +0000)]
with -Wdeprecated, include a note to its deprecated declaration
location. // rdar://
10893232
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155385
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 23 Apr 2012 19:00:24 +0000 (19:00 +0000)]
Forward declarations should take a context. This helps the debugger
find forward declarations in the context that the actual definition
will occur.
rdar://
11291658
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155381
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Mon, 23 Apr 2012 18:39:55 +0000 (18:39 +0000)]
Thread safety analysis: support the use of pt_guarded_by attributes
on smart pointers. Also adds test case for previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155379
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 23 Apr 2012 18:25:40 +0000 (18:25 +0000)]
Revert r155363, due to the underlying patches in LLVM causing regression
test suite failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155371
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 23 Apr 2012 17:51:55 +0000 (17:51 +0000)]
Fix visibility when we have two types with explicit visibility in a template
argument list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155368
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sirish Pande [Mon, 23 Apr 2012 17:48:57 +0000 (17:48 +0000)]
Hexagon V5 (floating point) support in cfe.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155363
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Mon, 23 Apr 2012 16:45:01 +0000 (16:45 +0000)]
Thread-safety analysis: support new "pointer to member" syntax for
existentially quantified lock expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155357
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 23 Apr 2012 16:42:52 +0000 (16:42 +0000)]
Teach RequireCompleteType about multi-dimensional arrays. Fixes
<rdar://problem/
11284902 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155356
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Mon, 23 Apr 2012 16:40:40 +0000 (16:40 +0000)]
Fix PR12608. Patch contributed by Yang Chen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155355
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 23 Apr 2012 16:22:22 +0000 (16:22 +0000)]
Add a test for svn r155263.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155353
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 23 Apr 2012 14:27:47 +0000 (14:27 +0000)]
Inline helper function into only caller.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155352
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 23 Apr 2012 14:02:53 +0000 (14:02 +0000)]
Add another testcase that was not being covered.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155351
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Mon, 23 Apr 2012 10:15:18 +0000 (10:15 +0000)]
[asan] fix typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155345
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Mon, 23 Apr 2012 09:05:50 +0000 (09:05 +0000)]
[asan] update docs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Mon, 23 Apr 2012 09:02:13 +0000 (09:02 +0000)]
Do not use stdint.h, driver might provide invalid location for it. Instead, provide the types directly.
This should fix PR12628
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155342
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Mon, 23 Apr 2012 08:43:08 +0000 (08:43 +0000)]
Fixes comment referencing old name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155340
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 22:31:25 +0000 (22:31 +0000)]
Add a testcase that we already get right but was not being tested. Found
by a chrome build on OS X. Thanks to Nico Weber for testing a patch and
providing the .ii file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 22 Apr 2012 20:43:35 +0000 (20:43 +0000)]
Sema: Initialize NSString method cache members.
Found by valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 22 Apr 2012 20:43:30 +0000 (20:43 +0000)]
Remove unnecessary StringRef->char*->StringRef conversion, which read uninitialized memory if the input wasn't 0-terminated.
Found by valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 16:03:00 +0000 (16:03 +0000)]
Cleanup testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 15:31:59 +0000 (15:31 +0000)]
An attribute in a explicit template installation should take precedence over
the tempale arguments in deciding the visibility.
This agrees with gcc 4.7.
Found by trying to build chrome with component=shared_library with 155314
reverted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 12:37:27 +0000 (12:37 +0000)]
Revert 155102 but add a fixme while I debug what is wrong with chrome's
components build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 22 Apr 2012 11:34:43 +0000 (11:34 +0000)]
Better C++11 support is no longer an advantage of GCC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sun, 22 Apr 2012 05:51:36 +0000 (05:51 +0000)]
PR12571: Objects of type clang::ConstantArrayType aren't always emitted with
type llvm::ArrayType -- sometimes we emit them as packed structs. Don't assert
if such a global array has an element type with a non-trivial destructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 02:41:22 +0000 (02:41 +0000)]
Add another missing testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sun, 22 Apr 2012 02:13:50 +0000 (02:13 +0000)]
PR12585: When processing a friend template inside a class template, don't
pretend there was no previous declaration -- that can lead us to injecting
a class template (with no access specifier) into a class scope. Instead,
just avoid the problematic checks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 01:22:25 +0000 (01:22 +0000)]
Add a testcase we were already getting right, but were not testing for.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 22 Apr 2012 00:43:48 +0000 (00:43 +0000)]
Fix handling of template parameters. Found by inspection. GCC 4.7 agrees
with this testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 21 Apr 2012 23:28:21 +0000 (23:28 +0000)]
All the members of LVFlags always have the same value, replace the class with
a boolean.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 21 Apr 2012 18:42:51 +0000 (18:42 +0000)]
Fix regression in r154844. If necessary, defer computing adjusted destructor
exception specifications in C++11 until after we've parsed the exception
specifications for nested classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155293
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Apr 2012 17:51:44 +0000 (17:51 +0000)]
Remove unneeded code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 21 Apr 2012 17:47:47 +0000 (17:47 +0000)]
Fix serialization of uninstantiated exception specifications. Patch by Li Kan,
test by me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155289
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Sat, 21 Apr 2012 14:45:25 +0000 (14:45 +0000)]
move some stuff to .rodata
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155282
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 21 Apr 2012 09:40:04 +0000 (09:40 +0000)]
SemaDeclCXX.cpp: Fix utf8 in comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155279
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 21 Apr 2012 09:39:58 +0000 (09:39 +0000)]
clang/test/Rewriter/rewrite-modern-extern-c-func-decl.mm: Mark as XFAIL:mingw for now, due to predefined __declspec.
It could be tweaked to add -triple i686-win32, though.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Matt Beaumont-Gay [Sat, 21 Apr 2012 02:13:04 +0000 (02:13 +0000)]
Also highlight the member name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 21 Apr 2012 01:51:32 +0000 (01:51 +0000)]
Fix test failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 21 Apr 2012 01:27:54 +0000 (01:27 +0000)]
When declaring a template, check that the context doesn't already contain a
declaration of the same name. r155187 caused us to miss this if the prior
declaration did not declare a type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Matt Beaumont-Gay [Sat, 21 Apr 2012 01:12:48 +0000 (01:12 +0000)]
Fix a QoI bug reported by a user.
Set the source location for the "member reference base type ... is not a
structure or union" diag to point at the operator rather than the member name.
If we're giving this diagnostic because of a typo'd '.' in place of a ';' at
the end of a line, the caret previously pointed at the identifier on the
following line, which isn't as helpful as it could be. Pointing the caret at
the '.' makes it more obvious what the problem is.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sat, 21 Apr 2012 00:21:42 +0000 (00:21 +0000)]
Link with Foundation whenever -fobjc-link-runtime is used. <rdar://
10976177 >
The check for excluding libarclite on i386 MacOSX should not apply to
Foundation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155263
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 20 Apr 2012 22:07:11 +0000 (22:07 +0000)]
[libclang] Don't set dylib load address to 0xe000000.
Per Greg Clayton:
libclang.dylib is trying to be smart and load itself at a valid address
to be able to load faster which would work for 32 bit systems,
bit won't make any difference on 64 bit systems.
It should either pick a better 64 bit address, or just let itself be loaded at zero.
rdar://
11159142
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155246
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 20 Apr 2012 22:00:46 +0000 (22:00 +0000)]
objective-c arc: With currnt documentation,
objc_returns_inner_pointer attribute can be applied to
methods only. Diagnsose otherwise, instead of
crashing. // rdar://
11253688
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155245
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 20 Apr 2012 21:59:08 +0000 (21:59 +0000)]
[analyzer] Run remove dead bindings right before leaving a function.
This is needed to ensure that we always report issues in the correct
function. For example, leaks are identified when we call remove dead
bindings. In order to make sure we report a callee's leak in the callee,
we have to run the operation in the callee's context.
This change required quite a bit of infrastructure work since:
- We used to only run remove dead bindings before a given statement;
here we need to run it after the last statement in the function. For
this, we added additional Program Point and special mode in the
SymbolReaper to remove all symbols in context lower than the current
one.
- The call exit operation turned into a sequence of nodes, which are
now guarded by CallExitBegin and CallExitEnd nodes for clarity and
convenience.
(Sorry for the long diff.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155244
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 20 Apr 2012 21:59:00 +0000 (21:59 +0000)]
[analyzer] Remove unused method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155243
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 20 Apr 2012 21:58:56 +0000 (21:58 +0000)]
[analyzer] Constify
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155242
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 20 Apr 2012 20:34:25 +0000 (20:34 +0000)]
Update doxygen comment to match changes in r155218.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155232
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 20 Apr 2012 20:05:08 +0000 (20:05 +0000)]
In r135308, -save-temps was modified to prevent a temporary file from
overwriting the input file. For example,
clang -c foo.s -o foo.o -save-temps
Unfortunately, the original patch didn't compare the paths of the input and
output files. Thus, something like the following would fail to create foo.s.
cd /tmp/obj
clang -c ../src/foo.s -o foo.o -save-temps
rdar://
11252615
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155224
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 20 Apr 2012 18:46:14 +0000 (18:46 +0000)]
Fix bug where a class's (deleted) copy constructor would be implicitly given a
non-const reference parameter type if the class had any subobjects with deleted
copy constructors. This causes a rejects-valid if the class's copy constructor
is explicitly defaulted (as happens for some implementations of std::pair etc).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155218
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 20 Apr 2012 18:43:50 +0000 (18:43 +0000)]
c++11 status: Replace references to "SVN" with "3.1" to avoid confusion when they diverge.
Color is still yellow, as 3.1 isn't released yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155217
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 20 Apr 2012 17:21:42 +0000 (17:21 +0000)]
When generating the clang crash diagnostic script, strip out the -o flag.
Add a FIXME comment.
rdar://
11283560
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155207
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 20 Apr 2012 17:08:59 +0000 (17:08 +0000)]
Add a little hack to emulate a clang crash, so the diagnostics generator can be
tested.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 20 Apr 2012 17:07:07 +0000 (17:07 +0000)]
minor improvement to couple of tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155204
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Fri, 20 Apr 2012 14:07:01 +0000 (14:07 +0000)]
No need to put the SourceManager in with the ASTContext, as the ASTContext
already contains the SourceManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Fri, 20 Apr 2012 09:03:40 +0000 (09:03 +0000)]
Pass -mfloat-abi= to linuxtools assembler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155191
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Fri, 20 Apr 2012 08:05:00 +0000 (08:05 +0000)]
Fix bug 12574 - Avoid infinite recursion in constructors and destructors when using Microsoft C++ ABI
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155189
91177308 -0d34-0410-b5e6-
96231b3b80d8