]> granicus.if.org Git - clang/log
clang
11 years agoObjectiveC migrator: Fixes public buildbot failures,
Fariborz Jahanian [Fri, 2 Aug 2013 18:00:53 +0000 (18:00 +0000)]
ObjectiveC migrator: Fixes public buildbot failures,
in my previous patch which was reverted in r187657

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187661 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agorevert patch I added in r187655. It still breaks public
Fariborz Jahanian [Fri, 2 Aug 2013 16:25:41 +0000 (16:25 +0000)]
revert patch I added in r187655. It still breaks public
buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187657 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC migration. Check-in patch reverted in r187634.
Fariborz Jahanian [Fri, 2 Aug 2013 16:00:08 +0000 (16:00 +0000)]
ObjectiveC migration. Check-in patch reverted in r187634.
Also removed check for "NS" prefix for class name.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187655 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoConvert last use of st_dev in clang.
Rafael Espindola [Fri, 2 Aug 2013 15:31:35 +0000 (15:31 +0000)]
Convert last use of st_dev in clang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187654 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove rather oddly merged logic from AArch64 commit.
Tim Northover [Fri, 2 Aug 2013 11:38:46 +0000 (11:38 +0000)]
Remove rather oddly merged logic from AArch64 commit.

We seem to have ended up with both an inlined check of permitted NEON base
types and a call to a function.

Since the outer if was (I believe) strictly weaker than the one in the
function, there's no actual user-visible behaviour change, so no tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187652 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Fix string breaking after "<<".
Daniel Jasper [Fri, 2 Aug 2013 11:01:15 +0000 (11:01 +0000)]
clang-format: Fix string breaking after "<<".

Before, clang-format would not break overly long string literals
following a "<<" with FormatStyle::AlwaysBreakBeforeMultilineStrings
being set.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187650 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAssume UniqueID is zero for invalid PPRegion to fix uninitialized reads reported...
Alexey Samsonov [Fri, 2 Aug 2013 09:06:39 +0000 (09:06 +0000)]
Assume UniqueID is zero for invalid PPRegion to fix uninitialized reads reported by MSan

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187647 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix indentation. No functional change.
Craig Topper [Fri, 2 Aug 2013 05:10:31 +0000 (05:10 +0000)]
Fix indentation. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187644 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert r187537 "clang-cl: add more options"
Hans Wennborg [Fri, 2 Aug 2013 01:29:28 +0000 (01:29 +0000)]
Revert r187537 "clang-cl: add more options"

It broke the "phase1 - sanity" buildbot. Reverting until
we can figure out what's going on.

And Eric says it broke all current Mac builds actually.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187640 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoWhen merging redeclaration chains across modules, if a declaration is visible
Richard Smith [Fri, 2 Aug 2013 01:09:12 +0000 (01:09 +0000)]
When merging redeclaration chains across modules, if a declaration is visible
in one module but is only declared as a friend in another module, keep it
visible in the result of the merge.

This is incomplete on two axes:

1) Our handling of local extern declarations is basically broken (we put them
in the wrong decl context, and don't find them in redeclaration lookup, unless
they've previously been declared), and this results in them making friends
visible after a merge.

2) Eventually we'll need to mark that this has happened, and more carefully
check whether a declaration should be visible if it was only visible in some
of the modules in which it was declared. Fortunately it's rare for the
identifier namespace of a declaration to change along its redeclaration chain.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187639 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-cl: add more options
Hans Wennborg [Fri, 2 Aug 2013 00:30:15 +0000 (00:30 +0000)]
clang-cl: add more options

This adds a bunch of options to clang-cl. Notably, this includes
all the options that get passed when doing a default build of a
command-line project with msbuild.exe in Debug and Release modes,
and I believe all flags from Reid's original patch.

Differential Revision: http://llvm-reviews.chandlerc.com/D1264

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187637 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert "ObjectiveC migrator. Migrate to instancetype return type for mehods with...
Rafael Espindola [Fri, 2 Aug 2013 00:01:14 +0000 (00:01 +0000)]
Revert "ObjectiveC migrator. Migrate to instancetype return type for mehods with certain prefix selector matching their class names' suffix."

This reverts commit r187626.

It is breaking the bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187634 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert "If -fslp-vectorize or -fno-slp-vectorize are given, honor this selection...
Rafael Espindola [Thu, 1 Aug 2013 23:56:42 +0000 (23:56 +0000)]
Revert "If -fslp-vectorize or -fno-slp-vectorize are given, honor this selection. If no flag is given, enable it for -O3."

This reverts commit r187630.

Looks like it is breaking the bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187633 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Operator precendence in ObjC method exprs.
Daniel Jasper [Thu, 1 Aug 2013 23:13:03 +0000 (23:13 +0000)]
clang-format: Operator precendence in ObjC method exprs.

Patch (mostly) by Adam Strzelecki. Thanks!

Before:
  [self aaaaaa:bbbbbbbbbbbbb
      aaaaaaaaaa:bbbbbbbbbbbbbbbbb
           aaaaa:bbbbbbbbbbb +
      bbbbbbbbbbbb aaaa:bbb];

After:
  [self aaaaaa:bbbbbbbbbbbbb
      aaaaaaaaaa:bbbbbbbbbbbbbbbbb
           aaaaa:bbbbbbbbbbb + bbbbbbbbbbbb
            aaaa:bbb];

This fixes llvm.org/PR16150.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187631 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoIf -fslp-vectorize or -fno-slp-vectorize are given, honor this selection. If no flag...
Nadav Rotem [Thu, 1 Aug 2013 22:56:53 +0000 (22:56 +0000)]
If -fslp-vectorize or -fno-slp-vectorize are given, honor this selection. If no flag is given, enable it for -O3.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187630 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC migrator. Migrate to instancetype return type
Fariborz Jahanian [Thu, 1 Aug 2013 22:29:32 +0000 (22:29 +0000)]
ObjectiveC migrator. Migrate to instancetype return type
for mehods with certain prefix selector matching their class names'
suffix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187626 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] Don't process autorelease counts in synthesized function bodies.
Jordan Rose [Thu, 1 Aug 2013 22:16:36 +0000 (22:16 +0000)]
[analyzer] Don't process autorelease counts in synthesized function bodies.

We process autorelease counts when we exit functions, but if there's an
issue in a synthesized body the report will get dropped. Just skip the
processing for now and let it get handled when the caller gets around to
processing autoreleases.

(This is still suboptimal: objects autoreleased in the caller context
should never be warned about when exiting a callee context, synthesized
or not.)

Second half of <rdar://problem/14611722>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187625 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[analyzer] Silently drop all reports within synthesized bodies.
Jordan Rose [Thu, 1 Aug 2013 22:16:30 +0000 (22:16 +0000)]
[analyzer] Silently drop all reports within synthesized bodies.

Much of our diagnostic machinery is set up to assume that the report
end path location is valid. Moreover, the user may be quite confused
when something goes wrong in our BodyFarm-synthesized function bodies,
which may be simplified or modified from the real implementations.
Rather than try to make this all work somehow, just drop the report so
that we don't try to go on with an invalid source location.

Note that we still handle reports whose /paths/ go through invalid
locations, just not those that are reported in one.

We do have to be careful not to lose warnings because of this.
The impetus for this change was an autorelease being processed within
the synthesized body, and there may be other possible issues that are
worth reporting in some way. We'll take these as they come, however.

<rdar://problem/14611722>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187624 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Don't break empty 2nd operand of ternary expr.
Daniel Jasper [Thu, 1 Aug 2013 22:05:00 +0000 (22:05 +0000)]
clang-format: Don't break empty 2nd operand of ternary expr.

Before:
  some_quite_long_variable_name_ptr
      ?
      : argv[9] ? ptr : argv[8] ? : argv[7] ? ptr : argv[6];
After:
  some_quite_long_variable_name_ptr
      ?: argv[9] ? ptr : argv[8] ?: argv[7] ? ptr : argv[6];

Patch by Adam Strzelecki, thank you!!

This fixed llvm.org/PR16758.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187622 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse llvm::sys::fs::UniqueID for windows and unix.
Rafael Espindola [Thu, 1 Aug 2013 21:42:11 +0000 (21:42 +0000)]
Use llvm::sys::fs::UniqueID for windows and unix.

This unifies the unix and windows versions of FileManager::UniqueDirContainer
and FileManager::UniqueFileContainer by using UniqueID.

We cannot just replace "struct stat" with llvm::sys::fs::file_status, since we
want to be able to construct fake ones, and file_status has different members
on unix and windows.

What the patch does is:

* Record only the information that clang is actually using.
* Use llvm::sys::fs::status instead of stat and fstat.
* Use llvm::sys::fs::UniqueID
* Delete the old windows versions of UniqueDirContainer and
UniqueFileContainer since the "unix" one now works on windows too.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187619 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse function attributes to indicate if we don't want to realign the stack.
Bill Wendling [Thu, 1 Aug 2013 21:41:02 +0000 (21:41 +0000)]
Use function attributes to indicate if we don't want to realign the stack.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187617 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDebugInfo: Don't prefer declarations over definitions in -flimit-debug-info in C
David Blaikie [Thu, 1 Aug 2013 20:57:40 +0000 (20:57 +0000)]
DebugInfo: Don't prefer declarations over definitions in -flimit-debug-info in C

Without an ODR, the -flimit-debug-info debug info size optimization of
emitting declarations for fully defined types when only a declaration is
needed by the TU, is incorrect. Emit the full definition whenever it's
available in non-C++.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187611 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDebugInfo: Emit template arguments for limited types used for context.
David Blaikie [Thu, 1 Aug 2013 20:31:40 +0000 (20:31 +0000)]
DebugInfo: Emit template arguments for limited types used for context.

We emit definitions with no members when a nested type is
referenced/required (GCC does the same, to be fair) but failed to attach
the template arguments in such a case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187608 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoOptions.td: O0 and O4 are not Joined options
Hans Wennborg [Thu, 1 Aug 2013 19:46:33 +0000 (19:46 +0000)]
Options.td: O0 and O4 are not Joined options

(I'm not sure how to test this because the Driver will still accept
 e.g. "-O4foo", but it goes in the catch-all -O option instead of -O4.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187602 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoEnable the SLP-vectorizer by default
Nadav Rotem [Thu, 1 Aug 2013 18:28:23 +0000 (18:28 +0000)]
Enable the SLP-vectorizer by default

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187596 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReduce a variable's scope (no functionality change)
David Blaikie [Thu, 1 Aug 2013 18:23:24 +0000 (18:23 +0000)]
Reduce a variable's scope (no functionality change)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187594 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSimplify git-clang-format by using new -lines option.
Daniel Jasper [Thu, 1 Aug 2013 18:17:13 +0000 (18:17 +0000)]
Simplify git-clang-format by using new -lines option.

Patch by Mark Lodato. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187592 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTeach clang-format to understand static_asserts better.
Daniel Jasper [Thu, 1 Aug 2013 17:58:23 +0000 (17:58 +0000)]
Teach clang-format to understand static_asserts better.

Before:
  template <bool B, bool C>
  class A {
    static_assert(B &&C, "Something is wrong");
  };

After:
  template <bool B, bool C>
  class A {
    static_assert(B && C, "Something is wrong");
  };

(Note the spacing around '&&'). Also change the identifier table to always
understand all C++11 keywords (which seems like the right thing to do).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187589 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix typo in comment.
Joey Gouly [Thu, 1 Aug 2013 17:54:08 +0000 (17:54 +0000)]
Fix typo in comment.

Thanks Artyom Skrobov!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187588 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAST: Treat inline function declarations in -fms-compatibility as if it were in C...
David Majnemer [Thu, 1 Aug 2013 17:26:42 +0000 (17:26 +0000)]
AST: Treat inline function declarations in -fms-compatibility as if it were in C++ when in C mode

This essentially fixes PR16766.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187586 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoOptions: Use AliasArgs for -O -> -O2 translation.
Hans Wennborg [Thu, 1 Aug 2013 16:21:57 +0000 (16:21 +0000)]
Options: Use AliasArgs for -O -> -O2 translation.

This way we can do the translation in the .td file rather than manually.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187583 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Improve line breaks in @property.
Daniel Jasper [Thu, 1 Aug 2013 13:46:58 +0000 (13:46 +0000)]
clang-format: Improve line breaks in @property.

Before:
  @property(nonatomic, assign,
            readonly) NSString *looooooooooooooooooooooooooooongName;

After:
  @property(nonatomic, assign, readonly)
      NSString *looooooooooooooooooooooooooooongName;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187577 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake helper function static.
Benjamin Kramer [Thu, 1 Aug 2013 11:08:06 +0000 (11:08 +0000)]
Make helper function static.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187574 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSilence unused variable warning in non-assert builds.
Daniel Jasper [Thu, 1 Aug 2013 10:30:11 +0000 (10:30 +0000)]
Silence unused variable warning in non-assert builds.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187572 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAArch64: initial NEON support
Tim Northover [Thu, 1 Aug 2013 09:23:19 +0000 (09:23 +0000)]
AArch64: initial NEON support

Patch by Ana Pazos

- Completed implementation of instruction formats:
AdvSIMD three same
AdvSIMD modified immediate
AdvSIMD scalar pairwise

- Completed implementation of instruction classes
(some of the instructions in these classes
belong to yet unfinished instruction formats):
Vector Arithmetic
Vector Immediate
Vector Pairwise Arithmetic

- Initial implementation of instruction formats:
AdvSIMD scalar two-reg misc
AdvSIMD scalar three same

- Intial implementation of instruction class:
Scalar Arithmetic

- Initial clang changes to support arm v8 intrinsics.
Note: no clang changes for scalar intrinsics function name mangling yet.

- Comprehensive test cases for added instructions
To verify auto codegen, encoding, decoding, diagnosis, intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187568 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCheck dynamic_cast is not used with -fno-rtti, unless it is a noop or can be resolved...
Arnaud A. de Grandmaison [Thu, 1 Aug 2013 08:28:32 +0000 (08:28 +0000)]
Check dynamic_cast is not used with -fno-rtti, unless it is a noop or can be resolved statically.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187564 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove more odd code that tries to account for an off by 1 problem in vec3 shuffles...
Craig Topper [Thu, 1 Aug 2013 06:59:29 +0000 (06:59 +0000)]
Remove more odd code that tries to account for an off by 1 problem in vec3 shuffles that doesn't really exist.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187561 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix to handle all non-power-of-2 vector sizes in the mask form of _builtin_shuffle_ve...
Craig Topper [Thu, 1 Aug 2013 06:42:40 +0000 (06:42 +0000)]
Fix to handle all non-power-of-2 vector sizes in the mask form of _builtin_shuffle_vector.

Previously a 2-bit mask was used to mask each element of a vec6 mask before doing the extracts instead of 3-bit mask necessary to cover 0-5. vec3 was the only non-power-of-2 that worked correctly because a +1 conditionally added before calculating floor(log2(elements)).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187560 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSema: Diagnose explicitly bound unresolved member expressions decaying into pointers...
David Majnemer [Thu, 1 Aug 2013 06:13:59 +0000 (06:13 +0000)]
Sema: Diagnose explicitly bound unresolved member expressions decaying into pointers to function type

We would disallow the case where the overloaded member expression is
coming from an address-of operator but we wouldn't issue any diagnostics
when the overloaded member expression comes by way of a function to
pointer decay cast.

Clang's implementation of DR61 is now seemingly complete.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187559 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove broken and unnecessary vec3 handling from VisitShuffleVectorExpr.
Craig Topper [Thu, 1 Aug 2013 04:51:48 +0000 (04:51 +0000)]
Remove broken and unnecessary vec3 handling from VisitShuffleVectorExpr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187558 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoParse: Don't consider attributes of broken member declarators
David Majnemer [Thu, 1 Aug 2013 04:22:55 +0000 (04:22 +0000)]
Parse: Don't consider attributes of broken member declarators

ParseCXXClassMemberDeclaration was trying to use the result of
ActOnCXXMemberDeclarator to attach it to some late parsed attributes.

However when failures arise, we have no decl to attach to which
eventually leads us to a NULL pointer dereference.

While we are here, clean up the code a bit.

Fixes PR16765

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187557 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix assert when instantiating a default argument of a template defined in a
Richard Smith [Thu, 1 Aug 2013 04:12:04 +0000 (04:12 +0000)]
Fix assert when instantiating a default argument of a template defined in a
module.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187556 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove the SUPPORT_ALIASARGS define
Hans Wennborg [Thu, 1 Aug 2013 00:12:13 +0000 (00:12 +0000)]
Remove the SUPPORT_ALIASARGS define

It is not needed after LLVM r187546.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187550 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Make alignment of trailing comments optional ..
Daniel Jasper [Wed, 31 Jul 2013 23:55:15 +0000 (23:55 +0000)]
clang-format: Make alignment of trailing comments optional ..

.. in order to support WebKit style properly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187549 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake -m[no-]pascal-strings an alias of -f[no]pascal-strings in the .td file
Hans Wennborg [Wed, 31 Jul 2013 23:39:13 +0000 (23:39 +0000)]
Make -m[no-]pascal-strings an alias of -f[no]pascal-strings in the .td file

This way we don't have to translate it manually in Clang::ConstructJob.

Differential Revision: http://llvm-reviews.chandlerc.com/D1249

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187547 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC ARC: finishing off issuing error when
Fariborz Jahanian [Wed, 31 Jul 2013 23:19:34 +0000 (23:19 +0000)]
ObjectiveC ARC: finishing off issuing error when
retainable pointer is passed to an audited CF function
expecting CF type. // rdar://14569171

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187543 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Add more options to namespace indentation.
Daniel Jasper [Wed, 31 Jul 2013 23:16:02 +0000 (23:16 +0000)]
clang-format: Add more options to namespace indentation.

With this patch, clang-format can be configured to:
* not indent in namespace at all (former behavior).
* indent in namespace as in other blocks.
* indent only in inner namespaces (as required by WebKit style).

Also fix alignment of access specifiers in WebKit style.

Patch started by Marek Kurdej. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187540 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoOption parsing tables: pick up AliasArgs from the OPTION macro.
Hans Wennborg [Wed, 31 Jul 2013 23:07:21 +0000 (23:07 +0000)]
Option parsing tables: pick up AliasArgs from the OPTION macro.

This depends on LLVM r187537.

The SUPPORT_ALIASARGS macro will be removed once all option parsing
clients have been updated.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187538 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC ARC: Do not issue bridge cast diagnostic when
Fariborz Jahanian [Wed, 31 Jul 2013 21:40:51 +0000 (21:40 +0000)]
ObjectiveC ARC: Do not issue bridge cast diagnostic when
passing a retainable object arg to a CF audited function
expecting a CF object type. Issue a normal type mismatch
diagnostic. This is wip // rdar://14569171

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187532 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix declaring class template methods with an attributed typedef
Reid Kleckner [Wed, 31 Jul 2013 21:00:18 +0000 (21:00 +0000)]
Fix declaring class template methods with an attributed typedef

This change unifies the logic for template instantiation of methods and
functions declared with typedefs.

It ensures that SubstFunctionType() always fills the Params out param
with non-null ParmVarDecls or returns null.

Reviewers: rsmith

Differential Revision: http://llvm-reviews.chandlerc.com/D1135

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187528 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-cl: add the /c, /W0 and /W1 options
Hans Wennborg [Wed, 31 Jul 2013 20:51:53 +0000 (20:51 +0000)]
clang-cl: add the /c, /W0 and /W1 options

This adds a few more clang-cl options. It also exposes two core clang
options to the clang-cl mode: we need to be able to claim --driver_mode
so it doesn't show up as unused in cl mode, and we need -### for tests.

Differential Revision: http://llvm-reviews.chandlerc.com/D1232

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187527 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoA few small cleanups to r187504. Thanks to dblaikie for the assist.
Kaelyn Uhrain [Wed, 31 Jul 2013 20:16:17 +0000 (20:16 +0000)]
A few small cleanups to r187504. Thanks to dblaikie for the assist.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187521 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC arc: minor refactoring in my last patch
Fariborz Jahanian [Wed, 31 Jul 2013 18:39:08 +0000 (18:39 +0000)]
ObjectiveC arc: minor refactoring in my last patch
to avoid future false positives. // rdar://14569171

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187509 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC arc: Introduce a new initialization kind
Fariborz Jahanian [Wed, 31 Jul 2013 18:21:45 +0000 (18:21 +0000)]
ObjectiveC arc: Introduce a new initialization kind
for parameters passed to CF audited functions
to be used for better diagnostics. Current set but
unused. // rdar://14569171

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187508 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoImprove the diagnostic experience, including adding recovery, for
Kaelyn Uhrain [Wed, 31 Jul 2013 17:38:24 +0000 (17:38 +0000)]
Improve the diagnostic experience, including adding recovery, for
changing '->' to '.' when there is no operator-> defined for a class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187504 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoObjectiveC arc: Move check for type conversions in arc
Fariborz Jahanian [Wed, 31 Jul 2013 17:12:26 +0000 (17:12 +0000)]
ObjectiveC arc: Move check for type conversions in arc
out of ImpCastExprToType and to the caller site
as appropriate. This is in prep. to do more work for
// rdar://14569171

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187503 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix a comment.
Hans Wennborg [Wed, 31 Jul 2013 16:57:56 +0000 (16:57 +0000)]
Fix a comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187502 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoWith help from chapuni on IRC, I think this is right now. =] The issue
Chandler Carruth [Wed, 31 Jul 2013 11:14:13 +0000 (11:14 +0000)]
With help from chapuni on IRC, I think this is right now. =] The issue
is that the command is quoted differently from the arguments. The
command has '\' and the argument has '\\'. This is made unclear because
FileCheck escapes the single matched '\' when it prints the contents of
the variable, thus fooling me into thinking it had matched '\\' as
intended. The solution is to bind the gcc_install variable in the
argument list rather than out of the command. To do so we also have to
be a bit more careful so that we don't get stray other things into the
'.*' regex.

Also, because of the argument difference, '\\\\' is the correct
formulation before crtbegin, go back to that.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187489 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRun an experiment to try to understand the windows failure better by
Chandler Carruth [Wed, 31 Jul 2013 10:54:11 +0000 (10:54 +0000)]
Run an experiment to try to understand the windows failure better by
replacing one variable with the regex. This won't fix anything, but will
hopefully shed light on the nature of the failure.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187488 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTry only two slashes as that seems to be working elsewhere in this
Chandler Carruth [Wed, 31 Jul 2013 10:34:48 +0000 (10:34 +0000)]
Try only two slashes as that seems to be working elsewhere in this
testcase.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187487 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRe-enable the cross-linux test on windows after making it tolerant of
Chandler Carruth [Wed, 31 Jul 2013 10:02:58 +0000 (10:02 +0000)]
Re-enable the cross-linux test on windows after making it tolerant of
the path separator used when locating crtbegin.o.

I'll watch the bots to see if there are other issues lurking here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187486 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Driver/cross-linux.c is suppressed on win32 for now. Investigating.
NAKAMURA Takumi [Wed, 31 Jul 2013 04:56:19 +0000 (04:56 +0000)]
clang/test/Driver/cross-linux.c is suppressed on win32 for now. Investigating.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187483 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFixing an unused variable warning.
Aaron Ballman [Wed, 31 Jul 2013 02:20:22 +0000 (02:20 +0000)]
Fixing an unused variable warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187474 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix a crasher than manifests when typo correction suggests a function template.
Richard Trieu [Wed, 31 Jul 2013 00:48:10 +0000 (00:48 +0000)]
Fix a crasher than manifests when typo correction suggests a function template.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187467 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFind a better compromise with the default library search paths used by
Chandler Carruth [Wed, 31 Jul 2013 00:37:07 +0000 (00:37 +0000)]
Find a better compromise with the default library search paths used by
Clang when linking and using a GCC installation from a GCC
cross-compiler.

This was desired already by two special case platforms (Android and
Mips), and turns out to be generally (if frustratingly) true. I've added
a substantial comment to the code clarifying the underlying assumptions
of doing actual cross compiles with Clang (or GCC for that matter!) and
help avoid further confusion here.

The end result is to realize that fully general form of PR12478 cannot
be resolved while we support existing cross-compiling GCC toolchains,
and linking with them (namely, linking against their libgcc and
libstdc++ installs). GCC installs these target libraries under
a target-specific prefix but one that may not be available within the
actual sysroot in use. When linking in this world, GCC works and Clang
should as well, but caveat emptor: DSOs from this tree must be
replicated and rpath-fixed to be found at runtime within the sysroot.

I've extended the cross compile test cases to cover these issues by
pointing them at a sysroot and actually checking the library search
paths.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187466 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix read of uninitialized enum value in test, caught by UBSan. No functionality
Richard Smith [Wed, 31 Jul 2013 00:26:46 +0000 (00:26 +0000)]
Fix read of uninitialized enum value in test, caught by UBSan. No functionality
change, other than removal of undefined behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187465 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-format: Improve detection of templates.
Daniel Jasper [Tue, 30 Jul 2013 22:37:19 +0000 (22:37 +0000)]
clang-format: Improve detection of templates.

Before:
  template <typename... Types>
        typename enable_if < 0<sizeof...(Types)>::type Foo() {}
After:
  template <typename... Types>
  typename enable_if<0 < sizeof...(Types)>::type Foo() {}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187458 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoStart keeping track of what work was done to detect a GCC installation
Chandler Carruth [Tue, 30 Jul 2013 17:57:09 +0000 (17:57 +0000)]
Start keeping track of what work was done to detect a GCC installation
on the system, and report it when running the driver in verbose mode.
Without this it is essentially impossible to understand why a particular
GCC toolchain is used by Clang for libstdc++, libgcc, etc.

This also required threading a hook through the toolchain layers for
a specific toolchain implementation to print custom information under
'clang -v'. The naming here isn't spectacular. Suggestions welcome.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187427 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoerr_attribute_missing_parameter_name has been replaced by err_attribute_argument_type.
Aaron Ballman [Tue, 30 Jul 2013 14:29:12 +0000 (14:29 +0000)]
err_attribute_missing_parameter_name has been replaced by err_attribute_argument_type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187420 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReplacing err_attribute_argument_not_int with err_attribute_not_type_attr
Aaron Ballman [Tue, 30 Jul 2013 14:10:17 +0000 (14:10 +0000)]
Replacing err_attribute_argument_not_int with err_attribute_not_type_attr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187419 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd MicrosoftVFTableContext to AST
Timur Iskhodzhanov [Tue, 30 Jul 2013 09:46:19 +0000 (09:46 +0000)]
Add MicrosoftVFTableContext to AST

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187409 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Driver/qa_override.c: Resurrect a part of r187376. It still requires the...
NAKAMURA Takumi [Tue, 30 Jul 2013 07:47:58 +0000 (07:47 +0000)]
clang/test/Driver/qa_override.c: Resurrect a part of r187376. It still requires the feature 'clang-driver' for cygming.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187405 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdded the notion of Type and TargetSpecific attributes to the clang tablegen. In...
Aaron Ballman [Tue, 30 Jul 2013 01:44:15 +0000 (01:44 +0000)]
Added the notion of Type and TargetSpecific attributes to the clang tablegen.  In turn, this fixes a mistake with Ptr32, Ptr64, UPtr and SPtr attribtues generating AST nodes that are never actually used.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187401 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoerr_attribute_not_string has been subsumed by err_attribute_argument_type.
Aaron Ballman [Tue, 30 Jul 2013 01:31:03 +0000 (01:31 +0000)]
err_attribute_not_string has been subsumed by err_attribute_argument_type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187400 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRefactor some attributes to use checkFunctionOrMethodArgumentIndex instead of using...
Aaron Ballman [Tue, 30 Jul 2013 00:48:57 +0000 (00:48 +0000)]
Refactor some attributes to use checkFunctionOrMethodArgumentIndex instead of using custom logic.  No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187398 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove assert header dependency in test
David Blaikie [Mon, 29 Jul 2013 22:37:42 +0000 (22:37 +0000)]
Remove assert header dependency in test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187387 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSimplified SourceManager::translateLineCol a bit.
Alexander Kornienko [Mon, 29 Jul 2013 22:26:10 +0000 (22:26 +0000)]
Simplified SourceManager::translateLineCol a bit.

Reviewers: rsmith

Reviewed By: rsmith

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1183

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187386 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUpdate for llvm api change.
Rafael Espindola [Mon, 29 Jul 2013 21:26:52 +0000 (21:26 +0000)]
Update for llvm api change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187379 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake this test not try to write on object file and test all of the
Chandler Carruth [Mon, 29 Jul 2013 20:29:53 +0000 (20:29 +0000)]
Make this test not try to write on object file and test all of the
output rather than just part of it.

Also, remove the frighteningly ancient comment about not working with
the gcc-driver. (!!!)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187376 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR16715: Fix assert in verifier: only mark call to 'operator new' as 'builtin' if
Richard Smith [Mon, 29 Jul 2013 20:14:16 +0000 (20:14 +0000)]
PR16715: Fix assert in verifier: only mark call to 'operator new' as 'builtin' if
corresponding 'operator new' was actually emitted as a function marked 'nobuiltin'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187374 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoConvert a use of status with llvm::sys::fs::getUniqueID.
Rafael Espindola [Mon, 29 Jul 2013 18:43:40 +0000 (18:43 +0000)]
Convert a use of status with llvm::sys::fs::getUniqueID.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187367 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agotest/Driver/cl.c, remove quotes around /help
Hans Wennborg [Mon, 29 Jul 2013 18:40:38 +0000 (18:40 +0000)]
test/Driver/cl.c, remove quotes around /help

The quotes (from r187330) didn't really help here, the trick was to disable
the test on MSYS builds. This removes those quotes, changes back the comment
to explain why /? has to be quoted specifically, and moves the REQUIRES
line to the top of the file because that's important.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187366 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSupport for Thread Safety Analysis in C
David Blaikie [Mon, 29 Jul 2013 18:24:03 +0000 (18:24 +0000)]
Support for Thread Safety Analysis in C

Patch by Ethan Jackson.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187365 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoConvert a use of stat with sys::fs::status.
Rafael Espindola [Mon, 29 Jul 2013 18:22:23 +0000 (18:22 +0000)]
Convert a use of stat with sys::fs::status.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187364 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix handling of "clang c:foo"
Rafael Espindola [Mon, 29 Jul 2013 15:47:24 +0000 (15:47 +0000)]
Fix handling of "clang c:foo"

On windows, c:foo is a valid file path, but stat fails on just "c:". This
causes a problem for clang since its file manager wants to cache data about
the parent directory.

There are refactorings to be done in here, but this gives clang the correct
behavior and testing first.

Patch by Yunzhong Gao!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187359 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReturn ExprError if both arguments to the mask form of __builtin_shufflvector don...
Craig Topper [Mon, 29 Jul 2013 06:47:04 +0000 (06:47 +0000)]
Return ExprError if both arguments to the mask form of __builtin_shufflvector don't have the same number of elements or the mask isn't an integer vector.

Previously a diagnostic was issued, but the code went ahead and built the ShuffleVectorExpr. While I'm here also simplify a couple lines by wrapping the return ExprError around the Diag calls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187344 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang/test/Driver/cl.c: Don't attempt slash switches on msys bash.
NAKAMURA Takumi [Mon, 29 Jul 2013 01:37:10 +0000 (01:37 +0000)]
clang/test/Driver/cl.c: Don't attempt slash switches on msys bash.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187337 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix up formatting. No functional change.
Craig Topper [Sun, 28 Jul 2013 21:50:10 +0000 (21:50 +0000)]
Fix up formatting. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187334 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTry single quotes to fix the msys bot:
Rafael Espindola [Sun, 28 Jul 2013 17:13:24 +0000 (17:13 +0000)]
Try single quotes to fix the msys bot:

It was still failing with double quotes:

http://bb.pgr.jp/builders/clang-i686-msys/builds/698/steps/test_clang/logs/Clang%20%3A%3A%20Driver__cl.c

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187330 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAvoid crashing if a directory has no pch files.
Rafael Espindola [Sun, 28 Jul 2013 13:23:37 +0000 (13:23 +0000)]
Avoid crashing if a directory has no pch files.

Should fix some of the bots that have assertions disabled.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187329 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReduce stack frame size by avoiding a large token vector on an error path.
Bob Wilson [Sat, 27 Jul 2013 21:59:57 +0000 (21:59 +0000)]
Reduce stack frame size by avoiding a large token vector on an error path.

Beginning with svn r186971, we noticed an internal test started to fail when
using clang built with LTO. After much investigation, it turns out that there
are no blatant bugs here, we are just running out of stack space and crashing.
Preprocessor::ReadFunctionLikeMacroArgs already has one vector of 64 Tokens,
and r186971 added another.  When built with LTO, that function is inlined into
Preprocessor::HandleMacroExpandedIdentifier, which for our internal test is
invoked in a deep recursive cycle. I'm leaving the original 64 Token vector
alone on the assumption that it is important for performance, but the new
FixedArgTokens vector is only used on an error path, so it should be OK if it
requires additional heap storage. It would be even better if we could avoid
the deep recursion, but I think this change is a good thing to do regardless.
<rdar://problem/14540345>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187315 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix test/Driver/cl.c.
Hans Wennborg [Sat, 27 Jul 2013 06:19:03 +0000 (06:19 +0000)]
Fix test/Driver/cl.c.

This test would fail in weird ways on systems with a one-letter filename
in the root directory, because the shell would helpfully expand /? to e.g. /n.

Make sure this doesn't happen by adding quotes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187295 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix formatting. No functional change.
Craig Topper [Sat, 27 Jul 2013 05:00:42 +0000 (05:00 +0000)]
Fix formatting. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187294 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUsing the function pointer instead of the function type; this allows us to re-enable...
Aaron Ballman [Sat, 27 Jul 2013 03:34:50 +0000 (03:34 +0000)]
Using the function pointer instead of the function type; this allows us to re-enable a warning in MSVC by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187292 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoclang-cl: add support for the /? and /help options
Hans Wennborg [Sat, 27 Jul 2013 00:23:45 +0000 (00:23 +0000)]
clang-cl: add support for the /? and /help options

This establishes a new Flag in Options.td, which can be assigned to
options that should be made available in clang's cl.exe compatible
mode, and updates the Driver to make use of the flag.

(The whitespace change to CMakeLists forces the build to re-run CMake
 and pick up the include dependency on the new .td file. This makes the
 build work if someone moves backwards in commit history after this change.)

Differential Revision: http://llvm-reviews.chandlerc.com/D1215

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187280 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDon't build expressions for invalid casts.
Eli Friedman [Fri, 26 Jul 2013 23:47:47 +0000 (23:47 +0000)]
Don't build expressions for invalid casts.

This matches how we normally perform semantic analysis for other sorts
of invalid expressions: it means we don't have to reason about invalid
sub-expressions.

Fixes PR16680.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187276 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHandle a difference in lambda return type deduction between C++11 and C++1y: if
Richard Smith [Fri, 26 Jul 2013 23:45:07 +0000 (23:45 +0000)]
Handle a difference in lambda return type deduction between C++11 and C++1y: if
no return type is specified, C++11 will deduce a cv-qualified return type in
some cases, but C++1y never will.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187275 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR16708: If a lambda has an implicit return type, don't get confused if its return...
Richard Smith [Fri, 26 Jul 2013 22:53:54 +0000 (22:53 +0000)]
PR16708: If a lambda has an implicit return type, don't get confused if its return type has already been determined to be a type containing an 'auto'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187266 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse the new boolean to StringRef function to generate the proper StringRefs.
Bill Wendling [Fri, 26 Jul 2013 21:51:11 +0000 (21:51 +0000)]
Use the new boolean to StringRef function to generate the proper StringRefs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187251 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix up the BUILD_CLANG_ONLY code to work properly after r184794.
Bob Wilson [Fri, 26 Jul 2013 21:08:22 +0000 (21:08 +0000)]
Fix up the BUILD_CLANG_ONLY code to work properly after r184794.

When BUILD_CLANG_ONLY is set to YES, it is supposed to simply limit the tools
that get built.  The change in r184794 broke this feature by moving libclang
and c-index-test into PARALLEL_DIRS. Those are both supposed to be in DIRS,
because c-index-test has a build dependency on libclang and cannot be
reliably built in parallel with it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187246 91177308-0d34-0410-b5e6-96231b3b80d8