aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-06-13Rename a loop variable to silence a gcc warning.Richard Trieu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158420 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Add -isystem-prefix and -ino-system-prefix arguments, which can be used toRichard Smith
override whether headers are system headers by checking for prefixes of the header name specified in the #include directive. This allows warnings to be disabled for third-party code which is found in specific subdirectories of include paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158418 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Moved the StringLiteral printing code from StmtPrinter into the StringLiteralRichard Trieu
class and have StmtPrinter and StmtDumper refer to it. This fixes an assertion failure when dumping wchar string literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158417 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Provide a -no-pedantic to cancel out -pedantic.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158416 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Doc fixed as proposed (and mostly contributed) by David Roethlisberger.Manuel Klimek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158415 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Fix issue where a token paste which forms a /* or // would discard the rest ofRichard Smith
the input: token-pasting was producing a tok::eof. Patch by Andy Gibbs! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158412 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Allow __attribute__((unused)) for fields and make it silenceDaniel Jasper
-Wunused-private-field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158411 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Remove the trailing backslash from the comment to remove the warning aboutKaelyn Uhrain
a multi-line comment, fixing builds with e.g. -Werror=comment enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158406 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Rename shouldVisitImplicitDeclarations to shouldVisitImplicitCode.Daniel Jasper
Fix RecursiveASTVisitor to visit CXXForRangeStmts accordingly to visit implicit or explicit code. The key bug that inspired this was the Visitor not visiting the range initializer of such a loop, which is explicit code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158395 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Fix off-by-one error in UTF-16 encoding: don't try to use a surrogate pair ↵Richard Smith
for U+FFFF. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158391 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13PR13099: Teach -Wformat about raw string literals, UTF-8 strings and Unicode ↵Richard Smith
escape sequences. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158390 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Make clang-tblgen backends functions instead of TableGenBackends.Jakob Stoklund Olesen
Get rid of a bunch of header files. TableGen output should be unaffected. Patch by Sean Silva! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158388 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Update clang attribute document.Michael Han
Remove the instructions on manually adding boilerplate code of AttributeList::Kind and AttributeList::getKind(). Both are now generated by tblgen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158386 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Add missing narrowing check: converting from a signed integral type to a widerRichard Smith
unsigned type is narrowing if the source is non-constant or negative. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158377 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13Grab bag of Microsoft Mangler fixes:Charles Davis
- Support mangling virtual function tables (base tables need work on the ManglerContext interface). - Correct mangling of local scopes (i.e. functions and C++ methods). - Replace every llvm_unreachable() for actually-reachable code with a diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158376 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12[ms-inline-asm] The __asm keyword is a statement separator, so multiple asmChad Rosier
statements are allowed on the same line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158372 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Fix test to work when clang is built without powerpc64 support.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158370 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12[ms-inline-asm] Cleanup MS style inline assembly parsing.Chad Rosier
Specifically, improve the handling of whitespace, stop saving tokens that are in comments and fix the case where we have a comment followed by a closing brace on the next line. Unfortunately, there's no easy way of testing this code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158367 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Add documentation for the JSON compilation database format.Manuel Klimek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158365 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12When code completion walks the members of a protocol or interface,Douglas Gregor
make sure that we walk the definition. Fixes <rdar://problem/11427742>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158357 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12[analyzer] WWW: Shorten the menu title.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158356 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Remove unused variable.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158353 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Add XOP permute intrinsics.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158351 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12If parsing a trailing-return-type fails, don't pretend we didn't have one atRichard Smith
all. Suppresses follow-on errors mentioned in PR13074. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158348 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Correct comment. The return type was changed to const Type* in r123814. ↵Dmitri Gribenko
Patch by David Röthlisberger. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158347 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Remove unused variable.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158343 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Revert "[analyzer] Treat LValueBitCasts like regular pointer bit casts."Jordan Rose
This does not actually give us the right behavior for reinterpret_cast of references. Reverting so I can think about it some more. This reverts commit 50a75a6e26a49011150067adac556ef978639fe6. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158341 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] Treat LValueBitCasts like regular pointer bit casts.Jordan Rose
These casts only appear in very well-defined circumstances, in which the target of a reinterpret_cast or a function formal parameter is an lvalue reference. According to the C++ standard, the following are equivalent: reinterpret_cast<T&>( x) *reinterpret_cast<T*>(&x) [expr.reinterpret.cast]p11 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158338 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] WWW: Add FAQ to the menu.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158335 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Add PPC support for translating gcc-style -mcpu options into LLVM ↵Hal Finkel
-target-cpu options. This functionality is based on what is done on ARM, and enables selecting PPC CPUs in a way compatible with gcc's driver. Also, mirroring gcc (and what is done on x86), -mcpu=native support was added. This uses the host cpu detection from LLVM (which will also soon be updated by refactoring code currently in backend). In order for this to work, the target needs a list of valid CPUs -- we now accept all CPUs accepted by LLVM. A few preprocessor defines for common CPU types have been added. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158334 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] WWW: FAQ - fix the assertion use example.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158333 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] The FAQ question style shouldn't be the same as code_example.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158332 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] WWW: Add table of contents, fixed code examples.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158331 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] WWW: Mention that we do not support "noreturn" for methods.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158330 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Make CodeGenFunction::EmitMSAsmStmt throw a fatal error as MS-style inlineChad Rosier
assembly is completely untested and unsupported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158329 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Etch out the code path for MS-style inline assembly.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158325 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] Add ObjCLoopChecker: objects from NSArray et al are non-nil.Jordan Rose
While collections containing nil elements can still be iterated over in an Objective-C for-in loop, the most common Cocoa collections -- NSArray, NSDictionary, and NSSet -- cannot contain nil elements. This checker adds that assumption to the analyzer state. This was the cause of some minor false positives concerning CFRelease calls on objects in an NSArray. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158319 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[analyzer] When looking for a known class, only traverse the hierarchy once.Jordan Rose
This has a small hit in the case where only one class is interesting (NilArgChecker) but is a big improvement when looking for one of several interesting classes (VariadicMethodTypeChecker), in which the most common case is that there is no match. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158318 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Enable -Wunused-private-field with -Wunused.Benjamin Kramer
It found a lot of cruft in LLVM that I removed last week and I couldn't find any false positives. Time to give it more testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158317 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11We were computing the visibility and linkage of template parameters, butRafael Espindola
only using the linkage. Use and test both, documenting that considering the visibility and linkage of template parameters is a difference from gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158309 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11[clang.py] Implement SourceLocation.from_offsetGregory Szorc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158307 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Add XOP shift and compare intrinsics.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158300 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Documentation cleanup, fixing Doxygen markup. Mostly this avoids common termsJames Dennett
such as "protocol" and "expression" being implicitly turned into links to mistakenly-generated Doxygen pages: - Escaping @ symbols when Doxygen would otherwise incorrectly interpret them; - Escaping # symbols when they're not intended as explicit Doxygen link requests, such as when discussing preprocessor directives; - In one odd case, unescaping @ in @__experimental_modules_import, because Doxygen wrote '\@' to the output in that case, causing the example in the description of ImportDecl to be wrong; and - Fixing a typo: @breif -> @brief. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158299 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Const'ify CompilerInvocation::toArgs().Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158298 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10PR12964: __int128 and unsigned __int128 are promoted integral types, be sure toRichard Smith
consider them when enumerating builtin operator candidates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158293 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10Add XOP vprot* instruction intrinsicsCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158292 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10Remove CXXRecordDecl flags which are unused after r158289.Richard Smith
We need an efficient mechanism to determine whether a defaulted default constructor is constexpr, in order to determine whether a class is a literal type, so keep the incrementally-built form on CXXRecordDecl. Remove the on-demand computation of same, so that we only have one method for determining whether a default constructor is constexpr. This doesn't affect correctness, since default constructor lookup is much simpler than selecting a constructor for copying or moving. We don't need a corresponding mechanism for defaulted copy or move constructors, since they can't affect whether a type is a literal type. Conversely, checking whether such functions are constexpr can require non-trivial effort, so we defer such checks until the copy or move constructor is required. Thus we now only compute whether a copy or move constructor is constexpr on demand, and only compute whether a default constructor is constexpr in advance. This is unfortunate, but seems like the best solution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158290 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10Fix PR13052 properly, by performing special member lookup to determine whetherRichard Smith
an explicitly-defaulted default constructor would be constexpr. This is necessary in weird (but well-formed) cases where a class has more than one copy or move constructor. Cleanup of now-unused parts of CXXRecordDecl to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158289 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10PR13064: Store whether an in-class initializer uses direct or copyRichard Smith
initialization, and use that information to produce the right kind of initialization during template instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158288 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10More XOP intrinsicsCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158287 91177308-0d34-0410-b5e6-96231b3b80d8