| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
We didn't properly implement support for the sized integer suffixes.
Suffixes like i16 were essentially ignored instead of mapping them to
the appropriately sized integer type.
This fixes PR20008.
Differential Revision: http://reviews.llvm.org/D4132
llvm-svn: 211426
|
|
|
|
| |
llvm-svn: 211380
|
|
|
|
| |
llvm-svn: 211352
|
|
|
|
| |
llvm-svn: 211347
|
|
|
|
| |
llvm-svn: 211342
|
|
|
|
|
|
| |
MSVC).
llvm-svn: 211140
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 211096
|
|
|
|
| |
llvm-svn: 211007
|
|
|
|
|
|
|
|
|
| |
hint attributes. Includes tests for pragma printing and for attribute order
which is incorrectly reversed by ParsedAttributes.
Reviewed by Aaron Ballman
llvm-svn: 210925
|
|
|
|
|
|
|
| |
will never be true in a well-defined context. The checking for null pointers
has been moved into the caller logic so it does not rely on undefined behavior.
llvm-svn: 210498
|
|
|
|
|
|
| |
Patch thanks to Tyler Nowicki!
llvm-svn: 210330
|
|
|
|
|
|
| |
Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks.
llvm-svn: 210184
|
|
|
|
| |
llvm-svn: 209816
|
|
|
|
|
|
| |
Actual usage in Sema for collapsing loops will in some future patch.
llvm-svn: 209660
|
|
|
|
|
|
| |
duplicate attribute introducers. Eg) [[clang::fallthrough]] instead of [[[[clang::fallthrough]]]]
llvm-svn: 208706
|
|
|
|
| |
llvm-svn: 208517
|
|
|
|
|
|
| |
clause 'proc_bind'
llvm-svn: 208060
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D3272
llvm-svn: 206891
|
|
|
|
|
|
|
|
|
|
|
| |
It is very similar to GCC's __PRETTY_FUNCTION__, except it prints the
calling convention.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D3311
llvm-svn: 205780
|
|
|
|
| |
llvm-svn: 205164
|
|
|
|
| |
llvm-svn: 204428
|
|
|
|
|
|
| |
iterator_range body(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204040
|
|
|
|
|
|
| |
iterator_range decls(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203947
|
|
|
|
|
|
| |
with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203255
|
|
|
|
| |
llvm-svn: 203087
|
|
|
|
| |
llvm-svn: 202360
|
|
|
|
|
|
| |
There were many additional tests that had the bad behavior baked in.
llvm-svn: 202174
|
|
|
|
|
|
|
|
| |
This reverts commit r202167.
It broke Analysis/auto-obj-dtors-cfg-output.cpp
llvm-svn: 202173
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't emit anything when we encounter a call to a conversion operator.
"bar(a & b)" instead of "bar(a & b.operator int())"
This preserves the semantics and is still idempotent if we print the AST multiple times.
- Properly print declarations of conversion operators.
"explicit operator bool();" instead of "bool operator _Bool();"
PR18776.
llvm-svn: 202167
|
|
|
|
| |
llvm-svn: 201297
|
|
|
|
|
|
| |
certain receiver types.
llvm-svn: 200953
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A return type is the declared or deduced part of the function type specified in
the declaration.
A result type is the (potentially adjusted) type of the value of an expression
that calls the function.
Rule of thumb:
* Declarations have return types and parameters.
* Expressions have result types and arguments.
llvm-svn: 200082
|
|
|
|
|
|
|
|
| |
raw_ostream, and started using it in places it made sense.
No functional changes intended, just API cleanliness.
llvm-svn: 198428
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 197274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type trait parsing is all over the place at the moment with unary, binary and
n-ary C++11 type traits that were developed independently at different points
in clang's history.
There's no good reason to handle them separately -- there are three parsers,
three AST nodes and lots of duplicated handling code with slightly different
implementations and diags for each kind.
This commit unifies parsing of type traits and sets the stage for further
consolidation.
No change in behaviour other than more consistent error recovery.
llvm-svn: 197179
|
|
|
|
|
|
|
|
|
| |
printer.
The change isn't completely comprehensive. This can be filled in
lazily as needed. There is one consumer right now.
llvm-svn: 197093
|
|
|
|
| |
llvm-svn: 196587
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Similar to __FUNCTION__, MSVC exposes the name of the enclosing mangled
function name via __FUNCDNAME__. This implementation is very naive and
unoptimized, it is expected that __FUNCDNAME__ would be used rarely in
practice.
Reviewers: rnk, rsmith, thakis
CC: cfe-commits, silvas
Differential Revision: http://llvm-reviews.chandlerc.com/D2109
llvm-svn: 194181
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'final'
Summary: Some MS headers use these features.
Reviewers: rnk, rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1948
llvm-svn: 192936
|
|
|
|
| |
llvm-svn: 191730
|
|
|
|
|
|
| |
and capturing a variable declaration, and complete the implementation of them.
llvm-svn: 191605
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intent of getTypeOperand() was to yield an unqualified type.
However QualType::getUnqualifiedType() does not strip away qualifiers on
arrays.
N.B. This worked fine when typeid() was applied to an expression
because we would inject as implicit cast to the unqualified array type
in the AST.
llvm-svn: 191487
|
|
|
|
|
|
|
|
| |
1. Fixed constructor of shared clause.
2. Some macros for clauses processing are replaced by private template methods.
3. Additional checks in sema analysis of OpenMP clauses.
llvm-svn: 191265
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
threadprivate_messages.cpp)
llvm-svn: 190183
|
|
|
|
|
|
|
|
| |
This reverts commit r189795.
threadprivate_messages.cpp is faling on windows.
llvm-svn: 189811
|
|
|
|
| |
llvm-svn: 189795
|