| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 214526
|
| |
|
|
| |
llvm-svn: 214520
|
| |
|
|
|
|
|
|
| |
generated pretty printing logic was unaware of this. Fixed the pretty printing logic, and added a test to ensure it no longer asserts.
Added a FIXME to the code about eliding the parenthesis when pretty printing such a construct.
llvm-svn: 214513
|
| |
|
|
|
|
|
|
| |
It appears that the backend does not handle all cases that were handled by clang.
In particular, it does not handle structs as used in
SingleSource/UnitTests/2003-05-07-VarArgs.
llvm-svn: 214512
|
| |
|
|
|
|
| |
ObjCMethod::getReturnTypeSourceRange. No functional changes intended.
llvm-svn: 214511
|
| |
|
|
|
|
|
|
|
|
| |
Summary:
There are no tests as it is dependant upon the environment variables
XCC_C_INCLUDE_PATH & XCC_CPLUS_INCLUDE_PATH being set.
Differential Revision: http://reviews.llvm.org/D4621
llvm-svn: 214510
|
| |
|
|
|
|
|
|
|
|
| |
Before:
@interface Foo (HackStuff)<MyProtocol>
After:
@interface Foo (HackStuff) <MyProtocol>
llvm-svn: 214508
|
| |
|
|
|
|
| |
highlights the attribute and the faulty nonpointer type when possible.
llvm-svn: 214507
|
| |
|
|
|
|
| |
Thanks to kcc@ for noticing.
llvm-svn: 214506
|
| |
|
|
| |
llvm-svn: 214504
|
| |
|
|
| |
llvm-svn: 214502
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch causes clang to emit va_arg instructions to the backend instead of
expanding them into an implementation itself. The backend already implements
va_arg since this is necessary for NaCl so this patch is removing redundant
code.
Together with the llvm patch (D4556) that accounts for the effect of endianness
on the expansion of va_arg, this fixes PR19612.
Depends on D4556
Reviewers: sstankovic, dsanders
Reviewed By: dsanders
Subscribers: rnk, cfe-commits
Differential Revision: http://reviews.llvm.org/D4742
llvm-svn: 214497
|
| |
|
|
|
|
|
|
|
|
|
| |
they're somehow missing a body. Looks like this was left behind when the loop
was generalized, and it's not been problematic before because without modules,
a used, implicit special member function declaration must be a definition.
This was resulting in us trying to emit a constructor declaration rather than
a definition, and producing a constructor missing its member initializers.
llvm-svn: 214473
|
| |
|
|
| |
llvm-svn: 214472
|
| |
|
|
|
|
|
|
| |
this pointer is always non-null. If the this pointer is null, it is undefined
and the compiler may optimize it away by assuming it is non-null. The null
checks are pushed into the callers.
llvm-svn: 214471
|
| |
|
|
| |
llvm-svn: 214461
|
| |
|
|
| |
llvm-svn: 214459
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a function has a resolved exception specification, then all declarations of
the function do.
We should probably improve the AST representation to make this implicit (perhaps
only store the exception specification on the canonical declaration), but this
fixes things for now.
The testcase for this (which used to assert) also exposes the actual bug I was
trying to reduce here: we sometimes fail to emit the body of an imported
special member function definition. Fix for that to follow.
llvm-svn: 214458
|
| |
|
|
|
|
|
|
| |
FunctionProtoType::ExtProtoInfo. Most of the users of these fields don't care
about the other ExtProtoInfo bits and just want to talk about the exception
specification.
llvm-svn: 214450
|
| |
|
|
|
|
|
|
| |
#pragma unroll(4)). Check explicitly that the token we stored was an identifier.
Amends r214432
llvm-svn: 214446
|
| |
|
|
|
|
| |
attributes on the same declaration. This removes a FIXME from the code.
llvm-svn: 214436
|
| |
|
|
|
|
|
|
|
|
| |
This patch is necessary to support constant expressions which replaces the integer value in the loop hint attribute with an expression. The integer value was also storing the pragma’s state for options like vectorize(enable/disable) and the pragma unroll and nounroll directive. The state variable is introduced to hold the state of those options/pragmas. This moves the validation of the state (keywords) from SemaStmtAttr handler to the loop hint annotation token handler.
Resubmit with changes to try to fix the build-bot issue.
Reviewed by Aaron Ballman
llvm-svn: 214432
|
| |
|
|
|
|
| |
they don't specify the attribute
llvm-svn: 214425
|
| |
|
|
| |
llvm-svn: 214412
|
| |
|
|
| |
llvm-svn: 214411
|
| |
|
|
|
|
|
|
|
| |
Inspired by https://gist.github.com/tritao/2766291, and was previously discussed
on cfe-dev: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-June/037577.html
Adding testing capability via c-index-test.
llvm-svn: 214410
|
| |
|
|
|
|
|
| |
when arguments are structures or classes. PR16392.
patch by Karlis Senko
llvm-svn: 214409
|
| |
|
|
|
|
|
| |
In C, it is only known after merging decls if a function with 0 arguments has
a prototype. Fixes PR20386, see that for more notes.
llvm-svn: 214408
|
| |
|
|
|
|
|
|
| |
or optional arguments present. With this, the only time you should have to manually check attribute argument counts is when HasCustomParsing is set to true, or when you have variadic arguments that aren't really variadic (like ownership_holds and friends).
Updating the diagnostics in the launch_bounds test since they have been improved in that case. Adding a test for nonnull since it has little test coverage, but has truly variadic arguments.
llvm-svn: 214407
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Note that it's not clear whether this is the right behavior, please see
the review for the discussion.
Reviewers: rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4577
llvm-svn: 214401
|
| |
|
|
|
|
| |
specifier.
llvm-svn: 214393
|
| |
|
|
|
|
|
| |
or a class derived from T. We already supported this when initializing
_Atomic(T) from T for most (and maybe all) other reasonable values of T.
llvm-svn: 214390
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang forgot that '++s.m' was a bitfield l-value and permit it's address
to be taken; this would crash at CodeGen-time.
Instead, propagate the object-kind when we see the prefix
increment/decrement.
This fixes PR20496.
Differential Revision: http://reviews.llvm.org/D4733
llvm-svn: 214386
|
| |
|
|
|
|
| |
Part of <rdar://problem/17688758>
llvm-svn: 214380
|
| |
|
|
|
|
| |
It brought undefined behavior.
llvm-svn: 214376
|
| |
|
|
| |
llvm-svn: 214369
|
| |
|
|
|
|
|
|
| |
and adding a FIXME to a test case. (Drive-by removal of trailing whitespace in the test case as well.)
No functional changes.
llvm-svn: 214362
|
| |
|
|
| |
llvm-svn: 214356
|
| |
|
|
|
|
|
|
| |
This patch is necessary to support constant expressions which replaces the integer value in the loop hint attribute with an expression. The integer value was also storing the pragma’s state for options like vectorize(enable/disable) and the pragma unroll and nounroll directive. The state variable is introduced to hold the state of those options/pragmas. This moves the validation of the state (keywords) from SemaStmtAttr handler to the loop hint annotation token handler.
Reviewed by Aaron Ballman
llvm-svn: 214333
|
| |
|
|
|
|
| |
Part of <rdar://problem/17688758>
llvm-svn: 214316
|
| |
|
|
|
|
| |
Part of <rdar://problem/17688758>
llvm-svn: 214315
|
| |
|
|
|
|
|
|
|
| |
(Dropped the byte and word variants from the patch. Turns out these are not
part of AVX512F but only AVX512BW/VL.)
Part of <rdar://problem/17688758>
llvm-svn: 214314
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
As defined in the SPIR 1.2 specification, this node behaves similarly to
kernel_arg_type but will print the underlying type name, e.g., without
typedefs.
Example:
typedef unsigned int myunsignedint;
would report:
'myunsignedint' in the kernel_arg_type node
'uint' in the kernel_arg_base_type node
llvm-svn: 214308
|
| |
|
|
|
|
|
|
|
| |
a) add SKX support to Clang driver;
b) add tests for SKX target and AVX512BW, AVX512DQ, AVX512VL features into clang driver tests
Patch by Zinovy Nis <zinovy.y.nis@intel.com>
llvm-svn: 214306
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug where kernel_arg_type was always changing 'unsigned ' to 'u'
for any parameter type, including non-canonical types.
Example:
typedef unsigned int myunsignedint;
would report:
"myunt"
llvm-svn: 214305
|
| |
|
|
|
|
| |
FIXME: This test is incompatible to MS compat mode.
FIXME: Don't suppress this also on mingw. :-p
llvm-svn: 214301
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
new (aaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaa)) typename aaaaaaaaaaaaaaaaaaaaaaaa();
After:
new (aaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa))
typename aaaaaaaaaaaaaaaaaaaaaaaa();
llvm-svn: 214300
|
| |
|
|
| |
llvm-svn: 214298
|
| |
|
|
|
|
| |
No functional changes.
llvm-svn: 214294
|
| |
|
|
|
|
|
|
|
|
| |
Iterator invalidation issues already force us to do one lookup and one
insert.
Don't use the particular bit-pattern of the 'Align' field to determine
whether or not we have already inserted into the TypeInfo DenseMap;
instead ask for an iterator to the TypeInfo entry.
llvm-svn: 214293
|