| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
as unscanned. // rdar://10832643
llvm-svn: 150639
|
| |
|
|
|
|
| |
This reverts commit 9a68d4584afcd0853b930bd80235b58736e785b4.
llvm-svn: 150637
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
partial types for contexts and forward decls while allowing us to
complete types later on for debug purposes.
This piggy-backs on the metadata replacement and rauw changes
for temporary nodes and takes advantage of the incremental
support I added in earlier. This allows us to, if we decide,
to limit adding methods and variables to structures in order
to limit the amount of debug information output into a .o file.
The caching is a bit complicated though so any thoughts on
untangling that are welcome.
llvm-svn: 150631
|
| |
|
|
| |
llvm-svn: 150629
|
| |
|
|
|
|
| |
parenthesized braced-init-list in the base/member initialization list.
llvm-svn: 150625
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Snooping in other namespaces when the identifier being corrected is
already qualified (i.e. a valid CXXScopeSpec is passed to CorrectTypo)
and ranking synthesized namespace qualifiers relative to the existing
qualifier is now performed. Support for disambiguating the string
representation of synthesized namespace qualifers has also been added
(the change to test/Parser/cxx-using-directive.cpp is an example of an
ambiguous relative qualifier).
llvm-svn: 150622
|
| |
|
|
|
|
|
|
|
|
|
| |
with the same parameter types and return type as the function call
operator. This is the real answer to
http://stackoverflow.com/questions/4148242/is-it-possible-to-convert-a-c0x-lambda-to-a-clang-block
:)
llvm-svn: 150620
|
| |
|
|
|
|
| |
which attempted to rewrite the same meta-data twice.
llvm-svn: 150618
|
| |
|
|
|
|
| |
function declaration into a separate function. No functionality change
llvm-svn: 150617
|
| |
|
|
|
|
| |
Reviewed by Ted Kremenek.
llvm-svn: 150616
|
| |
|
|
|
|
|
|
| |
option table instead of storing the name.
Another 8 bytes + relocation removed from every diagnostic on x86_64.
llvm-svn: 150615
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option was added in r129614 and doesn't have any use case that I'm aware
of. It's possible that external tools are using these names - and if that's
the case we can certainly reassess the functionality, but for now it lets us
shave out a few unneeded bits from clang.
Move the "StaticDiagNameIndex" table into the only remaining consumer, diagtool.
This removes the actual diagnostic name strings from clang entirely.
Reviewed by Chris Lattner & Ted Kremenek.
llvm-svn: 150612
|
| |
|
|
|
|
|
|
|
| |
function, provide a specialized diagnostic that indicates the kind of
special member function (default constructor, copy assignment
operator, etc.) and that it was implicitly deleted. Add a hook where
we can provide more detailed information later.
llvm-svn: 150611
|
| |
|
|
|
|
| |
-lgcc_s.
llvm-svn: 150602
|
| |
|
|
|
|
| |
specialize location information and diagnostics for this entity.
llvm-svn: 150588
|
| |
|
|
| |
llvm-svn: 150587
|
| |
|
|
| |
llvm-svn: 150586
|
| |
|
|
| |
llvm-svn: 150585
|
| |
|
|
|
|
|
| |
return statements within a lambda; this diagnostic previously referred
to blocks.
llvm-svn: 150584
|
| |
|
|
| |
llvm-svn: 150583
|
| |
|
|
|
|
|
|
| |
world on Solaris 11 for both x86 and x86-64 using the built-in assembler and
Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location
to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh.
llvm-svn: 150580
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes PrintfSpecifier::fixType() and ScanfSpecifier::fixType()
only fix a conversion specification enough that Clang wouldn't warn about it,
as opposed to always changing it to use the "canonical" conversion specifier.
(PR11975)
This preserves the user's choice of conversion specifier in cases like:
printf("%a", (long double)1);
where we previously suggested "%Lf", we now suggest "%La"
printf("%x", (long)1);
where we previously suggested "%ld", we now suggest "%lx".
llvm-svn: 150578
|
| |
|
|
|
|
|
|
| |
expression is referenced, defined, then referenced again, make sure we
instantiate it the second time it's referenced. This is the static data member
analogue of r150518.
llvm-svn: 150560
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to be core constant expressions (including pointers and references to
temporaries), and makes constexpr calculations Turing-complete. A Turing machine
simulator is included as a testcase.
This opens up the possibilty of removing CCValue entirely, and removing some
copies from the constant evaluator in the process, but that cleanup is not part
of this change.
llvm-svn: 150557
|
| |
|
|
| |
llvm-svn: 150556
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is general goodness because representations of member pointers are
not always equivalent across member pointer types on all ABIs
(even though this isn't really standard-endorsed).
Take advantage of the new information to teach IR-generation how
to do these reinterprets in constant initializers. Make sure this
works when intermingled with hierarchy conversions (although
this is not part of our motivating use case). Doing this in the
constant-evaluator would probably have been better, but that would
require a *lot* of extra structure in the representation of
constant member pointers: you'd really have to track an arbitrary
chain of hierarchy conversions and reinterpretations in order to
get this right. Ultimately, this seems less complex. I also
wasn't quite sure how to extend the constant evaluator to handle
foldings that we don't actually want to treat as extended
constant expressions.
llvm-svn: 150551
|
| |
|
|
|
|
| |
meta-data.
llvm-svn: 150548
|
| |
|
|
|
|
| |
the passed in pointer on failure.
llvm-svn: 150533
|
| |
|
|
|
|
| |
hardening.
llvm-svn: 150532
|
| |
|
|
| |
llvm-svn: 150524
|
| |
|
|
| |
llvm-svn: 150521
|
| |
|
|
|
|
|
|
| |
lambda expressions. Because these issue was pulled back from Ready
status at the Kona meeting, we still emit an ExtWarn when using
default arguments for lambda expressions.
llvm-svn: 150519
|
| |
|
|
|
|
|
|
| |
template is defined, and then the specialization is referenced again, don't
forget to instantiate the template on the second reference. Use the source
location of the first reference as the point of instantiation, though.
llvm-svn: 150518
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* if, switch, range-based for: warn if semicolon is on the same line.
* for, while: warn if semicolon is on the same line and either next
statement is compound statement or next statement has more
indentation.
Replacing the semicolon with {} or moving the semicolon to the next
line will always silence the warning.
Tests from SemaCXX/if-empty-body.cpp merged into SemaCXX/warn-empty-body.cpp.
llvm-svn: 150515
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(In response of Ted's review of r150112.)
This moves the logic which checked if a symbol escapes through a
parameter to invalidateRegionCallback (instead of post CallExpr visit.)
To accommodate the change, added a CallOrObjCMessage parameter to
checkRegionChanges callback.
llvm-svn: 150513
|
| |
|
|
|
|
| |
ExprEngine::VisitIncrementDecrementOperator().
llvm-svn: 150511
|
| |
|
|
|
|
|
| |
C++11 or just C++17, restrict the set of null pointer constants in C++11 mode
back to those which were considered null in C++98.
llvm-svn: 150510
|
| |
|
|
| |
llvm-svn: 150509
|
| |
|
|
|
|
| |
UO_Extension.
llvm-svn: 150506
|
| |
|
|
| |
llvm-svn: 150505
|
| |
|
|
|
|
| |
needed because the CFG is fully linearized.
llvm-svn: 150504
|
| |
|
|
| |
llvm-svn: 150503
|
| |
|
|
|
|
|
| |
used to construct an object of union type with a deleted default constructor
(plus fixes for some related value-initialization corner cases).
llvm-svn: 150502
|
| |
|
|
|
|
| |
Based on a patch by Vasiliy Korchagin!
llvm-svn: 150500
|
| |
|
|
|
|
|
| |
metadata for protocol definitions used on
class qualifiers.
llvm-svn: 150498
|
| |
|
|
|
|
| |
[&values...] { print(values...); }
llvm-svn: 150497
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace the simple Levenshtein edit distance for typo correction
candidates--and the hacky way adding namespace qualifiers would affect
the edit distance--with a synthetic "edit distance" comprised of several
factors and their relative weights. This also allows the typo correction
callback object to convey more information about the viability of a
correction candidate than simply viable or not viable.
llvm-svn: 150495
|
| |
|
|
| |
llvm-svn: 150491
|
| |
|
|
| |
llvm-svn: 150490
|
| |
|
|
|
|
|
|
|
|
| |
And remove HAVE_CLANG_CONFIG_H, now that the header is generated
in the autoconf build, too.
Reverts r149571/restores r149504, now that config.h is generated
correctly by LLVM's configure in all build configurations.
llvm-svn: 150487
|