]>
granicus.if.org Git - clang/log
Sebastian Redl [Sun, 5 Jun 2011 12:23:08 +0000 (12:23 +0000)]
Expand on braced init list tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132661
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 5 Jun 2011 06:15:20 +0000 (06:15 +0000)]
Identity and non-identity standard conversion sequences can be
compared even when one is a reference binding and the other is not
(<rdar://problem/
9173984 >), but the definition of an identity sequence
does not involve lvalue-to-rvalue adjustments (PR9507). Fix both
inter-related issues.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 5 Jun 2011 05:27:58 +0000 (05:27 +0000)]
Add name mangling for expr .* expr. Fixes PR9983 / <rdar://problem/
9486332 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132659
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 5 Jun 2011 05:14:41 +0000 (05:14 +0000)]
Allow block returns in C++ with the form
return <expression> ;
in blocks with a 'void' result type, so long as <expression> has type
'void'. This follows the rules for C++ functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132658
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 5 Jun 2011 05:04:23 +0000 (05:04 +0000)]
When inferring the result type of a block based on a return statement
with a type-dependent expression, infer the placeholder type
'Context.DependentTy' to indicate that this is just a
placeholder. Fixes PR9982 / <rdar://problem/
9486685 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 4 Jun 2011 23:22:38 +0000 (23:22 +0000)]
Fix cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 4 Jun 2011 21:35:57 +0000 (21:35 +0000)]
Remove the old implementation of -verify, which has been dead code since r88750.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132651
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 4 Jun 2011 09:06:25 +0000 (09:06 +0000)]
Revert r132630. GCC passes everything down, we aren't trying to replicate that.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132637
91177308 -0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Sat, 4 Jun 2011 07:40:24 +0000 (07:40 +0000)]
Adjust the linker for PowerPC64/-m32 on FreeBSD too.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132635
91177308 -0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Sat, 4 Jun 2011 07:37:31 +0000 (07:37 +0000)]
Make -m32 work on FreeBSD/PowerPC64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132634
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 4 Jun 2011 06:48:26 +0000 (06:48 +0000)]
GCC passes -z foo directly through to the linker (and yes -z=foo becomes
"-z =foo"). Do the same thing in clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132630
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 4 Jun 2011 06:27:06 +0000 (06:27 +0000)]
On linux, -nostdlib was causing a --start-group with no --end-group to be passed
to the linker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 4 Jun 2011 05:19:42 +0000 (05:19 +0000)]
Identifiers with _CapitalLetter are reserved, so don't use them. Prefer the
common C++ pattern of using the same name for the constructor argument as you
do for the member. Noticed by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132626
91177308 -0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Sat, 4 Jun 2011 04:38:16 +0000 (04:38 +0000)]
These tests require particular registered targets. Declared as such.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132623
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Sat, 4 Jun 2011 04:32:43 +0000 (04:32 +0000)]
Reimplement r132572 on top of a FoldingSet, thus hopefully solving both
the self-host failures and Chandler's concerns.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132622
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 4 Jun 2011 02:04:22 +0000 (02:04 +0000)]
Remove extraneous "virtual" keyword and non-virtual destructor. Caught by
-Wnon-virtual-dtor!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132619
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Sat, 4 Jun 2011 01:50:25 +0000 (01:50 +0000)]
[analyzer] Change an indent-if to an early return. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132618
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Sat, 4 Jun 2011 01:47:27 +0000 (01:47 +0000)]
[analyzer] Don't crash when copying an unknown number of bytes with memcpy(). Also handle all memcpy-family return values in evalCopyCommon(), rather than having some outside and some inside.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132617
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Sat, 4 Jun 2011 01:22:21 +0000 (01:22 +0000)]
[analyzer] Remove extra assignment that actually lost a few of the assumptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132614
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 4 Jun 2011 00:47:47 +0000 (00:47 +0000)]
Add support for builtin astype:
__builtin_astype(): Used to reinterpreted as another data type of the same size using for both scalar and vector data types.
Added test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132612
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 4 Jun 2011 00:38:02 +0000 (00:38 +0000)]
Rework r132576.
Emit debug info only if there is an insertion point. The debug info should not force an insertion point. Codegen may later on decide to not emit code for some reason, see extensive comment in CodeGenFunction::EmitStmt(), and debug info should not get in the way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132610
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Sat, 4 Jun 2011 00:05:23 +0000 (00:05 +0000)]
[analyzer] Fix comment for (still-disabled) evalStrncpy
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132608
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Sat, 4 Jun 2011 00:04:22 +0000 (00:04 +0000)]
[analyzer] Fix handling of "copy zero bytes" for memcpy and friends.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132607
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Fri, 3 Jun 2011 23:42:56 +0000 (23:42 +0000)]
[analyzer] __mempcpy_chk is the same as mempcpy (at least to CStringChecker)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132605
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jonathan D. Turner [Fri, 3 Jun 2011 23:11:16 +0000 (23:11 +0000)]
Improvements to abbreviations for PCH which add support for EnumDecl, ObjCIvarDecl, TypedefDecl, VarDecl and FieldDecl and improve support for ParmVarDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132604
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 3 Jun 2011 23:08:58 +0000 (23:08 +0000)]
Expose @synthesize and @dynamic via their own cursor kinds in
libclang. Fixes <rdar://problem/
9537904 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Fri, 3 Jun 2011 22:24:54 +0000 (22:24 +0000)]
These tests require particular registered targets. Declared as such.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132600
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jonathan D. Turner [Fri, 3 Jun 2011 21:46:44 +0000 (21:46 +0000)]
Test of commit access.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132596
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Fri, 3 Jun 2011 21:10:40 +0000 (21:10 +0000)]
Revert r132572 to figure out why it broke selfhost and clean it up as
suggested by Chandler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 3 Jun 2011 19:21:47 +0000 (19:21 +0000)]
Emit debug info only if there is an insertion point. The debug info should not force an insertion point. Codegen may later on decide to not emit code for some reason, see extensive comment in CodeGenFunction::EmitStmt(), and debug info should not get in the way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Fri, 3 Jun 2011 18:36:49 +0000 (18:36 +0000)]
Begin implementing a cache of special member lookups. Currently only
destructors are implemented but other special members are on the way,
which is where the real benefits of this will be visible.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132572
91177308 -0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Fri, 3 Jun 2011 18:36:30 +0000 (18:36 +0000)]
Added registered targets for in-test dependency declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Matt Beaumont-Gay [Fri, 3 Jun 2011 18:30:50 +0000 (18:30 +0000)]
Don't warn about -Wno-foo where foo is an unknown warning option. Explicitly
passing -Wunknown-warning-option will re-enable warnings about -Wno-foo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Fri, 3 Jun 2011 18:05:29 +0000 (18:05 +0000)]
I've had too much to drink, apparently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132566
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Fri, 3 Jun 2011 18:00:36 +0000 (18:00 +0000)]
Warn about missing parentheses for conditional operator.
Warn in cases such as "x + someCondition ? 42 : 0;",
where the condition expression looks arithmetic, and has
a right-hand side that looks boolean.
This (partly) addresses http://llvm.org/bugs/show_bug.cgi?id=9969
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132565
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Fri, 3 Jun 2011 17:55:52 +0000 (17:55 +0000)]
Implement a warning flag for the warning about default arguments making
special member functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132564
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Fri, 3 Jun 2011 17:37:26 +0000 (17:37 +0000)]
Make -Wignored-qualifiers point to the first ignored qualifier.
In code such as "char* volatile const j()", Clang warns that "volatile
const" will be ignored. Make it point to the first ignored qualifier,
and simplify the code a bit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132563
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 3 Jun 2011 17:23:47 +0000 (17:23 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132560
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 3 Jun 2011 17:05:26 +0000 (17:05 +0000)]
Fix typedef's context.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132557
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 3 Jun 2011 15:39:42 +0000 (15:39 +0000)]
We were looking at /usr/lib only if the distro had multilib. This is bogus:
we look in /usr/lib to find crt1.o, and that depends only on where libc
is installed.
This fixes the case of using a different gcc installation in a distro
without multilib.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132551
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 3 Jun 2011 15:23:24 +0000 (15:23 +0000)]
Add support for centos.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 3 Jun 2011 14:52:25 +0000 (14:52 +0000)]
80-column cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132548
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 3 Jun 2011 14:28:43 +0000 (14:28 +0000)]
Improve the instantiation of static data members in
Sema::RequireCompleteExprType() a bit more, setting the point of
instantiation if needed, and skipping explicit specializations entirely.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132547
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Fri, 3 Jun 2011 13:59:45 +0000 (13:59 +0000)]
Revert r132544. Accidental commit. I got confused with the Tortoise SVN menu.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132546
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Fri, 3 Jun 2011 13:51:55 +0000 (13:51 +0000)]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 3 Jun 2011 13:28:31 +0000 (13:28 +0000)]
80-col cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 3 Jun 2011 13:24:15 +0000 (13:24 +0000)]
Separate out these paths a bit by architecture. There are likely other
places this is a problem.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132542
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 3 Jun 2011 13:06:30 +0000 (13:06 +0000)]
Add multi-arch include support for Ubuntu 11.11 with gcc 4.6.0.
Patch by Tobias Hunger!
Fixes PR10008
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132541
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 3 Jun 2011 10:33:36 +0000 (10:33 +0000)]
Copy IsWarnIfUnused too when making a copy of a MacroInfo.
Found by valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132540
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Fri, 3 Jun 2011 09:44:29 +0000 (09:44 +0000)]
My testing shows that function stat has no problem with trailing separators. (tested on Windows and Darwin).
This fixes a bug on Windows:
clang c:\test.cpp
Here the call stat("c:") is not recognized as a directory (must be "c:\").
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132539
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Fri, 3 Jun 2011 07:35:49 +0000 (07:35 +0000)]
Correctly revert r131347: function explicit specialization at class scope.
I'll try to implement this functionality again soon.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132536
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 3 Jun 2011 06:23:57 +0000 (06:23 +0000)]
Clean up the "non-POD memaccess" stuff some. This adds a properly named
diagnostic group to cover the cases where we have definitively bad
behavior: dynamic classes.
It also rips out the existing support for POD-based checking. This
didn't work well, and triggered too many false positives. I'm looking
into a possibly more principled way to warn on the fundamental buggy
construct here. POD-ness isn't the critical aspect anyways, so a clean
slate is better. This also removes some silliness from the code until
the new checks arrive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132534
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 3 Jun 2011 03:49:51 +0000 (03:49 +0000)]
Untabify and fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132531
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 3 Jun 2011 03:35:07 +0000 (03:35 +0000)]
When performing template argument deduction given a function argument
of incomplete array type, attempt to complete the array type. This was
made much easier by Chandler's addition of RequireCompleteExprType(),
which I've tweaked (slightly) to improve the consistency of the
DeclRefExpr. Fixes PR7985.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132530
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 3 Jun 2011 02:59:40 +0000 (02:59 +0000)]
When checking the instantiation of a default template argument against
the template parameter, perform the checking as a "specified" template
argument rather than a "deduced" template argument; the latter implies
stricter type checking that is not permitted for default template
arguments.
Also, cleanup our handling of substitution of explicit template
arguments for a function template. We were actually performing some
substitution of default arguments at this point!
Fixes PR10069.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132529
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 3 Jun 2011 02:27:19 +0000 (02:27 +0000)]
Introduce additional abbreviations into the AST writer for
DeclRefExprs, IntegerLiterals, and others, reducing Cocoa PCH size by
~1% and C++ header size by ~2.5%. From Jonathan Turner!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132528
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 3 Jun 2011 00:54:56 +0000 (00:54 +0000)]
Fix the Windows buildbots, now that I can actually see what was going wrong with this test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132521
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 3 Jun 2011 00:02:45 +0000 (00:02 +0000)]
Test case for some AVX builtins. Patch by Syoyo Fujita!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 2 Jun 2011 22:18:46 +0000 (22:18 +0000)]
We already have support for using c++ headers from a custom location.
Before this patch we would still link with the system libstdc++. It worked
fine most of the time, but would break if the used headers were a lot newer
than the system libraries.
This patch changes the driver to use the libraries corresponding to the
headers the user selected.
This fixes, for example, using 4.5 headers in a system with gcc 4.1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 2 Jun 2011 22:16:39 +0000 (22:16 +0000)]
Switch a ridiculous grep over to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132496
91177308 -0d34-0410-b5e6-
96231b3b80d8
Galina Kistanova [Thu, 2 Jun 2011 21:55:39 +0000 (21:55 +0000)]
Reverted r132330, r132321, r132320, r132319 as per discussion. Will try in-test requirement declarations instead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132491
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 2 Jun 2011 21:36:53 +0000 (21:36 +0000)]
Add Debian wheezy/sid to ToolChains.cpp. Patch by Michael Wild. PR10064.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132489
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 2 Jun 2011 20:01:46 +0000 (20:01 +0000)]
[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 )
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132481
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 2 Jun 2011 18:58:46 +0000 (18:58 +0000)]
Change how we link libprofile_rt.a. While at it, refactor the code a bit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 2 Jun 2011 17:30:53 +0000 (17:30 +0000)]
Add -fno-gnu89-inline.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132468
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Thu, 2 Jun 2011 16:58:33 +0000 (16:58 +0000)]
Reverts the Tooling changes as requested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 2 Jun 2011 16:13:27 +0000 (16:13 +0000)]
Implement -fgnu89-inline. Fixes PR10041.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132460
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 2 Jun 2011 04:02:27 +0000 (04:02 +0000)]
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 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132452
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Thu, 2 Jun 2011 00:47:27 +0000 (00:47 +0000)]
Fix 80-column violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132447
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 2 Jun 2011 00:42:47 +0000 (00:42 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132446
91177308 -0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Thu, 2 Jun 2011 00:09:17 +0000 (00:09 +0000)]
Add stuff for o32 ABI conformance.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 1 Jun 2011 22:45:49 +0000 (22:45 +0000)]
Improve the readability of the "Expressive Diagnostics" page, from Dave Yost!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 1 Jun 2011 22:37:07 +0000 (22:37 +0000)]
Fix an incorrect warning about explicit template specializations for
nested types, from Michael Han!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 1 Jun 2011 21:52:17 +0000 (21:52 +0000)]
XFAIL the test on windows.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132426
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 1 Jun 2011 21:37:00 +0000 (21:37 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 1 Jun 2011 20:09:40 +0000 (20:09 +0000)]
Rename -Wunknown-attributes to -Wattributes to match GCC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132422
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 1 Jun 2011 17:45:02 +0000 (17:45 +0000)]
Remove derelict documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132407
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 1 Jun 2011 16:57:54 +0000 (16:57 +0000)]
Don't use stdint.h; including it directly is not allowed from LLVM code because it doesn't exist on MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132403
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 1 Jun 2011 15:55:51 +0000 (15:55 +0000)]
The expression in a noexcept exception-specification is a
constant-expression, and, therefore, an unevaluated operand. Make it
so.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 1 Jun 2011 15:12:24 +0000 (15:12 +0000)]
Implement comparisons between nullptr and Objective-C object
pointers. Fixes PR10052.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132397
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 1 Jun 2011 08:57:04 +0000 (08:57 +0000)]
Remove pointless assert, N is unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 1 Jun 2011 08:56:20 +0000 (08:56 +0000)]
Change a name for consistency and hopefully unbreak builds with gcc 4.6.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132391
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 1 Jun 2011 07:44:31 +0000 (07:44 +0000)]
Even a return statement of an expression with a dependent type in a void
function might need to clean up its temporaries. Fixes PR10057.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 1 Jun 2011 05:43:53 +0000 (05:43 +0000)]
[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 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Wed, 1 Jun 2011 04:14:20 +0000 (04:14 +0000)]
Microsoft friend acting as a forward declaration; try#2. Now only 2 lines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 1 Jun 2011 03:59:13 +0000 (03:59 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 1 Jun 2011 01:21:01 +0000 (01:21 +0000)]
Fixes Makefile based build for examples/Tooling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132380
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 1 Jun 2011 00:59:36 +0000 (00:59 +0000)]
Put Parse before Sema on the link line since parse depends on sema.
Also reflow these lines to fit in 80-col.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132379
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 1 Jun 2011 00:18:08 +0000 (00:18 +0000)]
Fix test breakage due to example not being built.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132376
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 31 May 2011 23:49:32 +0000 (23:49 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 May 2011 22:37:03 +0000 (22:37 +0000)]
Fix test, check for stable strings in the output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Tue, 31 May 2011 22:36:05 +0000 (22:36 +0000)]
Revert 132332 (Microsoft friend as a forward declaration), John McCall pointed out a better/simpler way to do it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132369
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 May 2011 22:21:11 +0000 (22:21 +0000)]
Robustify objc method type description (subroutine type) by walking parameters directly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132368
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 May 2011 21:18:50 +0000 (21:18 +0000)]
List objective-c ineterfaces as public types in dwarf debug info output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132361
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 May 2011 20:46:46 +0000 (20:46 +0000)]
List c++ class type as public type in dwarf debug info output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132357
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Tue, 31 May 2011 19:54:49 +0000 (19:54 +0000)]
Ensure we enter an unevaluated context when instantiating a noexcept
expression. Fixes bug raised by hhinnant to cfe-dev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 May 2011 15:58:55 +0000 (15:58 +0000)]
Driver/Clang: Simplify code to use arch enumerations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132338
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Tue, 31 May 2011 12:44:46 +0000 (12:44 +0000)]
Recreate the DeclContext before adding the implicit friend forward declaration. This should fix the asserting buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132333
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Tue, 31 May 2011 11:44:00 +0000 (11:44 +0000)]
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;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 31 May 2011 07:58:42 +0000 (07:58 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132331
91177308 -0d34-0410-b5e6-
96231b3b80d8