History log of /llvm-project/clang/tools/libclang/CXCursor.cpp (Results 176 – 200 of 322)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# f29276ed 18-Jun-2014 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with MSVC).

llvm-svn: 211140


# a566efbe 17-Jun-2014 Rafael Espindola <rafael.espindola@gmail.com>

Revert "[OPENMP] Initial support for '#pragma omp for'."

This reverts commit r211096. Looks like it broke the msvc build:

SemaOpenMP.cpp(140) : error C4519: default template arguments are only allo

Revert "[OPENMP] Initial support for '#pragma omp for'."

This reverts commit r211096. Looks like it broke the msvc build:

SemaOpenMP.cpp(140) : error C4519: default template arguments are only allowed on a class template

llvm-svn: 211113

show more ...


# c77dd525 17-Jun-2014 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Initial support for '#pragma omp for'.

llvm-svn: 211096


# 69186e73 08-Jun-2014 Craig Topper <craig.topper@gmail.com>

[C++11] Use 'nullptr'. Tools edition.

llvm-svn: 210422


# 2581e66e 28-May-2014 Eli Bendersky <eliben@google.com>

Expose CUDA function attributes to the C interface.

Until now all CUDA-specific attributes were represented with
CXCursor_UnexposedAttr; now they are actually implemented, including the Python
bindi

Expose CUDA function attributes to the C interface.

Until now all CUDA-specific attributes were represented with
CXCursor_UnexposedAttr; now they are actually implemented, including the Python
bindings.

llvm-svn: 209767

show more ...


Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1
# 81228382 01-May-2014 Joey Gouly <joey.gouly@gmail.com>

[libclang] Add attribute support for 'pure', 'const' and 'noduplicate'.

This bumps CINDEX_VERSION_MINOR up (to 26).

llvm-svn: 207767


Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1
# 1b59ab56 27-Feb-2014 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] First changes for Parsing and Sema for 'omp simd' directive support

llvm-svn: 202360


# 95e7ff2e 01-Jan-2014 Alp Toker <alp@nuanti.com>

Eliminate UnaryTypeTraitExpr

Remove UnaryTypeTraitExpr and switch all remaining type trait related handling
over to TypeTraitExpr.

The UTT/BTT/TT enum prefix and evaluation code is retained pending

Eliminate UnaryTypeTraitExpr

Remove UnaryTypeTraitExpr and switch all remaining type trait related handling
over to TypeTraitExpr.

The UTT/BTT/TT enum prefix and evaluation code is retained pending further
cleanup.

This is part of the ongoing work to unify type traits following the removal of
BinaryTypeTraitExpr in r197273.

llvm-svn: 198271

show more ...


Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3
# cbb9034e 13-Dec-2013 Alp Toker <alp@nuanti.com>

Eliminate BinaryTypeTraitExpr

There's nothing special about type traits accepting two arguments.

This commit eliminates BinaryTypeTraitExpr and switches all related handling
over to TypeTraitExpr.

Eliminate BinaryTypeTraitExpr

There's nothing special about type traits accepting two arguments.

This commit eliminates BinaryTypeTraitExpr and switches all related handling
over to TypeTraitExpr.

Also fixes a CodeGen failure with variadic type traits appearing in a
non-constant expression.

The BTT/TT prefix and evaluation code is retained as-is for now but will soon
be further cleaned up.

This is part of the ongoing work to unify type traits.

llvm-svn: 197273

show more ...


Revision tags: llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# 16834f1c 25-Sep-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com>

[libclang] Provide location for attributes and expose 'packed' attribute.

Patch by Loïc Jaquemet!

llvm-svn: 191345


# c4d7c82c 18-Sep-2013 Hal Finkel <hfinkel@anl.gov>

Add the intrinsic __builtin_convertvector

LLVM supports applying conversion instructions to vectors of the same number of
elements (fptrunc, fptosi, etc.) but there had been no way for a Clang user

Add the intrinsic __builtin_convertvector

LLVM supports applying conversion instructions to vectors of the same number of
elements (fptrunc, fptosi, etc.) but there had been no way for a Clang user to
cause such instructions to be generated when using builtin vector types.

C-style casting on vectors is already defined in terms of bitcasts, and so
cannot be used for these conversions as well (without leading to a very
confusing set of semantics). As a result, this adds a __builtin_convertvector
intrinsic (patterned after the OpenCL __builtin_astype intrinsic). This is
intended to aid the creation of vector intrinsic headers that create generic IR
instead of target-dependent intrinsics (in other words, this is a generic
_mm_cvtepi32_ps). As noted in the documentation, the action of
__builtin_convertvector is defined in terms of the action of a C-style cast on
each vector element.

llvm-svn: 190915

show more ...


# 0a4e61f8 13-Sep-2013 David Blaikie <dblaikie@gmail.com>

Remove unnecessary inclusion of Sema.h

Let me tell you a tale...

Within some twisted maze of debug info I've ended up implementing an
insane man's Include What You Use device. When the debugger emi

Remove unnecessary inclusion of Sema.h

Let me tell you a tale...

Within some twisted maze of debug info I've ended up implementing an
insane man's Include What You Use device. When the debugger emits debug
info it really shouldn't, I find out why & then realize the code could
be improved too.

In this instance CIndexDiagnostics.cpp had a lot more debug info with
Clang than GCC. Upon inspection a major culprit was all the debug info
describing clang::Sema. This was emitted because clang::Sema is
befriended by DiagnosticEngine which was rightly required, but GCC
doesn't emit debug info for friends so it never emitted anything for
Clang. Clang does emit debug info for friends (will be fixed/changed to
reduce debug info size).

But why didn't Clang just emit a declaration of Sema if this entire TU
didn't require a definition?

1) Diagnostic.h did the right thing, only using a declaration of Sema
and not including Sema.h at all.
2) Some other dependency of CIndexDiagnostics.cpp didn't do the right
thing. ASTUnit.h, only needing a declaration, still included Sema.h
(hence this commit which removes that include and adds the necessary
includes to the cpp files that were relying on this)
3) -flimit-debug-info didn't save us because of
EnterExpressionEvaluationContext, defined inline in Sema.h which fires
the "requiresCompleteType" check/flag (since it uses nested types from
Sema and calls Sema member functions) and thus, if debug info is ever
emitted for the type, the whole type is emitted and not just a
declaration.

Improving -flimit-debug-info to account for this would be... hard.
Modifying the code so that's not 'required to be complete' might be
possible, but probably only by moving EnterExpressionEvaluationContext
either into Sema, or out of Sema.h. That might be a bit too much of a
contortion to be bothered with.

Also, this is only one of the cases where emitting debug info for
friends caused us to emit a lot more debug info (this change reduces
Clang's DWO size by 0.93%, dropping friends entirely reduces debug info
by 3.2%) - I haven't hunted down the other cases, but I assume they
might be similar (Sema or something like it). IWYU or a similar tool
might help us reduce build times a bit, but analyzing debug info to find
these differences isn't worthwhile. I'll take the 3.2% win, provide this
small improvement to the code itself, and move on.

llvm-svn: 190715

show more ...


# 5ec3eb11 19-Jul-2013 Alexey Bataev <a.bataev@hotmail.com>

OpenMP: basic support for #pragma omp parallel

llvm-svn: 186647


Revision tags: llvmorg-3.3.1-rc1
# 2341c0d3 04-Jul-2013 Craig Topper <craig.topper@gmail.com>

Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily.

llvm-svn: 185610


# cc1b96d3 12-Jun-2013 Richard Smith <richard-llvm@metafoo.co.uk>

PR12086, PR15117

Introduce CXXStdInitializerListExpr node, representing the implicit
construction of a std::initializer_list<T> object from its underlying array.
The AST representation of such an ex

PR12086, PR15117

Introduce CXXStdInitializerListExpr node, representing the implicit
construction of a std::initializer_list<T> object from its underlying array.
The AST representation of such an expression goes from an InitListExpr with a
flag set, to a CXXStdInitializerListExpr containing a MaterializeTemporaryExpr
containing an InitListExpr (possibly wrapped in a CXXBindTemporaryExpr).

This more detailed representation has several advantages, the most important of
which is that the new MaterializeTemporaryExpr allows us to directly model
lifetime extension of the underlying temporary array. Using that, this patch
*drastically* simplifies the IR generation of this construct, provides IR
generation support for nested global initializer_list objects, fixes several
bugs where the destructors for the underlying array would accidentally not get
invoked, and provides constant expression evaluation support for
std::initializer_list objects.

llvm-svn: 183872

show more ...


Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1
# 29b28e8f 24-Apr-2013 Ted Kremenek <kremenek@apple.com>

Fix typo in comparison in clang_CXCursorSet_contains().

Fixes PR 10124.

Patch by Jens Kilian.

Thanks to Nikola Smiljanic for following up.

llvm-svn: 180177


# c0b98663 24-Apr-2013 Ted Kremenek <kremenek@apple.com>

Revert "Remove CXCursorSet and related APIs. There are no known clients."

Apparently there are...

llvm-svn: 180176


# 616986f8 24-Apr-2013 Ted Kremenek <kremenek@apple.com>

Remove CXCursorSet and related APIs. There are no known clients.

llvm-svn: 180174


# c2233beb 23-Apr-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com>

[libclang] Introduce a CXCursor_ObjCSelfExpr cursor, which is the equivalent of CXCursor_CXXThisExpr for C++ code.

rdar://13717006

llvm-svn: 180127


# 852c9db7 20-Apr-2013 Richard Smith <richard-llvm@metafoo.co.uk>

C++1y: Allow aggregates to have default initializers.

Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in
CXXCtorInitializers and in InitListExprs to represent a default ini

C++1y: Allow aggregates to have default initializers.

Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in
CXXCtorInitializers and in InitListExprs to represent a default initializer.

There's an additional complication here: because the default initializer can
refer to the initialized object via its 'this' pointer, we need to make sure
that 'this' points to the right thing within the evaluation.

llvm-svn: 179958

show more ...


# 24110cc7 16-Apr-2013 Tareq A. Siraj <tareq.a.sriaj@intel.com>

Implement CapturedStmt AST

CapturedStmt can be used to implement generic function outlining as described in
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html.

CapturedStmt is not

Implement CapturedStmt AST

CapturedStmt can be used to implement generic function outlining as described in
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html.

CapturedStmt is not exposed to the C api.

Serialization and template support are pending.

Author: Wei Pan <wei.pan@intel.com>

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

llvm-svn: 179615

show more ...


# 5e77d76c 16-Apr-2013 John McCall <rjmccall@apple.com>

Basic support for Microsoft property declarations and
references thereto.

Patch by Tong Shen!

llvm-svn: 179585


# b2792972 01-Apr-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com>

[libclang] Make clang_Cursor_getArgument work with call-exprs.

Patch by Matthias Kleine!

llvm-svn: 178475


# 6adc78e0 18-Feb-2013 David Blaikie <dblaikie@gmail.com>

Replace TypeLoc llvm::cast support to be well-defined.

The TypeLoc hierarchy used the llvm::cast machinery to perform undefined
behavior by casting pointers/references to TypeLoc objects to derived

Replace TypeLoc llvm::cast support to be well-defined.

The TypeLoc hierarchy used the llvm::cast machinery to perform undefined
behavior by casting pointers/references to TypeLoc objects to derived types
and then using the derived copy constructors (or even returning pointers to
derived types that actually point to the original TypeLoc object).

Some context is in this thread:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056804.html
Though it's spread over a few months which can be hard to read in the mail
archive.

llvm-svn: 175462

show more ...


# 19b79c8b 16-Feb-2013 Dmitri Gribenko <gribozavr@gmail.com>

libclang: remove reinterpret_casts by using SourceLocation::getPtrEncoding

llvm-svn: 175333


12345678910>>...13