summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* [-Wunreachable-code] Look through member accesses for 'static const bool' ↵Ted Kremenek2014-03-202-39/+62
| | | | | | configuration values. llvm-svn: 204315
* [-Wunreachable-code] constexpr functions can be used as configuration values.Ted Kremenek2014-03-202-1/+27
| | | | llvm-svn: 204308
* [-Wunreachable-code] Simplify and broad -Wunreachable-code-return, including ↵Ted Kremenek2014-03-205-75/+41
| | | | | | | | | | | | | | | | | nontrivial returns. The exception is return statements that include control-flow, which are clearly doing something "interesting". 99% of the cases I examined for -Wunreachable-code that fired on return statements were not interesting enough to warrant being in -Wunreachable-code by default. Thus the move to include them in -Wunreachable-code-return. This simplifies a bunch of logic, including removing the ad hoc logic to look for std::string literals. llvm-svn: 204307
* [libclang] Introduce clang_VirtualFileOverlay_setCaseSensitivity that ↵Argyrios Kyrtzidis2014-03-204-4/+60
| | | | | | | | | | exposes the VFS option to set the case-sensitivity for lookups. rdar://16374696 llvm-svn: 204303
* PGO: use linker magic to find instrumentation data on DarwinDuncan P. N. Exon Smith2014-03-201-3/+8
| | | | | | <rdar://problem/15943240> llvm-svn: 204301
* scanf format checking: include the buffer length in the fix-it for %s.Jordan Rose2014-03-204-11/+48
| | | | | | Patch by Zach Davis! llvm-svn: 204300
* PGO: Separate out common isMachO logic; no functionality changeDuncan P. N. Exon Smith2014-03-201-12/+7
| | | | | | <rdar://problem/15943240> llvm-svn: 204297
* Objective-C. Make getObjCEncodingForMethodParameter public.Fariborz Jahanian2014-03-191-3/+3
| | | | llvm-svn: 204264
* Add a new spelling for module map files 'module.modulemap'Ben Langmuir2014-03-1921-74/+173
| | | | | | | | | | | | | | | This name, while more verbose, plays more nicely with tools that use file extensions to determine file types. The existing spelling 'module.map' will continue to work, but the new spelling will take precedence. In frameworks, this new filename will only go in a new 'Modules' sub-directory. Similarly, add a module.private.modulemap corresponding to module_private.map. llvm-svn: 204261
* [analyzer] scan-build: when matching flags, make sure the - is the first letter.Jordan Rose2014-03-191-3/+3
| | | | | | PR19191 llvm-svn: 204253
* Comment parsing: fix a crash when dumping comment ast for a function templateDmitri Gribenko2014-03-192-1/+9
| | | | | | | | with variadic parameters Patch by Joe Ranieri. llvm-svn: 204236
* Comment parsing: recognize \param ... on function templates with variadicDmitri Gribenko2014-03-192-1/+24
| | | | | | | | parameters Patch by Joe Ranieri. llvm-svn: 204235
* Use the expansion location of the file name when finding the module.Manuel Klimek2014-03-195-1/+34
| | | | | | | | The spelling location of stringified strings is not a file location. Optimally, we'll want to solve the problem (as the FIXME states) by handing in the right FileEntry of the #include location. llvm-svn: 204220
* Tests for DR450-475.Richard Smith2014-03-192-19/+249
| | | | llvm-svn: 204217
* Fix a typo in r204164 that made *all* keywords available in OpenCL mode.Richard Smith2014-03-182-1/+9
| | | | llvm-svn: 204196
* CodeGen: Include a function hash in instrumentation based profilingJustin Bogner2014-03-1811-54/+132
| | | | | | | | | The hash itself is still the number of counters, which isn't all that useful, but this separates the API changes from the actual implementation of the hash and will make it easier to transition to the ProfileData library once it's implemented. llvm-svn: 204186
* Simplify and add FIXME. No functionality change.Richard Smith2014-03-181-8/+7
| | | | llvm-svn: 204181
* In the presence of modules, we can have multiple implicit instantiations of ↵Richard Smith2014-03-182-87/+127
| | | | | | the same template. Teach RecursiveASTVisitor to visit all of those, not just one of them. This is difficult to test by itself, but will be covered by an upcoming change. llvm-svn: 204175
* Creating a printing policy for "half":Yunzhong Gao2014-03-188-5/+16
| | | | | | | | | | | | Since "half" is an OpenCL keyword and clang accepts __fp16 as an extension for other languages, error messages and metadata (and hence debug info) should refer to the half-precision floating point as "__fp16" instead of "half" when compiling for non-OpenCL languages. This patch creates a new printing policy for half in a similar manner to what is done for bool and wchar_t. Differential Revision: http://llvm-reviews.chandlerc.com/D2952 llvm-svn: 204164
* Objective-C. Better fix for my previous patch Fariborz Jahanian2014-03-181-12/+7
| | | | | | | | | "No need to issue deprecated warning if deprecated method in class extension is being implemented in primary class implementation (no overriding is involved). // rdar://16249335". No functionality change. llvm-svn: 204159
* clang-format: Detect function-like macros only when upper case is used.Alexander Kornienko2014-03-182-13/+34
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D3110 llvm-svn: 204156
* Added a __has_feature() for 'is_constructible'Marshall Clow2014-03-182-0/+6
| | | | llvm-svn: 204153
* modify declare-use.S to work when full toolchain not presentMatthew Curtis2014-03-181-1/+1
| | | | | | | | Test doesn't actually require production of an object file and for some targets (e.g. hexagon) an assembler is not always available when lit tests are run. llvm-svn: 204144
* [OPENMP] DSA fixAlexey Bataev2014-03-181-1/+16
| | | | llvm-svn: 204143
* Fix crasher bug.Manuel Klimek2014-03-183-16/+46
| | | | | | | | | | | | | | | Due to not resetting the fake rparen data on the token when iterating over annotated lines, we would pop the last element of the paren stack. This patch fixes the underlying root cause, and makes the code more robust against similar problems in the future: - reset the first token when iterating on the same annotated lines due to preprocessor branches - never pop the last element from the paren stack, so we do not crash, but rather incorrectly format - add assert()s so we can figure out if our assumptions are violated llvm-svn: 204140
* clang/test/Driver/sanitizer-ld.c: Tweak to accept dos path.NAKAMURA Takumi2014-03-181-1/+1
| | | | llvm-svn: 204138
* [OPENMP] Simplified data-sharing attributes analysis.Alexey Bataev2014-03-181-16/+1
| | | | llvm-svn: 204135
* Add support for sanitizers arguments on FreeBSDViktor Kutuzov2014-03-182-2/+33
| | | | llvm-svn: 204129
* clang/test/Modules/cxx-templates.cpp: Tweak for dos path.NAKAMURA Takumi2014-03-181-1/+1
| | | | llvm-svn: 204116
* Fix const correctness issue in CXXConstructExpr::getArgs().Peter Collingbourne2014-03-181-1/+4
| | | | llvm-svn: 204109
* More working around a GCC range-based for scope bug.Richard Smith2014-03-181-4/+4
| | | | llvm-svn: 204108
* Debug info: Update testcases to new DIBuilder behaviour. Variables nowAdrian Prantl2014-03-183-8/+8
| | | | | | store DIRefs to their types for improved type uniquing. llvm-svn: 204105
* AST dumper: if we have multiple implicit instantiations of the same classRichard Smith2014-03-182-16/+59
| | | | | | | template specialization (from different modules), dump them all, so that every declaration is dumped somewhere. llvm-svn: 204100
* PGO: Switch to isOSBinFormatMachO()Duncan P. N. Exon Smith2014-03-181-3/+3
| | | | llvm-svn: 204098
* Fix variable shadowing. Due to a bug in GCC's implementation of range-based forRichard Smith2014-03-181-2/+2
| | | | | | loops, it was making this an error, resulting in buildbot failures. llvm-svn: 204097
* Remove 'REQUIRES: LP64' from these tests and use a more targeted fix.Richard Smith2014-03-182-4/+5
| | | | llvm-svn: 204096
* Objective-C. No need to issue deprecated warning if deprecated method Fariborz Jahanian2014-03-182-4/+26
| | | | | | | | in class extension is being implemented in primary class implementation (no overriding is involved). // rdar://16249335 llvm-svn: 204093
* Factor out repeated code in dumping template declarations.Richard Smith2014-03-171-40/+18
| | | | llvm-svn: 204090
* Range-ify and simplify some of the AST dumping code by factoring out the ↵Richard Smith2014-03-171-81/+75
| | | | | | lastChild check. llvm-svn: 204086
* Don't fold together the name lookup entries for two declarations if they areRichard Smith2014-03-173-15/+33
| | | | | | declared in different namespaces in the same inline namespace set. llvm-svn: 204082
* Objective-C. Consider blocks for designated initializerFariborz Jahanian2014-03-173-9/+48
| | | | | | | | warnings (warning or lack there of) as well since blocks are another pattern for envoking other designated initializers. // rdar://16323233 llvm-svn: 204081
* PGO: Statically generate data structuresDuncan P. N. Exon Smith2014-03-1712-115/+244
| | | | | | | | | | | | | | | | | | | In instrumentation-based profiling, we need a set of data structures to represent the counters. Previously, these were built up during static initialization. Now, they're shoved into a specially-named section so that they show up as an array. As a consequence of the reorganizing symbols, instrumentation data structures for linkonce functions are now correctly coalesced. This is the first step in a larger project to minimize runtime overhead and dependencies in instrumentation-based profilng. The larger picture includes removing all initialization overhead and making the dependency on libc optional. <rdar://problem/15943240> llvm-svn: 204080
* [C++11] Replacing CGFunctionInfo arg iterators with iterator_range ↵Aaron Ballman2014-03-173-51/+45
| | | | | | arguments(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 204068
* Objective-C. Do not warn when an instance method andFariborz Jahanian2014-03-172-1/+16
| | | | | | | | class method with the same selctor but different argument types having one of them in class extension. // rdar://16312105 llvm-svn: 204065
* [C++11] Replacing CallArgList writeback iterators with iterator_range ↵Aaron Ballman2014-03-172-6/+8
| | | | | | writebacks(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. llvm-svn: 204062
* [C++11] Replacing DeclContext iterators using_directives_begin() and ↵Aaron Ballman2014-03-173-27/+13
| | | | | | using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. Also used as an opportunity to normalize the name from getUsingDirectives() to using_directives(). llvm-svn: 204061
* [C++11] Replacing Scope iterators using_directives_begin() and ↵Aaron Ballman2014-03-172-20/+7
| | | | | | using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. llvm-svn: 204053
* [C++11] Replacing Scope iterators decl_begin() and decl_end() with ↵Aaron Ballman2014-03-174-13/+10
| | | | | | iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. llvm-svn: 204052
* Remove unused variable from test.Richard Smith2014-03-171-1/+1
| | | | llvm-svn: 204051
* [C++11] Replacing ObjCObjectPointerType iterators qual_begin() and ↵Aaron Ballman2014-03-176-77/+38
| | | | | | qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 204048
OpenPOWER on IntegriCloud