- Feb 15, 2012
-
-
Douglas Gregor authored
llvm-svn: 150586
-
Douglas Gregor authored
llvm-svn: 150585
-
Douglas Gregor authored
return statements within a lambda; this diagnostic previously referred to blocks. llvm-svn: 150584
-
Douglas Gregor authored
llvm-svn: 150583
-
David Chisnall authored
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
-
Hans Wennborg authored
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
-
Richard Smith authored
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
-
Richard Smith authored
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
-
Anna Zaks authored
llvm-svn: 150556
-
John McCall authored
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
-
Fariborz Jahanian authored
meta-data. llvm-svn: 150548
-
Anna Zaks authored
the passed in pointer on failure. llvm-svn: 150533
-
Anna Zaks authored
hardening. llvm-svn: 150532
-
- Feb 14, 2012
-
-
Richard Smith authored
llvm-svn: 150524
-
Richard Smith authored
llvm-svn: 150521
-
Douglas Gregor authored
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
-
Richard Smith authored
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
-
Dmitri Gribenko authored
* 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
-
Anna Zaks authored
(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
-
Ted Kremenek authored
llvm-svn: 150511
-
Richard Smith authored
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
-
Ted Kremenek authored
llvm-svn: 150509
-
Ted Kremenek authored
llvm-svn: 150506
-
Ted Kremenek authored
llvm-svn: 150505
-
Ted Kremenek authored
Further remove some recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized. llvm-svn: 150504
-
Douglas Gregor authored
llvm-svn: 150503
-
Richard Smith authored
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
-
John McCall authored
Based on a patch by Vasiliy Korchagin! llvm-svn: 150500
-
Fariborz Jahanian authored
metadata for protocol definitions used on class qualifiers. llvm-svn: 150498
-
Douglas Gregor authored
[&values...] { print(values...); } llvm-svn: 150497
-
Kaelyn Uhrain authored
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
-
Douglas Gregor authored
llvm-svn: 150491
-
Fariborz Jahanian authored
llvm-svn: 150490
-
Dylan Noblesmith authored
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
-
Benjamin Kramer authored
llvm-svn: 150475
-
David Blaikie authored
Signed off by Richard Smith. llvm-svn: 150464
-
Eli Friedman authored
llvm-svn: 150459
-
Ted Kremenek authored
pulled into DiagnosticNoteRenderer, and common DiagnosticRenderer that assumes that all custom diagnostic messages are notes. Also extend DiagnosticRenderer to work with StoredDiagnostics in preparation for subsequent changes. llvm-svn: 150455
-
Richard Smith authored
the instantiation of a constexpr function temploid is now always constexpr, a defaulted constexpr function temploid is often ill-formed by the rule in [dcl.fct.def.default]p2 that an explicitly-defaulted constexpr function must have a constexpr implicit definition. To avoid making loads of completely reasonable code ill-formed, do not apply that rule to templates. llvm-svn: 150453
-
Eli Friedman authored
llvm-svn: 150452
-