aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-27UBSan: Don't diagnose inf/nan conversions between floating-point types. It's ↵Richard Smith
far from clear whether these have undefined behavior, and these checks are helping no-one. Keep the double->float overflow warnings, though, since those are useful in practice, even though it's unclear whether such operations have defined behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178194 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Remove unnecessary attributes from test case.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178188 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Add a front-end test case for r178186.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178187 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Fixes a typo in my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178184 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Revert "[lib/Headers] Define NULL as __DARWIN_NULL when on __APPLE__."Argyrios Kyrtzidis
Per feedback by Doug, we should avoid platform-specific implementations in lib/Headers as much as possible. This reverts commit r178110. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178181 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Objective-C: Issue more precise warning when userFariborz Jahanian
is accessing 'isa' as an object pointer. // rdar://13503456. FixIt to follow in another patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178179 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Cleanup clang's specializations of simplify_type.Rafael Espindola
Now that the basic implementation in llvm has been fixed, simplify the specializations in clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178173 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Update the error handing static functions for r178161.Chad Rosier
Part of rdar://13296693 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178162 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[analyzer] Use evalBind for C++ new of scalar types.Jordan Rose
These types will not have a CXXConstructExpr to do the initialization for them. Previously we just used a simple call to ProgramState::bindLoc, but that doesn't trigger proper checker callbacks (like pointer escape). Found by Anton Yartsev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178160 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[analyzer] Cleanup: only get the PostStmt when we need the underlying Stmt + ↵Anna Zaks
comment git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178153 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[analyzer] Ensure that the node NilReceiverBRVisitor is looking for is not ↵Anna Zaks
reclaimed The visitor should look for the PreStmt node as the receiver is nil in the PreStmt and this is the node. Also, tag the nil receiver nodes with a special tag for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178152 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[modules] Make sure enabled diagnostic pragmas inside the module don't ↵Argyrios Kyrtzidis
affect the translation unit that imports the module. Getting diagnostic sections from modules properly working is a fixme. rdar://13516663 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178151 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Insert extra new line before access specifiers.Alexander Kornienko
Summary: Insert extra new line before access specifiers. Reviewers: djasper Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D581 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178149 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27<rdar://problem/13509689> Introduce -module-file-info option that provides ↵Douglas Gregor
information about a particular module file. This option can be useful for end users who want to know why they ended up with a ton of different variants of the "std" module in their module cache. This problem should go away over time, as we reduce the need for module variants, but it will never go away entirely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178148 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Add const in preparation for a simplify_type change in llvm.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178146 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Add another expected note. Two errors => two notes.Tim Northover
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178143 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Disable ASan/MSan symbolization of reports in tests.Evgeniy Stepanov
It was using an instrumented symbolizer binary, which is a potential fork bomb. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178140 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Mark comment-to-html-xml-conversion test as XFAIL:msan, in addition to valgrind.Evgeniy Stepanov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178138 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27<rdar://problem/13317030> Consider using directives when performing ↵Douglas Gregor
unqualified name lookup into declarations contexts represented by the qualified-id but not in the actual scope hierarchy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178136 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Split line commentsAlexander Kornienko
Summary: Split line comments that exceed column limit + fixed leading whitespace handling when splitting block comments. Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D577 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178133 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Fix testcase to add expected note.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178122 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Pass the diagnostic in for better error messages.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178120 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[lib/Headers] Break the module import cycle between _Builtin_intrinsics.sse ↵Argyrios Kyrtzidis
and _Builtin_intrinsics.sse2 Module "sse" implicitly exports module "sse2". This is bad because we also have module "sse2" export module "sse" (as intended) so we end up with a cycle in the module import graph: 1. sse2 -> (also imports) sse 2. sse -> (also imports) sse2 To eliminate the cycle remove 2.; importing module "sse2" will also import module "sse", but just importing module "sse" will not also import module "sse2". rdar://13240552 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178117 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Implement compiler intrinsics needed for compatibility with MSVC 2012 ↵Joao Matos
<type_traits>. Patch by me and Ryan Molden. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178111 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[lib/Headers] Define NULL as __DARWIN_NULL when on __APPLE__.Argyrios Kyrtzidis
This makes it identical with the system definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178110 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[modules] Before marking the module imported macros as ambiguous, check if ↵Argyrios Kyrtzidis
this is a case where the system macro uses a not identical definition compared to a macro from the clang headers. For example (these come from different modules): \#define LONG_MAX __LONG_MAX__ (clang's limits.h) \#define LONG_MAX 0x7fffffffffffffffL (system's limits.h) in which case don't mark them ambiguous to avoid the "ambiguous macro expansion" warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178109 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Remove IdentifierInfo::setHadMacroDefinition()Argyrios Kyrtzidis
It's not used anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178108 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[PCH/modules] Remove HiddenName::MacroUndefArgyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178107 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[Preprocessor] Remove PPMutationListener.Argyrios Kyrtzidis
It's not used anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178106 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27[modules] Re-enable the "ambiguous expansion of macro" warning.Argyrios Kyrtzidis
Also update "test/Modules/macros.c" to test modified semantics: -When there is an ambiguous macro, expand using the latest introduced version, not the first one. -#undefs in submodules cause the macro to not be exported by that submodule, it doesn't cause undefining of macros in the translation unit that imported that submodule. This reduces macro namespace interference across modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178105 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27PR15597: Fix a confusion between the implicit exception specification and theRichard Smith
uninstantiated exception specification when a special member within a class template is both defaulted and given an exception specification on its first declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178103 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27If we're unable to create the TargetMachine, then just quit producing theChad Rosier
backend output; there's no need to report a fatal error. This reverts r178042. Part of rdar://13295753 and rdar://13401547 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178102 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Update debug info test for schema change made to LLVM.David Blaikie
This accounts for the addition of another field to DIScopes that will be used to store a list of DIImportedModules in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178100 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Make the -Wreinterpret-base-class logic safe against invalidJohn McCall
declarations at any point. Patch by Alexander Zinenko, and report by Richard Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178098 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Split "incomplete implementation" warnings for ObjC into separate warnings.Ted Kremenek
Previously all unimplemented methods for a class were grouped under a single warning, with all the unimplemented methods mentioned as notes. Based on feedback from users, most users would like a separate warning for each method, with a note pointing back to the original method declaration. Implements <rdar://problem/13350414> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178097 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13278115> Improve diagnostic when failing to bind an rvalue ↵Douglas Gregor
reference to an lvalue of compatible type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178095 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[analyzer] Better test for r178063.Anna Zaks
Jordan pointed out that my previously committed test was bogus. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178094 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[analyzer] Make sure IDC works for ‘NSContainer value/key is nil’ checks.Anna Zaks
Register the nil tracking visitors with the region and refactor trackNullOrUndefValue a bit. Also adds the cast and paren stripping before checking if the value is an OpaqueValueExpr or ExprWithCleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178093 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Remove magic number usage from CGDebugInfo with new ↵David Blaikie
DICompositeType::setContainingType git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178092 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[driver] Do not generate crash diagnostics if the compilation command failedChad Rosier
to execute as the crash will surely reoccur while generating the diagnostics. rdar://13362359 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178089 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13267210> Ensure that Sema::CompareReferenceRelationship ↵Douglas Gregor
returns consistent results with invalid types. When Sema::RequireCompleteType() is given a class template specialization type that then fails to instantiate, it returns 'true'. On subsequent invocations, it can return false. Make sure that this difference doesn't change the result of Sema::CompareReferenceRelationship, which is expected to remain stable while we're checking an initialization sequence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178088 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Remove a FIXME that's not planned to be fixed. We only generated crashChad Rosier
diagnostics for the first failing command. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178086 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13473493> Handle 'this->' insertion recovery within trailing ↵Douglas Gregor
return types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178081 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Debug Info: remove use of magic numbers to tweak specific debug info ↵David Blaikie
metadata fields git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178079 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[analyzer] Change inlining policy to inline small functions when reanalyzing ↵Anna Zaks
ObjC methods as top level. This allows us to better reason about(inline) small wrapper functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178063 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[analyzer] micro optimization as per Jordan’s feedback on r177905.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178062 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26clang/test/CodeGenCXX/debug-info-namespace.cpp: Disable it on non-bash lit ↵NAKAMURA Takumi
for now. With dosish filename, it misgenerates an improper extra entry. !1 = metadata !{metadata !"E:\5Cllvm\5Cllvm-project\5Cclang\5Ctest\5CCodeGenCXX/debug-info-namespace.cpp", metadata !"E:\5Cllvm\5Cbuild\5Cninja-win32-vs11\5Ctools\5Cclang\5Ctest\5CCodeGenCXX"} !8 = metadata !{metadata !"E:\5Cllvm\5Cllvm-project\5Cclang\5Ctest\5CCodeGenCXX\5Cdebug-info-namespace.cpp", metadata !"E:\5Cllvm\5Cbuild\5Cninja-win32-vs11\5Ctools\5Cclang\5Ctest\5CCodeGenCXX"} !8 is unexpected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178061 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Remove useGlobalsForAutomaticVariables.Rafael Espindola
It is unused since pic support went away. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178055 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[ms-cxxabi] Give the MS inheritance attributes a base classReid Kleckner
Required making a handful of changes to the table generator. Also adds an unspecified inheritance attribute. This opens the path for us to apply these attributes to C++ records implicitly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178054 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Fix uninitialized read of CalleeWithThisReturn.Manman Ren
Initialize CalleeWithThisReturn to 0 in the constructor. Also revert r170815 since checking CalleeWithThisReturn is faster. PR15598 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178053 91177308-0d34-0410-b5e6-96231b3b80d8