Граф коммитов

23559 Коммитов

Автор SHA1 Сообщение Дата
Daniel Dunbar 39065a5494 Frontend: Add -target-linker-version, for specifying the version string of the
linker in use.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110871 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 23:07:42 +00:00
Eli Friedman 0eff4e73d5 Fix oversight with symbolic names in TargetInfo::validateInputConstraint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 23:03:37 +00:00
Argyrios Kyrtzidis 646395bbca -Make TokenID of IdentifierInfo read-only, remove setTokenID().
-There are 2 instances that change the TokenID for GNU libstdc++ 4.2 compatibility.
  To handler those cases introduce a RevertedTokenID bitfield, RevertTokenIDToIdentifier() and hasRevertedTokenIDToIdentifier() methods.
  Store the bitfield in PCH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110868 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 22:55:12 +00:00
John McCall b3a29f1327 Revise r110163: don't mark weak functions nounwind, because the optimizer
treats that as a contract to be fulfilled by any replacements.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110864 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 22:38:33 +00:00
Abramo Bagnara 2577743c56 Added locations and type source info for DeclarationName.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110860 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 22:01:17 +00:00
Douglas Gregor e6b1bb6e7f Once code completion has completed, pass a "completion context" on to
the code-completion consumer. The consumer can use this information to
augument, filter, or display the code-completion results.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110858 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 21:23:17 +00:00
Fariborz Jahanian 741c362a1c Change text of diagnostics on user request.
radar 7948654.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110857 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 21:22:15 +00:00
Devang Patel d67ef0eed4 Emit a stop point for delegate constructor call. This gives user a chance to step into constructor body.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110853 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 21:04:37 +00:00
John McCall a5f2de2e49 When re-raising an exception after a cleanup, we need to call _Unwind_Resume_or_Rethrow
instead of _Unwind_Resume.  With SJLJ exceptions, this is spelled
"_Unwind_SjLj_Resume_or_Rethrow", not "_Unwind_SjLj_Resume", which has
significantly different semantics.

We should actually never be generating a call to _Unwind_SjLj_Resume directly;
even if we were generating true cleanups (which we aren't because of the
horrible hack), we should be calling __cxa_end_cleanup() on ARM.  I
haven't implemented this because there's little point as long as the HH is
present.

I believe this fixes <rdar://problem/8281377>.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110851 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 20:59:53 +00:00
Eli Friedman 1cf26f5c10 Work in progress for PR7864. Someone more familiar with ObjC++ needs to fill
in the code after the "FIXME: Needs to be written".



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110849 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 20:41:51 +00:00
Bruno Cardoso Lopes 4fbe7aad30 Remove rsqrtps_nr256 and sqrtps_nr256 builtins, at least until we need them
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110844 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 19:18:36 +00:00
Fariborz Jahanian 36e738a8cb Update documentation regarding use of 'class' in
property-dot syntax.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110841 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 18:57:26 +00:00
Sebastian Redl 27372b4f1f Reintroduce the ASTConsumer/ASTUnit fix from r110610, it has nothing to do with the breakage.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110840 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 18:52:41 +00:00
Bruno Cardoso Lopes 70141c2d11 Fix define inserting a comma :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110839 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 18:45:43 +00:00
Fariborz Jahanian faa3449a0f IRGen support for functions returning objc object
types. Fixes PR7865.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110832 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 17:37:35 +00:00
Douglas Gregor e1e13bf568 Add a (currently unused) "options" parameter to
clang_reparseTranslationUnit(), along with a function to retrieve the
default recommended reparsing options for a translation unit.

Also, add the CXTranslationUnit_CacheCompletionResults flag, which is
also currently unused.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110811 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 15:58:42 +00:00
Daniel Dunbar 30216ac9a9 Remove wpa 'example', it isn't being maintained.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110809 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 15:21:41 +00:00
Benjamin Kramer 476d8b863c Random temporary string cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110807 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 14:47:12 +00:00
Douglas Gregor 7f1c547ee6 If name lookup finds different type declarations in different scopes
that actually refer to the same underlying type, it is not an
ambiguity; add uniquing support based on the canonical type of type
declarations. Fixes <rdar://problem/8296180>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110806 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 14:45:53 +00:00
Douglas Gregor 6bf1830875 Fix a thinko in the creation of temporary files for the precompiled preamble
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110804 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 13:06:56 +00:00
Douglas Gregor deacbdca55 Speculatively revert r110610 " Make ObjCInterfaceDecl redeclarable,
and create separate decl nodes for forward declarations and the
definition," which appears to be causing significant Objective-C
breakage.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 12:19:30 +00:00
Zhongxing Xu 018220c343 MemRegion can refer to ASTContext without external help.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110784 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 06:10:55 +00:00
Daniel Dunbar 18451ea83a tests: Add a missing -Xclang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 02:32:03 +00:00
Daniel Dunbar bf3d55243a ARM: Recognize single precision float register names.
- We don't recognize double or NEON register names yet -- we don't have the
   infrastructure to generate the right clobbers for them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110775 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 02:17:20 +00:00
Daniel Dunbar 1fd71718ee ARM: Swap which registers we consider real / aliases to match LLVM and llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110774 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 02:17:11 +00:00
Douglas Gregor 604eb65686 Improve our handling of user-defined conversions when computing
implicit conversion sequences. In particular, model the "standard
conversion" from a class to its own type (or a base type) directly as
a standard conversion in the normal path *without* trying to determine
if there is a valid copy constructor. This appears to match the intent
of C++ [over.best.ics]p6 and more closely matches GCC and EDG.

As part of this, model non-lvalue reference initialization via
user-defined conversion in overloading the same way we handle it in
InitializationSequence, separating the "general user-defined
conversion" and "conversion to compatible class type" cases.

The churn in the overload-call-copycon.cpp test case is because the
test case was originally wrong; it assumed that we should do more
checking for copy constructors that we actually should, which affected
overload resolution.

Fixes PR7055. Bootstrapped okay.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110773 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 02:15:33 +00:00
Bruno Cardoso Lopes 7fc3702694 Remove 256-bit cast built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110771 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 02:14:38 +00:00
John McCall 043488129f Make this test a little less dependent on exact optimizer results.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110770 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 02:06:44 +00:00
Bruno Cardoso Lopes f0e96c9258 Remove 256-bit unpack built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110768 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 01:43:24 +00:00
Bruno Cardoso Lopes b33aa0f7df Remove 256-bit shuffle built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110766 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 01:17:34 +00:00
John Thompson 6f15803491 Fix for pr7869, inline asm mult-alt constraints.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110764 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 00:58:20 +00:00
John McCall d96a8e771c Fix a bug in @finally emission in both the fragile and non-fragile EH schemes
where we weren't accounting for the possibility that a @finally block might
have internal cleanups and therefore might write to the cleanup destination slot.

Fixes <rdar://problem/8293901>.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 00:16:14 +00:00
Ted Kremenek f598087b4a Have GRCoreEngine record the blocks where analysis was aborted because we visited a block too many times along a given path. This is to support the unreachable code analysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110755 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 00:03:02 +00:00
Ted Kremenek 594ca4325c Add test case for <rdar://problem/8288645>. While this is fixed in trunk, we previously were getting the following assertion failure not too long ago:
Assertion failed: (getContainingDC(DC) == CurContext && "The next DeclContext should be lexically contained in the current one.")

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 22:30:29 +00:00
John Thompson c59a44d01b Something's wrong with this test on other platforms. I'll probably need to simplify it later. For now revert.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110738 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 22:04:00 +00:00
Fariborz Jahanian 048d03f9a2 Fix test to not depend on objc.h header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110729 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 20:59:58 +00:00
Devang Patel 4c4acc0352 Simplify
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110716 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 20:16:57 +00:00
Devang Patel 6a9bb30819 Test case for llvm r110712.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110713 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 20:01:51 +00:00
Daniel Dunbar 74dc588d62 tests: Avoid unnecessary redirection.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110709 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 19:33:56 +00:00
Daniel Dunbar ea901ae534 tests: Tests which include system headers must use the driver, not -cc1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110708 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 19:32:44 +00:00
John Thompson ef44e11107 Slightly revised handling of mult-alt constraints, to avoid an assert, until we have the full fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 19:20:14 +00:00
John McCall 224124c7b8 When initializing a static local, pop the guard-abort EH cleanup after
the variable is fully initialized.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110704 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 18:51:44 +00:00
Fariborz Jahanian 17c6c85575 an objective-c++ test for -Wstrict-selector-match
(radar 8127244).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110702 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 18:32:37 +00:00
Devang Patel 0317ab0f54 Do not use DIGlobalVariable to emit debugging information for enums.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110697 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 18:27:15 +00:00
Fariborz Jahanian ba55198301 Fix a spurious warning when message sent to qualified-id
type receiver (pr7861).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110696 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 18:10:50 +00:00
Ted Kremenek 79a79f5d32 Turn on idempotent operations checker when using --analyze.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110695 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 18:03:13 +00:00
Devang Patel 25c2c8fb93 Simplify code and add comments, in code that generate debug info for constant integer globals, based on Chris's feedback.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110694 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 17:53:33 +00:00
Daniel Dunbar 9d5600a834 Driver/FreeBSD: Infer the right arch name in the presence of -m32,-m64, for the
cases we care about.
 - This is eventually going to be unified outside the host specific code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110693 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 17:39:05 +00:00
Douglas Gregor 648220ed00 Teach the libclang cursor visitor to walk into the type information
provided by __builtin_types_compatible_p and __builtin_va_arg
expressions, now that Abramo has added proper type-source information
to those expressions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110681 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 15:02:34 +00:00
Douglas Gregor 9bcd4d4a4b Eliminate unnecessary uses of TemporaryBase in TreeTransform;
transforming TypeSourceInfos already gives us proper (and better)
source-location information.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110678 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 14:27:00 +00:00