summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR14474: don't emit debug info for interface types in -gline-tables-only ↵Alexey Samsonov2012-12-031-3/+3
| | | | | | mode. llvm-svn: 169138
* Initial version of formatting library.Daniel Jasper2012-12-037-1/+1203
| | | | | | | | | | | | | This formatting library will be used by a stand-alone clang-format tool and can also be used when writing other refactorings. Manuel's original design document: https://docs.google.com/a/google.com/document/d/1gpckL2U_6QuU9YW2L1ABsc4Fcogn5UngKk7fE5dDOoA/edit The library can already successfully format itself. Review: http://llvm-reviews.chandlerc.com/D80 llvm-svn: 169137
* Add -fsanitize=memory.Evgeniy Stepanov2012-12-033-0/+40
| | | | llvm-svn: 169124
* [ubsan] Add flag to enable recovery from checks when possible.Will Dietz2012-12-026-13/+37
| | | | llvm-svn: 169114
* Make helper classes anonymous. Make helper functions static instead of ↵Benjamin Kramer2012-12-012-155/+158
| | | | | | | | private members so the anonymous class doesn't leak out. No functionality change. llvm-svn: 169099
* [MIPS] Add -mxgot/-mno-xgot command line optionsSimon Atanasyan2012-12-011-0/+7
| | | | | | to enable/disable support of GOT larger than 64k. llvm-svn: 169098
* Add raw_ostream include to pacify MSVC.Benjamin Kramer2012-12-011-0/+1
| | | | llvm-svn: 169097
* Include pruning and general cleanup.Benjamin Kramer2012-12-0129-13/+51
| | | | llvm-svn: 169095
* Don't include Type.h in DeclarationName.h.Benjamin Kramer2012-12-018-1/+23
| | | | | | Recursively prune some includes. llvm-svn: 169094
* Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't ↵Benjamin Kramer2012-12-0134-73/+153
| | | | | | | | | pull in all the generated Attr code. Required to pull some functions out of line, but this shouldn't have a perf impact. No functionality change. llvm-svn: 169092
* Consistently use 'needsImplicit<special member>' to determine whether we needRichard Smith2012-12-013-20/+21
| | | | | | | an implicit special member, rather than sometimes using '!hasDeclared<special member>'. No functionality change. llvm-svn: 169075
* Try to make the source location information for token pastes a bit more ↵Eli Friedman2012-12-011-0/+6
| | | | | | | | | consistent. Fixes a crash printing diagnostics on the gcc testsuite, and also makes diagnostic range printing print nicer results for token pastes. llvm-svn: 169068
* Remove restriction on combining ubsan with asan or tsan. This has worked for ↵Richard Smith2012-12-011-5/+4
| | | | | | a while. llvm-svn: 169066
* Fix the determination of whether a capture refers to an enclosingDouglas Gregor2012-12-011-3/+4
| | | | | | scope when dealing with nested blocks. Fixes <rdar://problem/12778708>. llvm-svn: 169065
* Don't emit a warning with an input/output parameter. We assume the user ↵Bill Wendling2012-11-301-1/+3
| | | | | | knows what they're doing here. llvm-svn: 169059
* Teach the serialized diagnostic writer to clone() itself, sharingDouglas Gregor2012-11-301-67/+112
| | | | | | | | | | state so that all of the various clones end up rendering their diagnostics into the same serialized-diagnostics file. This is important when we actually want failures during module build to be reported back to the translation unit that tried to import the not-yet-built or out-of-date module. <rdar://problem/12565727> llvm-svn: 169057
* Don't warn if the input size is less than the register size. Also don't warn ifBill Wendling2012-11-301-1/+3
| | | | | | | the output size is greater than the register size. No truncation occurs with those. Reword warning to make it clearer what's the problem is. llvm-svn: 169054
* Make -Wtautological-constant-out-of-range-compare behave sanely for enums ↵Eli Friedman2012-11-301-4/+3
| | | | | | | | with a signed fixed type. <rdar://problem/12780159>. llvm-svn: 169051
* Rename ModuleBuildPath -> ModuleBuildStack. Thanks, Dmitri!Douglas Gregor2012-11-302-16/+16
| | | | llvm-svn: 169045
* When we're emitting a diagnostic with a source location in an importedDouglas Gregor2012-11-303-8/+103
| | | | | | | | | | | | | | module, provide a module import stack similar to what we would get for an include stack, e.g., In module 'DependsOnModule' imported from build-fail-notes.m:4: In module 'Module' imported from DependsOnModule.framework/Headers/DependsOnModule.h:1: Inputs/Module.framework/Headers/Module.h:15:12: note: previous definition is here @interface Module <rdar://problem/12696425> llvm-svn: 169042
* Fixing a precedence issue with my previous commit.Aaron Ballman2012-11-301-1/+1
| | | | llvm-svn: 169041
* Fixing an MSVC warning about an unsafe mixture of Boolean and unsigned types ↵Aaron Ballman2012-11-301-1/+1
| | | | | | in a logical operator. llvm-svn: 169037
* Comments: no need to escape any characters in \code ... \endcode.Dmitri Gribenko2012-11-301-6/+6
| | | | llvm-svn: 169030
* Support for #pragma region/endregion for MSVC compatibility. Patch thanks ↵Aaron Ballman2012-11-301-0/+25
| | | | | | to pravic! llvm-svn: 169028
* Actually keep track of the source locations at which particular moduleDouglas Gregor2012-11-302-6/+11
| | | | | | files are loaded. llvm-svn: 169027
* When an error occurs while building a module on demand, provide "WhileDouglas Gregor2012-11-303-15/+68
| | | | | | | | | building module 'Foo' imported from..." notes (the same we we provide "In file included from..." notes) in the diagnostic, so that we know how this module got included in the first place. This is part of <rdar://problem/12696425>. llvm-svn: 169021
* Allow matchers to access the ASTContext.Manuel Klimek2012-11-301-0/+3
| | | | | | Patch by Edwin Vane. llvm-svn: 169000
* Fix the computation of highlight ranges so we produce something sane whenEli Friedman2012-11-301-10/+30
| | | | | | | the beginning and end of the range are in different macro arguments. PR14399. llvm-svn: 168984
* Refactor to reduce duplication in handling of special member functions. No ↵Richard Smith2012-11-304-210/+94
| | | | | | functionality change. llvm-svn: 168977
* Keep track of modules that have failed to build. If we encounter anDouglas Gregor2012-11-292-19/+63
| | | | | | | | | | | | import of that module elsewhere, don't try to build the module again: it won't work, and the experience is quite dreadful. We track this information somewhat globally, shared among all of the related CompilerInvocations used to build modules on-the-fly, so that a particular Clang instance will only try to build a given module once. Fixes <rdar://problem/12552849>. llvm-svn: 168961
* Fix a small calling-convention bug for x86-32. PR14453.Eli Friedman2012-11-291-2/+8
| | | | llvm-svn: 168959
* Add ARM cortex-a5 subtargetQuentin Colombet2012-11-292-3/+3
| | | | llvm-svn: 168958
* Revert commit revision r168953, to change the commit message, which was emptyQuentin Colombet2012-11-292-3/+3
| | | | llvm-svn: 168956
* (no commit message)Quentin Colombet2012-11-292-3/+3
| | | | llvm-svn: 168953
* This patch exposes to Clang users three more sanitizers are experimental ↵Alexey Samsonov2012-11-293-10/+33
| | | | | | | | | | | | | | features of ASan: 1) init-order sanitizer: initialization-order checker. Status: usable, but may produce false positives w/o proper blacklisting. 2) use-after-return sanitizer Status: implemented, but heavily understed. Should be optional, as it significanlty slows program down. 3) use-after-scope sanitizer Status: in progress. llvm-svn: 168950
* Make sure that we put the rest of the sanitizer libraries on the link lineEric Christopher2012-11-291-7/+5
| | | | | | before libstdc++ like we do with ubsan. llvm-svn: 168918
* Now that the underlying problem has been fixed, add r168411 back.Rafael Espindola2012-11-291-6/+4
| | | | | | | | Original commit message: Remove redundant code. llvm-svn: 168900
* Merge function types in C.Rafael Espindola2012-11-294-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Among other differences, GCC accepts typedef int IA[]; typedef int A10[10]; static A10 *f(void); static IA *f(void); void g(void) { (void)sizeof(*f()); } but clang used to reject it with: invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []') The intention of c99's 6.2.7 seems to be that we should use the composite type and accept as gcc does. Doing the type merging required some extra fixes: * Use the type from the function type in initializations, even if an parameter is available. * Fix the merging of the noreturn attribute in function types. * Make CodeGen handle the fact that an parameter type can be different from the corresponding type in the function type. llvm-svn: 168895
* [-cxx-abi microsoft] Also spill the argument-back-references context when ↵Timur Iskhodzhanov2012-11-291-3/+7
| | | | | | mangling templates llvm-svn: 168862
* Reject uses of __int128 on platforms that don't support it. Also move the uglyRichard Smith2012-11-294-3/+11
| | | | | | | 'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be properly cleaned up. llvm-svn: 168856
* Fix sentence construction-o.Nico Weber2012-11-291-1/+1
| | | | llvm-svn: 168855
* Fix crash-on-invalid. <rdar://problem/12765391>.Eli Friedman2012-11-291-4/+3
| | | | llvm-svn: 168851
* The declaration of a special member can require overload resolution to beRichard Smith2012-11-291-0/+54
| | | | | | | | | | | performed, to determine whether that special member is deleted or constexpr. That overload resolution process can in turn trigger the instantiation of a template, which can do anything, including triggering the declaration of that very same special member function. When this happens, do not try to recursively declare the special member -- that's impossible. Instead, only try to realise the truth. There is no special member. llvm-svn: 168847
* Correctly handle IntegralToBool casts in C++ in the static analyzer. Fixes ↵Ted Kremenek2012-11-291-2/+8
| | | | | | <rdar://problem/12759044>. llvm-svn: 168843
* [driver] -mkernel implies -mstrict-align; don't add the redundant option.Chad Rosier2012-11-291-1/+2
| | | | | | rdar://12771737 llvm-svn: 168841
* Implement C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq ↵Michael Han2012-11-281-1/+35
| | | | | | appertains to a friend declaration, that declaration shall be a definition. llvm-svn: 168826
* objective-C blocks: Make sure that identical logic is usedFariborz Jahanian2012-11-286-84/+43
| | | | | | | | | | in deciding a copy/dispose field is needed in a byref structure and when generating the copy/dispose helpers. In certain cases, these fields were being added but no copy/dispose was being generated. This was uncovered in ARC, but not in MRR. // rdar://12759433 llvm-svn: 168825
* Per C++11 [except.spec]p2, rvalue references are not permitted in exception ↵Richard Smith2012-11-281-33/+34
| | | | | | specifications. llvm-svn: 168824
* PR14388: An array or function type in an exception specification should beRichard Smith2012-11-281-12/+23
| | | | | | | decayed to a pointer type. Patch by WenHan Gu, with a little tweaking and additional testcases by me. llvm-svn: 168822
* ABI: comments from Eli on r168820.Manman Ren2012-11-281-0/+2
| | | | | | rdar://12723368 llvm-svn: 168821
OpenPOWER on IntegriCloud