| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
directive.
llvm-svn: 213842
|
| |
|
|
|
|
| |
new form using the string "full".
llvm-svn: 213771
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213735
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213728
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213717
|
| |
|
|
|
|
| |
prohibited by GCC as well.
llvm-svn: 213650
|
| |
|
|
| |
llvm-svn: 213639
|
| |
|
|
| |
llvm-svn: 213616
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If function parameters have default values, and that of the second
parameter is parsed with errors, function declaration would have
a parameter without default value that follows a parameter with
that. Such declaration breaks logic of selecting overloaded
function. As a solution, put opaque object as default value in such case.
This patch fixes PR20055.
Differential Revision: http://reviews.llvm.org/D4378
llvm-svn: 213594
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This pragma is very rare. We could *hypothetically* lower some uses of
it down to @llvm.global_ctors, but given that GlobalOpt isn't able to
optimize prioritized global ctors today, there's really no point.
If we wanted to do this in the future, I would check if the section used
in the pragma started with ".CRT$XC" and had up to two characters after
it. Those two characters could form the 16-bit initialization priority
that we support in @llvm.global_ctors. We would have to teach LLVM to
lower prioritized global ctors on COFF as well.
This should let us compile some silly uses of this pragma in WebKit /
Blink.
Reviewers: rsmith, majnemer
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4549
llvm-svn: 213593
|
| |
|
|
| |
llvm-svn: 213574
|
| |
|
|
| |
llvm-svn: 213512
|
| |
|
|
| |
llvm-svn: 213510
|
| |
|
|
|
|
|
|
|
| |
Assigns indices to try blocks. These indices will used in constructing
tables that the mscrt function __except_handler3 reads during SEH.
Testing will occur once we actually emit the tables, in a subsequent
patch.
llvm-svn: 213437
|
| |
|
|
| |
llvm-svn: 213363
|
| |
|
|
| |
llvm-svn: 213360
|
| |
|
|
| |
llvm-svn: 213355
|
| |
|
|
|
|
|
| |
The parsing code for 'availability' wasn't prepared for string literals
like "a" L"b" showing up. Error if this occurs.
llvm-svn: 213350
|
| |
|
|
|
|
|
|
|
| |
We were crashing on the relevant test case inputs. Also, refactor this
code a bit so we can report failure and slurp the pragma tokens without
returning a diagnostic id. This is more consistent with the rest of the
parser and sema code.
llvm-svn: 213337
|
| |
|
|
| |
llvm-svn: 213288
|
| |
|
|
| |
llvm-svn: 213262
|
| |
|
|
| |
llvm-svn: 213257
|
| |
|
|
| |
llvm-svn: 213237
|
| |
|
|
| |
llvm-svn: 213232
|
| |
|
|
|
|
| |
scope and syntax information for attributes with custom parsing. It turns out not to matter too much because the FIXME wasn't quite true -- none of these attributes have a C++11 spelling. However, it's still a good change (for instance, we may add an attribute with a type arg in the future for which this code now behaves properly).
llvm-svn: 213191
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Recognize additional cases, when '::' is mistyped as ':'.
This is a fix to RP18587 - colons have too much protection in member-declarations
Review is tracked by http://reviews.llvm.org/D3653.
This is an attempt to recommit the fix, initially committed as r212957 but then
reverted in r212965 as it broke self-build. In the updated patch ParseDirectDeclarator
turns on colon protection in for context as well.
llvm-svn: 213120
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__asm
Summary:
Without this, we would not consume the closing brace which would cause
the parser to start consuming C++ and bad things would happen.
Reviewers: majnemer
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4505
llvm-svn: 213032
|
| |
|
|
| |
llvm-svn: 213022
|
| |
|
|
|
|
|
|
|
| |
Otherwise, multiple errors such as having unknown identifiers for two
arguments won't be diagnosed properly (e.g. only the first one would
have a diagnostic message if typo correction fails even though both
would be diagnosed if typo correction suggests a replacement).
llvm-svn: 213003
|
| |
|
|
|
|
|
|
| |
This reverts commit r212957. It broke the self-host on code like this
from LLVM's option library:
for (auto Arg: filtered(Id0, Id1, Id2))
llvm-svn: 212965
|
| |
|
|
|
|
|
|
|
| |
Recognize additional cases, when '::' is mistyped as ':'.
This is a fix to RP18587 - colons have too much protection in member-declarations.
Differential Revision: http://reviews.llvm.org/D3653
llvm-svn: 212957
|
| |
|
|
| |
llvm-svn: 212919
|
| |
|
|
| |
llvm-svn: 212804
|
| |
|
|
| |
llvm-svn: 212516
|
| |
|
|
| |
llvm-svn: 212453
|
| |
|
|
|
|
|
|
|
| |
Give scope a SEHTryScope bit, set that in ParseSEHTry(), and let Sema
walk the scope chain to find the SEHTry parent on __leave statements.
(They are rare enough that it seems better to do the walk instead of
giving Scope a SEHTryParent pointer -- this is similar to AtCatchScope.)
llvm-svn: 212422
|
| |
|
|
| |
llvm-svn: 212421
|
| |
|
|
|
|
| |
This fixes http://llvm.org/PR20204.
llvm-svn: 212389
|
| |
|
|
| |
llvm-svn: 211886
|
| |
|
|
| |
llvm-svn: 211774
|
| |
|
|
| |
llvm-svn: 211767
|
| |
|
|
|
|
| |
and count.
llvm-svn: 211763
|
| |
|
|
| |
llvm-svn: 211685
|
| |
|
|
|
|
|
|
|
|
|
| |
Rather than having kw___if_exists be a special case of
ParseCompoundStatementBody, we can look for kw___if_exists in the big
switch over for valid statement tokens in ParseStatementOrDeclaration.
Nested __if_exists blocks are used in the DECLARE_REGISTRY_RESOURCEID
macro from atlcom.h.
llvm-svn: 211654
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a user types:
int [4] foo;
assume that the user means:
int foo[4];
Update the information for 'foo' to prevent additional errors, and provide
a fix-it hint to move the brackets to the correct location.
Additionally, suggest parens for types that require it, such as:
int [4] *foo;
to:
int (*foo)[4];
llvm-svn: 211641
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
than one method with mismatched type of same selector name.
clang issues a warning to point this out since it may cause
undefined behavior. There are cases though that some APIs
don't care about user methods and such warnings are perceived as
noise. This patch allows users to add paren delimiters around
selector name to turn off such warnings. So, @selector((save:)) will
turn off the warning. It also provides 'fixit' so user knows
what to do. // rdar://16458579
llvm-svn: 211611
|
| |
|
|
|
|
| |
&qualified-id into &unqualified-id. Also make sure to set the naming class when we find the qualified-id in a different class than the nested name specifier specified so far. Fixes PR19681!
llvm-svn: 211551
|
| |
|
|
|
|
|
|
| |
This avoids going over the clobber list twice.
No functionality change.
llvm-svn: 211485
|
| |
|
|
| |
llvm-svn: 211394
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D4222
llvm-svn: 211357
|