- Feb 04, 2012
-
-
Benjamin Kramer authored
Fix all the transitive include users. llvm-svn: 149783
-
Benjamin Kramer authored
- Move the offending methods out of line and fix transitive includers. - This required changing an enum in the PPCallback API into an unsigned. llvm-svn: 149782
-
Benjamin Kramer authored
Fix all the files that depended on transitive includes of Diagnostic.h. With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer. llvm-svn: 149781
-
Benjamin Kramer authored
Move Storage and StorageAllocator out of the PartialDiagnostic class so we can forward declare them. Let ASTContext allocate the storage in its BumpPtrAllocator. This will help us remove ASTContext's depedency on PartialDiagnostic.h soon. llvm-svn: 149780
-
Benjamin Kramer authored
They were unused and pulled in Diagnostic.h for no reason. llvm-svn: 149779
-
Richard Smith authored
value of class type, look for a unique conversion operator converting to integral or unscoped enumeration type and use that. Implements [expr.const]p5. Sema::VerifyIntegerConstantExpression now performs the conversion and returns the converted result. Some important callers of Expr::isIntegralConstantExpr have been switched over to using it (including all of those required for C++11 conformance); this switch brings a side-benefit of improved diagnostics and, in several cases, simpler code. However, some language extensions and attributes have not been moved across and will not perform implicit conversions on constant expressions of literal class type where an ICE is required. In passing, fix static_assert to perform a contextual conversion to bool on its argument. llvm-svn: 149776
-
Richard Smith authored
array new expression. This lays some groundwork for the implicit conversion to integral or unscoped enumeration which C++11 ICEs undergo. llvm-svn: 149772
-
Anna Zaks authored
[analyzer] Make sure Containers OutOfBounds checker does not crash on undefined arguments, when CF functions are called with wrong number of arguments. llvm-svn: 149771
-
Richard Smith authored
llvm-svn: 149770
-
Richard Smith authored
new, is well-formed with defined semantics of throwing (a type which can be caught by a handler for) std::bad_array_new_length, unlike in C++98 where it is somewhere nebulous between undefined behavior and ill-formed. If the array size is an integral constant expression and satisfies one of these criteria, we would previous the array new expression, but now in C++11 mode, we merely issue a warning (the code is still rejected in C++98 mode, naturally). We don't yet implement new C++11 semantics correctly (see PR11644), but we do implement the overflow checking, and (for the default operator new) convert such expressions to an exception, so accepting such code now does not seem especially unsafe. llvm-svn: 149767
-
Richard Smith authored
llvm-svn: 149766
-
Argyrios Kyrtzidis authored
llvm-svn: 149764
-
Argyrios Kyrtzidis authored
llvm-svn: 149762
-
Nick Lewycky authored
allocator is given the pointer to allocate into. llvm-svn: 149760
-
Argyrios Kyrtzidis authored
llvm-svn: 149759
-
Dylan Noblesmith authored
Sync with the change in r149652. Also fix the comment to sync with LLVM's config.h header. llvm-svn: 149748
-
Anna Zaks authored
- osx.coreFoundation.containers.IndexOutOfBounds - osx.cocoa.SelfInit llvm-svn: 149747
-
Anna Zaks authored
llvm-svn: 149746
-
Anna Zaks authored
(Also renames in other ObjC checkers to create one category of checks.) llvm-svn: 149745
-
Sean Callanan authored
last commit. Sorry for the outage. llvm-svn: 149744
-
Nick Lewycky authored
llvm-svn: 149742
-
Nico Weber authored
by adding a triple, and the typedef makes things worse on windows. llvm-svn: 149740
-
Argyrios Kyrtzidis authored
of ArrayRef goodness. No functionality change. llvm-svn: 149739
-
Devang Patel authored
llvm-svn: 149738
-
Sean Callanan authored
want to provide "po"-like functionality which treats the result of an expression implicitly as "id" (if it is not otherwise known) and prints it as an Objective-C object. This has in the past been gated by the "DebuggerSupport" language option, but that is too general. Debuggers also provide other commands like "print" that do not make any assumptions about whether the object is an Objective-C object. This patch makes the assumption conditional on a new language option: DebuggerCastResultToId. I have also made corresponding modifications to the testsuite. llvm-svn: 149735
-
Devang Patel authored
llvm-svn: 149734
-
Argyrios Kyrtzidis authored
declaration is a reference. rdar://10749990 llvm-svn: 149733
-
Eli Friedman authored
Suppress the used-but-not-defined warning for static data members while I look into a rather nasty bug in the new odr-use marking code. llvm-svn: 149731
-
Richard Smith authored
The recent support for potential constant expressions exposed a bug in the implementation of libstdc++4.6, where numeric_limits<int>::min() is defined as (int)1 << 31, which isn't a constant expression. Disable the 'constexpr function never produces a constant expression' error inside system headers to compensate. llvm-svn: 149729
-
Devang Patel authored
llvm-svn: 149726
-
Nick Lewycky authored
llvm-svn: 149725
-
Nico Weber authored
Idea by Jean-Daniel Dupas. llvm-svn: 149721
-
Eli Friedman authored
llvm-svn: 149719
-
- Feb 03, 2012
-
-
Eli Friedman authored
Still left: explicit captures in lambdas need to cause implicit capture, and I need to take a look at the diagnostics for some cases. llvm-svn: 149718
-
Douglas Gregor authored
size. Otherwise, we can end up with bogus layouts. llvm-svn: 149703
-
Douglas Gregor authored
template without a corresponding parameter pack, don't immediately substitute the alias template. This is under discussion in the C++ committee, and may become ill-formed, but for now we match GCC. llvm-svn: 149697
-
Argyrios Kyrtzidis authored
llvm-svn: 149696
-
Hans Wennborg authored
Also, in C, call this a C11 extension rather than a GNU extension. llvm-svn: 149695
-
Douglas Gregor authored
template. Such pack expansions can easily fail at template instantiation time, if the expanded parameter packs are of the wrong length. Fixes <rdar://problem/10040867>, PR9021, and the example that came up today at Going Native. llvm-svn: 149685
-
Anna Zaks authored
llvm-svn: 149682
-