Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/llvm/dist/clang Import clang 3.4rc2 r196603.



details:   https://anonhg.NetBSD.org/src/rev/f9c5bed44d45
branches:  trunk
changeset: 325111:f9c5bed44d45
user:      joerg <joerg%NetBSD.org@localhost>
date:      Fri Dec 06 23:16:49 2013 +0000

description:
Import clang 3.4rc2 r196603.
Many bug fixes and improvements for the driver NetBSD/ARM EABI.

diffstat:

 external/bsd/llvm/dist/clang/docs/CrossCompilation.rst                     |     2 +-
 external/bsd/llvm/dist/clang/docs/LanguageExtensions.rst                   |     4 +-
 external/bsd/llvm/dist/clang/docs/LeakSanitizer.rst                        |     5 +-
 external/bsd/llvm/dist/clang/docs/ReleaseNotes.rst                         |    40 +-
 external/bsd/llvm/dist/clang/include/clang/Basic/Attr.td                   |     2 -
 external/bsd/llvm/dist/clang/include/clang/Basic/arm_neon.td               |    62 +-
 external/bsd/llvm/dist/clang/include/clang/Sema/DeclSpec.h                 |    21 +-
 external/bsd/llvm/dist/clang/include/clang/Sema/Initialization.h           |    24 +-
 external/bsd/llvm/dist/clang/include/clang/Sema/Sema.h                     |    47 +-
 external/bsd/llvm/dist/clang/lib/AST/CommentLexer.cpp                      |    11 +-
 external/bsd/llvm/dist/clang/lib/AST/Decl.cpp                              |    35 +-
 external/bsd/llvm/dist/clang/lib/Analysis/ThreadSafety.cpp                 |    15 +-
 external/bsd/llvm/dist/clang/lib/Basic/Targets.cpp                         |    18 +-
 external/bsd/llvm/dist/clang/lib/CodeGen/CGBuiltin.cpp                     |    63 +-
 external/bsd/llvm/dist/clang/lib/CodeGen/TargetInfo.cpp                    |     6 +-
 external/bsd/llvm/dist/clang/lib/Driver/ToolChain.cpp                      |     5 +
 external/bsd/llvm/dist/clang/lib/Driver/ToolChains.cpp                     |    14 +-
 external/bsd/llvm/dist/clang/lib/Driver/Tools.cpp                          |    26 +
 external/bsd/llvm/dist/clang/lib/Frontend/InitPreprocessor.cpp             |    35 +
 external/bsd/llvm/dist/clang/lib/Parse/ParseDecl.cpp                       |     3 +-
 external/bsd/llvm/dist/clang/lib/Parse/ParseExprCXX.cpp                    |    63 +-
 external/bsd/llvm/dist/clang/lib/Rewrite/Frontend/InclusionRewriter.cpp    |     5 +
 external/bsd/llvm/dist/clang/lib/Sema/SemaAccess.cpp                       |     4 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaDecl.cpp                         |    11 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaExpr.cpp                         |    17 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaExprCXX.cpp                      |    23 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaInit.cpp                         |     4 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaLambda.cpp                       |   128 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaTemplate.cpp                     |     8 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaTemplateDeduction.cpp            |    41 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaTemplateInstantiate.cpp          |    14 +-
 external/bsd/llvm/dist/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp      |    58 +-
 external/bsd/llvm/dist/clang/lib/Sema/TreeTransform.h                      |    79 +-
 external/bsd/llvm/dist/clang/test/CXX/temp/temp.spec/temp.inst/p1.cpp      |    11 +-
 external/bsd/llvm/dist/clang/test/CodeGen/aarch64-neon-2velem.c            |  1116 ++++++++-
 external/bsd/llvm/dist/clang/test/CodeGen/aarch64-neon-copy.c              |    52 +
 external/bsd/llvm/dist/clang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c   |   133 +
 external/bsd/llvm/dist/clang/test/CodeGen/aarch64-neon-intrinsics.c        |    90 +-
 external/bsd/llvm/dist/clang/test/CodeGen/aarch64-neon-vcombine.c          |    91 +
 external/bsd/llvm/dist/clang/test/CodeGen/systemz-inline-asm.c             |     2 +-
 external/bsd/llvm/dist/clang/test/Driver/mips-as.c                         |    21 +
 external/bsd/llvm/dist/clang/test/Driver/mips-fsf.cpp                      |   936 ++++++++
 external/bsd/llvm/dist/clang/test/Frontend/Inputs/rewrite-includes-bom.h   |     1 +
 external/bsd/llvm/dist/clang/test/Frontend/rewrite-includes-bom.c          |     4 +
 external/bsd/llvm/dist/clang/test/Lexer/cxx-features.cpp                   |    89 +
 external/bsd/llvm/dist/clang/test/Sema/attr-bounded.c                      |    15 +
 external/bsd/llvm/dist/clang/test/Sema/ms-inline-asm.c                     |    12 +-
 external/bsd/llvm/dist/clang/test/Sema/warn-documentation-fixits.cpp       |     6 +
 external/bsd/llvm/dist/clang/test/Sema/warn-null.c                         |    11 +
 external/bsd/llvm/dist/clang/test/SemaCXX/cxx1y-generic-lambdas.cpp        |    62 +-
 external/bsd/llvm/dist/clang/test/SemaCXX/cxx1y-init-captures.cpp          |   167 +-
 external/bsd/llvm/dist/clang/test/SemaCXX/decl-microsoft-call-conv.cpp     |     8 +
 external/bsd/llvm/dist/clang/test/SemaCXX/warn-thread-safety-analysis.cpp  |    14 +
 external/bsd/llvm/dist/clang/test/SemaTemplate/dependent-expr.cpp          |    14 +
 external/bsd/llvm/dist/clang/test/SemaTemplate/instantiate-local-class.cpp |   117 +-
 external/bsd/llvm/dist/clang/utils/TableGen/NeonEmitter.cpp                |    46 +-
 external/bsd/llvm/dist/clang/www/cxx_dr_status.html                        |     4 +-
 external/bsd/llvm/dist/clang/www/cxx_status.html                           |    27 +-
 58 files changed, 3484 insertions(+), 458 deletions(-)

diffs (truncated from 5793 to 300 lines):

diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/docs/CrossCompilation.rst
--- a/external/bsd/llvm/dist/clang/docs/CrossCompilation.rst    Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/docs/CrossCompilation.rst    Fri Dec 06 23:16:49 2013 +0000
@@ -190,7 +190,7 @@
 
 When you want to cross-compile to more than one configuration, for
 example hard-float-ARM and soft-float-ARM, you'll have to have multiple
-copies of you libraries and (possibly) headers.
+copies of your libraries and (possibly) headers.
 
 Some Linux distributions have support for Multilib, which handle that
 for you in an easier way, but if you're not careful and, for instance,
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/docs/LanguageExtensions.rst
--- a/external/bsd/llvm/dist/clang/docs/LanguageExtensions.rst  Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/docs/LanguageExtensions.rst  Fri Dec 06 23:16:49 2013 +0000
@@ -1908,8 +1908,8 @@
 Interrupt attribute
 ^^^^^^^^^^^^^^^^^^^
 
-Clang supports the GNU style ``__attribite__((interrupt("TYPE")))`` attribute on
-ARM targets. This attribute may be attached to a function definiton and
+Clang supports the GNU style ``__attribute__((interrupt("TYPE")))`` attribute on
+ARM targets. This attribute may be attached to a function definition and
 instructs the backend to generate appropriate function entry/exit code so that
 it can be used directly as an interrupt service routine.
 
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/docs/LeakSanitizer.rst
--- a/external/bsd/llvm/dist/clang/docs/LeakSanitizer.rst       Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/docs/LeakSanitizer.rst       Fri Dec 06 23:16:49 2013 +0000
@@ -22,7 +22,6 @@
 More Information
 ================
 
-Design wiki:
-`https://code.google.com/p/address-sanitizer/wiki/LeakSanitizerDesignDocument
-<https://code.google.com/p/address-sanitizer/wiki/LeakSanitizerDesignDocument>`_
+`https://code.google.com/p/address-sanitizer/wiki/LeakSanitizer
+<https://code.google.com/p/address-sanitizer/wiki/LeakSanitizer>`_
 
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/docs/ReleaseNotes.rst
--- a/external/bsd/llvm/dist/clang/docs/ReleaseNotes.rst        Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/docs/ReleaseNotes.rst        Fri Dec 06 23:16:49 2013 +0000
@@ -62,7 +62,36 @@
 explain them more clearly, and provide more accurate source information
 about them. The improvements since the 3.3 release include:
 
--  ...
+- -Wheader-guard warns on mismatches between the #ifndef and #define lines
+  in a header guard.
+- -Wlogical-not-parentheses warns when a logical not ('!') only applies to the
+  left-hand side of a comparison.  This warning is part of -Wparentheses.
+- Boolean increment, a deprecated feature, has own warning flag
+  -Wdeprecated-increment-bool, and is still part of -Wdeprecated.
+- Clang errors on builtin enum increments and decrements.
+- -Wloop-analysis now warns on for-loops which have the same increment or 
+  decrement in the loop header as the last statement in the loop.
+- -Wuninitialized now performs checking across field initializers to detect
+  when one field in used uninitialized in another field initialization.
+- Clang can detect initializer list use inside a macro and suggest parentheses
+  if possible to fix.
+- Many improvements to Clang's typo correction facilities, such as:
+  + Adding global namespace qualifiers so that corrections can refer to shadowed
+    or otherwise ambiguous or unreachable namespaces.
+  + Including accessible class members in the set of typo correction candidates,
+    so that corrections requiring a class name in the name specifier are now
+    possible.
+  + Allowing typo corrections that involve removing a name specifier.
+  + In some situations, correcting function names when a function was given the
+    wrong number of arguments, including situations where the original function
+    name was correct but was shadowed by a lexically closer function with the
+    same name yet took a different number of arguments.
+  + Offering typo suggestions for 'using' declarations.
+  + Providing better diagnostics and fixit suggestions in more situations when
+    a '->' was used instead of '.' or vice versa.
+  + Providing more relevant suggestions for typos followed by '.' or '='.
+  + Various performance improvements when searching for typo correction
+    candidates.
 
 New Compiler Flags
 ------------------
@@ -142,6 +171,15 @@
 warnings) has improved significantly in both in the core analysis engine and 
 also in the kinds of issues it can find.
 
+Windows Support
+---------------
+
+- `clang-cl <UsersManual.html#clang-cl>` provides a new driver mode that is
+  designed for compatibility with Visual Studio's compiler, cl.exe. This driver
+  mode makes Clang accept the same kind of command-line options as cl.exe.
+  Please note that this mode is still experimental.
+
+
 Core Analysis Improvements
 ==========================
 
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/include/clang/Basic/Attr.td
--- a/external/bsd/llvm/dist/clang/include/clang/Basic/Attr.td  Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/include/clang/Basic/Attr.td  Fri Dec 06 23:16:49 2013 +0000
@@ -39,8 +39,6 @@
                                 S->getKind() != Decl::ImplicitParam &&
                                 S->getKind() != Decl::ParmVar &&
                                 S->getKind() != Decl::NonTypeTemplateParm}]>;
-def CXXVirtualMethod : SubsetSubject<CXXRecord, "virtual member function",
-                                     [{S->isVirtual()}]>;
 def NonBitField : SubsetSubject<Field, "non-bit field",
                                 [{!S->isBitField()}]>;
 
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/include/clang/Basic/arm_neon.td
--- a/external/bsd/llvm/dist/clang/include/clang/Basic/arm_neon.td      Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/include/clang/Basic/arm_neon.td      Fri Dec 06 23:16:49 2013 +0000
@@ -133,6 +133,7 @@
   Op Operand = o;
   bit isShift = 0;
   bit isScalarShift = 0;
+  bit isScalarNarrowShift = 0;
   bit isVCVT_N = 0;
   bit isA64 = 0;
   bit isCrypto = 0;
@@ -182,6 +183,7 @@
 // x: signed integer   (int/float args)
 // u: unsigned integer (int/float args)
 // f: float (int args)
+// F: double (int args)
 // d: default
 // g: default, ignore 'Q' size modifier.
 // j: default, force 'Q' size modifier.
@@ -626,7 +628,7 @@
 // Logical operations
 // With additional Qd, Ql, QPl type.
 def BSL : SInst<"vbsl", "dudd",
-                "csilUcUsUiUlfPcPsQcQsQiQlQUcQUsQUiQUlQfQPcQPsQdPlQPl">;
+                "csilUcUsUiUlfdPcPsQcQsQiQlQUcQUsQUiQUlQfQPcQPsQdPlQPl">;
 
 ////////////////////////////////////////////////////////////////////////////////
 // Absolute Difference
@@ -678,7 +680,7 @@
 def VCVT_F32_F64 : SInst<"vcvt_f32_f64", "fj", "d">;
 def VCVT_HIGH_F32_F64 : SOpInst<"vcvt_high_f32", "qfj", "d", OP_VCVT_NA_HI>;
 def VCVT_F64_F32 : SInst<"vcvt_f64", "wd", "f">;
-def VCVT_F64 : SInst<"vcvt_f64", "fd",  "QlQUl">;
+def VCVT_F64 : SInst<"vcvt_f64", "Fd",  "QlQUl">;
 def VCVT_HIGH_F64_F32 : SOpInst<"vcvt_high_f64", "wj", "f", OP_VCVT_EX_HI>;
 def VCVTX_F32_F64 : SInst<"vcvtx_f32", "fj",  "d">;
 def VCVTX_HIGH_F32_F64 : SOpInst<"vcvtx_high_f32", "qfj", "d", OP_VCVTX_HI>;
@@ -798,7 +800,7 @@
 def VMOVL_HIGH   : SOpInst<"vmovl_high", "nd", "HcHsHiHUcHUsHUi", OP_MOVL_HI>;
 
 let isVCVT_N = 1 in {
-def CVTF_N_F64   : SInst<"vcvt_n_f64", "fdi", "QlQUl">;
+def CVTF_N_F64   : SInst<"vcvt_n_f64", "Fdi", "QlQUl">;
 def FCVTZS_N_S64 : SInst<"vcvt_n_s64", "xdi", "Qd">;
 def FCVTZS_N_U64 : SInst<"vcvt_n_u64", "udi", "Qd">;
 }
@@ -833,13 +835,13 @@
 def SET_LANE : IInst<"vset_lane", "dsdi",
                      "csilPcPsUcUsUiUlQcQsQiQlQUcQUsQUiQUlPcPsQPcQPsfdQfQdPlQPl">;
 def COPY_LANE : IOpInst<"vcopy_lane", "ddidi",
-                        "csiPcPsUcUsUiPcPsfPl", OP_COPY_LN>;
+                        "csilPcPsUcUsUiUlPcPsPlfd", OP_COPY_LN>;
 def COPYQ_LANE : IOpInst<"vcopy_lane", "ddigi",
                         "QcQsQiQlQUcQUsQUiQUlQPcQPsQfQdQPl", OP_COPYQ_LN>;
 def COPY_LANEQ : IOpInst<"vcopy_laneq", "ddiki",
-                     "csiPcPsUcUsUif", OP_COPY_LNQ>;
+                     "csilPcPsPlUcUsUiUlfd", OP_COPY_LNQ>;
 def COPYQ_LANEQ : IOpInst<"vcopy_laneq", "ddidi",
-                     "QcQsQiQlQUcQUsQUiQUlQPcQPsQfdQPl", OP_COPY_LN>;
+                     "QcQsQiQlQUcQUsQUiQUlQPcQPsQfQdQPl", OP_COPY_LN>;
 
 ////////////////////////////////////////////////////////////////////////////////
 // Set all lanes to same value
@@ -858,7 +860,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 // Combining vectors, with additional Pl
-def COMBINE : NoTestOpInst<"vcombine", "kdd", "csilhfUcUsUiUlPcPsPl", OP_CONC>;
+def COMBINE : NoTestOpInst<"vcombine", "kdd", "csilhfdUcUsUiUlPcPsPl", OP_CONC>;
 
 ////////////////////////////////////////////////////////////////////////////////
 //Initialize a vector from bit pattern, with additional Pl
@@ -1055,14 +1057,16 @@
 // Shift Left And Insert (Immediate)
 def SCALAR_SLI_N: SInst<"vsli_n", "sssi", "SlSUl">;
 
-// Signed/Unsigned Saturating Shift Right Narrow (Immediate)
-def SCALAR_SQSHRN_N: SInst<"vqshrn_n", "zsi", "SsSiSlSUsSUiSUl">;
-// Signed/Unsigned Saturating Rounded Shift Right Narrow (Immediate)
-def SCALAR_SQRSHRN_N: SInst<"vqrshrn_n", "zsi", "SsSiSlSUsSUiSUl">;
-// Signed Saturating Shift Right Unsigned Narrow (Immediate)
-def SCALAR_SQSHRUN_N: SInst<"vqshrun_n", "zsi", "SsSiSl">;
-// Signed Saturating Rounded Shift Right Unsigned Narrow (Immediate)
-def SCALAR_SQRSHRUN_N: SInst<"vqrshrun_n", "zsi", "SsSiSl">;
+let isScalarNarrowShift = 1 in {
+  // Signed/Unsigned Saturating Shift Right Narrow (Immediate)
+  def SCALAR_SQSHRN_N: SInst<"vqshrn_n", "zsi", "SsSiSlSUsSUiSUl">;
+  // Signed/Unsigned Saturating Rounded Shift Right Narrow (Immediate)
+  def SCALAR_SQRSHRN_N: SInst<"vqrshrn_n", "zsi", "SsSiSlSUsSUiSUl">;
+  // Signed Saturating Shift Right Unsigned Narrow (Immediate)
+  def SCALAR_SQSHRUN_N: SInst<"vqshrun_n", "zsi", "SsSiSl">;
+  // Signed Saturating Rounded Shift Right Unsigned Narrow (Immediate)
+  def SCALAR_SQRSHRUN_N: SInst<"vqrshrun_n", "zsi", "SsSiSl">;
+}
 
 ////////////////////////////////////////////////////////////////////////////////
 // Scalar Signed/Unsigned Fixed-point Convert To Floating-Point (Immediate)
@@ -1123,6 +1127,30 @@
 def SCALAR_UCVTFD : SInst<"vcvt_f64", "os", "SUl">;
 
 ////////////////////////////////////////////////////////////////////////////////
+// Scalar Floating-point Converts
+def SCALAR_FCVTXN  : IInst<"vcvtx_f32", "ys", "Sd">;
+def SCALAR_FCVTNSS : SInst<"vcvtn_s32", "$s", "Sf">;
+def SCALAR_FCVTNUS : SInst<"vcvtn_u32", "bs", "Sf">;
+def SCALAR_FCVTNSD : SInst<"vcvtn_s64", "$s", "Sd">;
+def SCALAR_FCVTNUD : SInst<"vcvtn_u64", "bs", "Sd">;
+def SCALAR_FCVTMSS : SInst<"vcvtm_s32", "$s", "Sf">;
+def SCALAR_FCVTMUS : SInst<"vcvtm_u32", "bs", "Sf">;
+def SCALAR_FCVTMSD : SInst<"vcvtm_s64", "$s", "Sd">;
+def SCALAR_FCVTMUD : SInst<"vcvtm_u64", "bs", "Sd">;
+def SCALAR_FCVTASS : SInst<"vcvta_s32", "$s", "Sf">;
+def SCALAR_FCVTAUS : SInst<"vcvta_u32", "bs", "Sf">;
+def SCALAR_FCVTASD : SInst<"vcvta_s64", "$s", "Sd">;
+def SCALAR_FCVTAUD : SInst<"vcvta_u64", "bs", "Sd">;
+def SCALAR_FCVTPSS : SInst<"vcvtp_s32", "$s", "Sf">;
+def SCALAR_FCVTPUS : SInst<"vcvtp_u32", "bs", "Sf">;
+def SCALAR_FCVTPSD : SInst<"vcvtp_s64", "$s", "Sd">;
+def SCALAR_FCVTPUD : SInst<"vcvtp_u64", "bs", "Sd">;
+def SCALAR_FCVTZSS : SInst<"vcvt_s32", "$s", "Sf">;
+def SCALAR_FCVTZUS : SInst<"vcvt_u32", "bs", "Sf">;
+def SCALAR_FCVTZSD : SInst<"vcvt_s64", "$s", "Sd">;
+def SCALAR_FCVTZUD : SInst<"vcvt_u64", "bs", "Sd">;
+
+////////////////////////////////////////////////////////////////////////////////
 // Scalar Floating-point Reciprocal Estimate
 def SCALAR_FRECPE : IInst<"vrecpe", "ss", "SfSd">;
 
@@ -1178,6 +1206,10 @@
 def SCALAR_ABS : SInst<"vabs", "ss", "Sl">;
 
 ////////////////////////////////////////////////////////////////////////////////
+// Scalar Absolute Difference
+def SCALAR_ABD : IInst<"vabd", "sss", "SfSd">;
+
+////////////////////////////////////////////////////////////////////////////////
 // Scalar Signed Saturating Absolute Value
 def SCALAR_SQABS : SInst<"vqabs", "ss", "ScSsSiSl">;
 
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/include/clang/Sema/DeclSpec.h
--- a/external/bsd/llvm/dist/clang/include/clang/Sema/DeclSpec.h        Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/include/clang/Sema/DeclSpec.h        Fri Dec 06 23:16:49 2013 +0000
@@ -2166,12 +2166,13 @@
   IdentifierInfo *Id;
   SourceLocation EllipsisLoc;
   ExprResult Init;
-
+  ParsedType InitCaptureType;
   LambdaCapture(LambdaCaptureKind Kind, SourceLocation Loc,
-                IdentifierInfo* Id = 0,
-                SourceLocation EllipsisLoc = SourceLocation(),
-                ExprResult Init = ExprResult())
-    : Kind(Kind), Loc(Loc), Id(Id), EllipsisLoc(EllipsisLoc), Init(Init)
+                IdentifierInfo* Id,
+                SourceLocation EllipsisLoc,
+                ExprResult Init, ParsedType InitCaptureType)
+    : Kind(Kind), Loc(Loc), Id(Id), EllipsisLoc(EllipsisLoc), Init(Init),
+        InitCaptureType(InitCaptureType)
   {}
 };
 
@@ -2188,10 +2189,12 @@
   /// \brief Append a capture in a lambda introducer.
   void addCapture(LambdaCaptureKind Kind,
                   SourceLocation Loc,
-                  IdentifierInfo* Id = 0,
-                  SourceLocation EllipsisLoc = SourceLocation(),
-                  ExprResult Init = ExprResult()) {
-    Captures.push_back(LambdaCapture(Kind, Loc, Id, EllipsisLoc, Init));
+                  IdentifierInfo* Id,
+                  SourceLocation EllipsisLoc,
+                  ExprResult Init, 
+                  ParsedType InitCaptureType) {
+    Captures.push_back(LambdaCapture(Kind, Loc, Id, EllipsisLoc, Init, 
+        InitCaptureType));
   }
 };
 
diff -r ddbb624f19f5 -r f9c5bed44d45 external/bsd/llvm/dist/clang/include/clang/Sema/Initialization.h
--- a/external/bsd/llvm/dist/clang/include/clang/Sema/Initialization.h  Fri Dec 06 23:14:15 2013 +0000
+++ b/external/bsd/llvm/dist/clang/include/clang/Sema/Initialization.h  Fri Dec 06 23:16:49 2013 +0000
@@ -116,8 +116,8 @@
   };
 
   struct C {
-    /// \brief The variable being captured by an EK_LambdaCapture.
-    VarDecl *Var;
+    /// \brief The name of the variable being captured by an EK_LambdaCapture.
+    IdentifierInfo *VarID;
 
     /// \brief The source location at which the capture occurs.
     unsigned Location;



Home | Main Index | Thread Index | Old Index