- Oct 29, 2012
-
-
Quentin Colombet authored
llvm-svn: 166957
-
Richard Smith authored
The problem is as follows: C++11 has contexts which are not potentially-evaluated, and yet in which we are required or encouraged to perform constant evaluation. In such contexts, we are not permitted to implicitly define special member functions for literal types, therefore we cannot evalaute those constant expressions. Punt on this in one more context for now by skipping checking constexpr variable initializers if they occur in dependent contexts. llvm-svn: 166956
-
Quentin Colombet authored
llvm-svn: 166946
-
Jordan Rose authored
Previously, the warning would erroneously fire on this: for (Test *a in someArray) use(a.weakProp); ...because it looks like the same property is being accessed over and over. However, clearly this is not the case. We now ignore loops like this for local variables, but continue to warn if the base object is a parameter, global variable, or instance variable, on the assumption that these are not repeatedly usually assigned to within loops. Additionally, do-while loops where the condition is 'false' are not really loops at all; usually they're just used for semicolon-swallowing macros or using "break" like "goto". <rdar://problem/12578785&12578849> llvm-svn: 166942
-
Jordan Rose authored
Our one basic suppression heuristic is to assume that functions do not usually return NULL. However, when one of the arguments is NULL it is suddenly much more likely that NULL is a valid return value. In this case, we don't suppress the report here, but we do attach /another/ visitor to go find out if this NULL argument also comes from an inlined function's error path. This new behavior, controlled by the 'avoid-suppressing-null-argument-paths' analyzer-config option, is turned off by default. Turning it on produced two false positives and no new true positives when running over LLVM/Clang. This is one of the possible refinements to our suppression heuristics. <rdar://problem/12350829> llvm-svn: 166941
-
Jordan Rose authored
Additionally, don't collect PostStore nodes -- they are often used in path diagnostics. Previously, we tried to track null arguments in the same way as any other null values, but in many cases the necessary nodes had already been collected (a memory optimization in ExplodedGraph). Now, we fall back to using the value of the argument at the time of the call, which may not always match the actual contents of the region, but often will. This is a precursor to improving our suppression heuristic. <rdar://problem/12350829> llvm-svn: 166940
-
Bill Schmidt authored
ELF subtarget. The existing description string is moved from PPC64TargetInfo to its DarwinTargetInfo subclass, to avoid any changes to the Darwin ABI. PPC64TargetInfo now has two possible description strings: one for FreeBSD, which requires 8-byte alignment, and a default string that requires 16-byte alignment. I've added a test for PPC64 Linux to verify the 16-byte alignment. If somebody wants to add a separate test for FreeBSD, that would be great. Note that there is a companion patch to update the alignment information in LLVM, which I am committing now as well. llvm-svn: 166927
-
Ulrich Weigand authored
llvm-svn: 166924
-
Daniel Jasper authored
llvm-svn: 166921
-
Daniel Jasper authored
Types, QualTypes and TypeLocs. Review: http://llvm-reviews.chandlerc.com/D83 llvm-svn: 166917
-
Nick Lewycky authored
llvm-svn: 166915
-
Nick Lewycky authored
llvm-svn: 166914
-
Nick Lewycky authored
llvm-svn: 166913
-
Nick Lewycky authored
llvm-svn: 166912
-
- Oct 28, 2012
-
-
Seth Cantrell authored
limit highlight to exactly the bad encoding, and highlight every bad encoding in a string. llvm-svn: 166900
-
Richard Smith authored
Revert functional part of r166896 and just suppress -Wunneeded-internal-declaration for reference types for now. This needs more work; the cases we currently miss are a bit random. llvm-svn: 166899
-
Richard Smith authored
whether the initializer is value-dependent rather than whether we are in a dependent context. This allows us to detect some errors sooner, and fixes a crash-on-invalid if a dependent type leaks out to a non-dependent context in error recovery. llvm-svn: 166898
-
Richard Smith authored
might have been used in constant expressions, rather than suppressing it for variables which are const. The important thing here is that such variables can have their values used without actually being marked as 'used'. llvm-svn: 166896
-
Rafael Espindola authored
incomplete type has a destructor or not. llvm-svn: 166895
-
Rafael Espindola authored
llvm-svn: 166894
-
Nico Weber authored
Patch from Brian Brooks <brooks.brian@gmail.com>! llvm-svn: 166893
-
- Oct 27, 2012
-
-
Fariborz Jahanian authored
It is currently off (so no tests). This is wip. llvm-svn: 166892
-
Chris Lattner authored
and could cause the Parser to crash on the first ConsumeToken(). Patcy by Bas van den Berg! llvm-svn: 166891
-
Rafael Espindola authored
llvm-svn: 166878
-
Rafael Espindola authored
llvm-svn: 166876
-
Mahesha S authored
llvm-svn: 166871
-
Mahesha S authored
OpenMP support. Sub-Feature: Support for "#pragma omp ..." registration with Preprocessor. Files Changed/Added: * include/clang/Basic/DiagnosticGroups.td (C) * include/clang/Basic/DiagnosticParseKinds.td (C) * include/clang/Basic/TokenKinds.def (C) * include/clang/Parse/Parser.h (C) * lib/Parse/Parser.cpp (C) Test Cases Changed/Added: * test/Preprocessor/pragma_omp.c (A) * test/Preprocessor/pragma_omp_ignored_warning.c (A) llvm-svn: 166869
-
Mahesha S authored
Feature: OpenMP support in CLANG: Sub-Feature: Support for option -fopenmp Files Changed/Added: * include/clang/Driver/Options.td (C) * include/clang/Basic/LangOptions.def (C) * lib/Driver/Tools.cpp (C) * lib/Frontend/CompilerInvocation.cpp (C) Test Cases Changed/Added: * test/Driver/clang_fopenmp_opt.c (A) ------------------------------------------------- llvm-svn: 166868
-
Mahesha S authored
llvm-svn: 166867
-
Rafael Espindola authored
llvm-svn: 166866
-
Rafael Espindola authored
to reduce. llvm-svn: 166863
-
-
Rafael Espindola authored
jump over destructor calls. Fixes pr13812. llvm-svn: 166855
-
Rafael Espindola authored
llvm-svn: 166853
-
Rafael Espindola authored
llvm-svn: 166849
-
Rafael Espindola authored
llvm-svn: 166848
-
Rafael Espindola authored
can be refactored and used in Sema. llvm-svn: 166847
-
Eli Friedman authored
llvm-svn: 166833
-
Eli Friedman authored
llvm-svn: 166832
-
Eli Friedman authored
llvm-svn: 166830
-