summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* ObjectiveC migrator. Introduce a new objcmt-atomic-property optionFariborz Jahanian2013-10-096-4/+475
| | | | | | | and use it to infer all properties as 'atomic'. // rdar://14988132 llvm-svn: 192317
* Fix warnings introduced in r192314.DeLesley Hutchins2013-10-091-2/+2
| | | | llvm-svn: 192315
* Consumed analysis: improve loop handling. The prior version of the analysisDeLesley Hutchins2013-10-095-60/+210
| | | | | | | | | | | | marked all variables as "unknown" at the start of a loop. The new version keeps the initial state of variables unchanged, but issues a warning if the state at the end of the loop is different from the state at the beginning. This patch will eventually be replaced with a more precise analysis. Initial patch by chris.wailes@gmail.com. Reviewed and edited by delesley@google.com. llvm-svn: 192314
* Revert commit r192299 until find a way to account for simlinks in OS X.Ariel J. Bernal2013-10-092-63/+4
| | | | llvm-svn: 192313
* Initialize vtorDisp in class constructors and destructorsTimur Iskhodzhanov2013-10-094-7/+160
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D1867 llvm-svn: 192312
* Tighten diagnostics for calling conventions on variadic functionsHans Wennborg2013-10-096-24/+39
| | | | | | | | | | | | Follow-up from r192240. This makes it an error to use callee-cleanup conventions on variadic functions, except for __fastcall and __stdcall, which we ignore with a warning for GCC and MSVC compatibility. Differential Revision: http://llvm-reviews.chandlerc.com/D1870 llvm-svn: 192308
* ObjectiveC migrator. Introduce a new print policy forFariborz Jahanian2013-10-094-5/+11
| | | | | | | suppression of strong lifetime qualifiers when inferring property. // rdar://15082812 llvm-svn: 192305
* Use aliases for more constructors and destructors.Rafael Espindola2013-10-092-24/+34
| | | | | | | | | | | | | | | | With this patch we produce alias for cases like template<typename T> struct foobar { foobar() { } }; template struct foobar<void>; It is safe to use aliases to weak symbols, as long and the alias itself is also weak. llvm-svn: 192300
* This patch fixes replacements that are not applied when relative paths areAriel J. Bernal2013-10-092-7/+65
| | | | | | | | | | specified. In particular it makes sure that relative paths for non-virtual files aren't made absolute. Added unittest test. llvm-svn: 192299
* clang-format: Fix template declaration line breaking with comment.Daniel Jasper2013-10-092-1/+5
| | | | | | | | | Before, clang-format would always insert a linebreak before the comment in code like: template <typename T> // T can be A, B or C. struct S {}; llvm-svn: 192297
* [Mips] Group MIPS-related options checking function in one place.Simon Atanasyan2013-10-091-8/+8
| | | | llvm-svn: 192293
* [Mips] Make the isMipsR2Arch() function simpler - remove checking forSimon Atanasyan2013-10-091-7/+2
| | | | | | MIPS-arch. llvm-svn: 192292
* [Mips] Remove unused mips_CPUs_Group options group. It's better to joinSimon Atanasyan2013-10-091-6/+4
| | | | | | all MIPS-related options to the new m_mips_Features_Group later. llvm-svn: 192291
* [Mips] Do not check for options from the OPT_mips_CPUs_Group. All theseSimon Atanasyan2013-10-092-30/+4
| | | | | | options are aliases now. llvm-svn: 192290
* [Mips] Make mips32/mips32r2/mips64/mips64r2 real aliases for appropriateSimon Atanasyan2013-10-091-0/+4
| | | | | | march options. llvm-svn: 192289
* Code cleanup: rename VTableContext to ItaniumVTableContext, VTableBuilder to ↵Timur Iskhodzhanov2013-10-096-94/+90
| | | | | | ItaniumVTableBuilder and clang-format code around llvm-svn: 192288
* clang/test/Coverage/codegen-next.m: Exclude this for targeting x86_64-win32.NAKAMURA Takumi2013-10-091-0/+8
| | | | llvm-svn: 192286
* Reland 192220 "Abstract out parts of thunk emission code, add support for ↵Timur Iskhodzhanov2013-10-0913-90/+359
| | | | | | simple thunks when using -cxx-abi microsoft" with relaxed assertions llvm-svn: 192285
* Make wording for certain invalid unary expressions more consistent.David Majnemer2013-10-095-9/+9
| | | | | | | | | | An invalid decltype expression like 'decltype int' gives: error: expected '(' after 'decltype' This makes it so 'sizeof int' gives a similar one: error: expected parentheses around type name in sizeof expression llvm-svn: 192258
* Debug Info: update testing cases when the context field ofManman Ren2013-10-091-1/+1
| | | | | | | | DICompositeType is updated to use DIScopeRef. Paired commit with r192256. llvm-svn: 192257
* Debug Info: update testing cases when the derived-from field ofManman Ren2013-10-081-1/+1
| | | | | | | | DICompositeType is updated to use DITypeRef. Paired commit with r192251. llvm-svn: 192252
* Debug Info: update testing cases when the derived-from field ofManman Ren2013-10-084-4/+4
| | | | | | | | DIDerivedType is updated to use DITypeRef. Paired commit with r192246. llvm-svn: 192247
* -Wmicrosoft: Don't warn on non-inline pure virtual method definitionsReid Kleckner2013-10-082-1/+10
| | | | | | | | | | | | | | | MSVC and clang with -fms-extensions allow pure virtual methods to be defined inline after the "= 0" tokens. Clang warns on these because it is not standard, but incorrectly warns on out-of-line definitions, which are standard. With this change, clang will only warn on inline definitions of pure virtual methods. Fixes some self-host warnings on out-of-line definitions of pure virtual destructors. llvm-svn: 192244
* [AArch64] Add support for NEON scalar floating-point reciprocal estimate,Chad Rosier2013-10-083-0/+63
| | | | | | reciprocal exponent, and reciprocal square root estimate instructions. llvm-svn: 192243
* Turn error about fastcall variadic function into warning in MS mode (PR12535)Hans Wennborg2013-10-084-1/+23
| | | | | | | | | | MSVC allows this and silently falls back to __cdecl for variadic functions. This patch turns Clang's error into a warning in MS mode and adds a test to make sure we generate correct code. Differential Revision: http://llvm-reviews.chandlerc.com/D1861 llvm-svn: 192240
* ObjectiveC migrator: Add support for inferring Fariborz Jahanian2013-10-083-2/+11
| | | | | | | properties of function pointer type. // rdar://15082812 llvm-svn: 192237
* [AArch64] Add support for NEON scalar signed/unsigned integer to floating-pointChad Rosier2013-10-084-0/+57
| | | | | | convert instructions. llvm-svn: 192232
* Explicitly request unsigned enum types when desiredReid Kleckner2013-10-083-3/+3
| | | | | | | This fixes repeated -Wmicrosoft warnings when self-hosting clang on Windows, and gets us real unsigned enum types with MSVC. llvm-svn: 192228
* ObjectiveC migration. Add support for inferringFariborz Jahanian2013-10-083-18/+74
| | | | | | | | | properties of block pointer types. Also, remove strong lifetime attribute from property type in this migration. This is wip. // rdar://15082818 llvm-svn: 192226
* Revert 192220 as it fails on an assertionTimur Iskhodzhanov2013-10-0813-357/+90
| | | | llvm-svn: 192225
* Suggest people use -Xclang not -cc1 when passing options to the frontend.Richard Smith2013-10-081-3/+3
| | | | llvm-svn: 192222
* Remove documentation of removed -ast-dump-xml flag.Richard Smith2013-10-081-35/+20
| | | | llvm-svn: 192221
* Abstract out parts of thunk emission code, add support for simple thunks ↵Timur Iskhodzhanov2013-10-0813-90/+357
| | | | | | | | when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1787 llvm-svn: 192220
* [mips] Remove XFAIL.Akira Hatanaka2013-10-081-2/+0
| | | | | | | Triple x86_64 has been added to the command line, so this test doesn't fail on mips anymore. llvm-svn: 192219
* Remove transient code I did not mean to check in.Ted Kremenek2013-10-081-12/+0
| | | | llvm-svn: 192211
* Fixed messages in tests.Serge Pavlov2013-10-083-6/+6
| | | | llvm-svn: 192208
* Fixed grammar. Thanks to Jordan Rose.Serge Pavlov2013-10-082-3/+3
| | | | llvm-svn: 192204
* Convert anachronistic use of 'void *' to 'DeclContext *' in Scope that was a ↵Ted Kremenek2013-10-0810-41/+44
| | | | | | holdover from the long-dead Action interface. llvm-svn: 192203
* Fix an edge case in the template differ with default arguments.Benjamin Kramer2013-10-082-6/+27
| | | | | | | | In the test case one type is coming from a typedef with no default arg, the other has the default arg. Taking the default arg from the typedef crashes, so always use the real template paramter declaration. PR17510. llvm-svn: 192202
* clang-cl: ignore the /sdl[-] flagHans Wennborg2013-10-082-0/+3
| | | | | | | In cl.exe, this flag turns some warnings into errors and adds some codegen security checks. I don't think we intend to support this. llvm-svn: 192201
* Add fixits suggesting parenthesis around type name in expressions like sizeof.Serge Pavlov2013-10-085-0/+58
| | | | | | This fixes PR16992 - Fixit missing when "sizeof type" found. llvm-svn: 192200
* clang-format: Improve indentation when deriving from templated classes.Daniel Jasper2013-10-083-3/+9
| | | | | | | | | | | | | | | | | Before: struct aaaaaaaaaaaaa : public aaaaaaaaaaaaaaaaaaa< // aaaaaaaaaaaaaaaa> {}; struct aaaaaaaaaaaaaaaaaaaa : public aaaaaaaaaaaaaaaaaaa< aaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaa> {}; After: struct aaaaaaaaaaaaa : public aaaaaaaaaaaaaaaaaaa< // aaaaaaaaaaaaaaaa> {}; struct aaaaaaaaaaaaaaaaaaaa : public aaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaa> {}; llvm-svn: 192187
* clang-format: Don't exit with failure on empty files.Daniel Jasper2013-10-082-2/+3
| | | | | | | | | | Also let clang-format-diff.py detect errors based on clang-format's return code. Otherwise messages like "Can't find usable .clang-format, falling back to LLVM style" can make it fail, which might be undesired. Patch by Alp Toker. Thank you! llvm-svn: 192184
* Make InstantiatingTemplate depth checks clearerAlp Toker2013-10-086-25/+24
| | | | | | | | | | The bool conversion operator on InstantiatingTemplate never added value and only served to obfuscate the template instantiation routines. This replaces the conversion and its callers with an explicit isInvalid() function to make it clear what's going on at a glance. llvm-svn: 192177
* clang-format: Improve constructor initializer linewrapping.Daniel Jasper2013-10-083-12/+35
| | | | | | | | | Specifically make ConstructorInitializerAllOnOneLineOrOnePerLine work nicely with BreakConstructorInitializersBeforeComma. This fixes llvm.org/PR17395. llvm-svn: 192168
* Fix linkage calculation of auto member functions returning lambdasFaisal Vali2013-10-082-5/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described by Richard in https://groups.google.com/a/isocpp.org/d/msg/std-discussion/S1kmj0wF5-g/fb6agEYoL2IJ we should allow: template<typename S> struct A { template<typename T> static auto default_lambda() { return [](const T&) { return 42; }; } template<class U = decltype(default_lambda<S>())> U func(U u = default_lambda<S>()) { return u; } }; int run2 = A<double>{}.func()(3.14); int run3 = A<char>{}.func()('a'); This patch allows the code using the same trickery that was used to allow the code in non-member functions at namespace scope. Please see http://llvm-reviews.chandlerc.com/D1844 for richard's approval. llvm-svn: 192166
* [ms-cxxabi] Fix the calling convention for operator new in recordsReid Kleckner2013-10-0810-32/+100
| | | | | | | | | | | | | | | | | | Summary: Operator new, new[], delete, and delete[] are all implicitly static when declared inside a record. CXXMethodDecl already knows this, but we need to account for that before we pick the calling convention for the function type. Fixes PR17371. Reviewers: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1761 llvm-svn: 192150
* Sema: Only merge typedef attributes if the previous decl is a typedefJustin Bogner2013-10-083-5/+27
| | | | | | | | | | | | In r186373, we started merging attributes on typedefs, but this causes us to try to merge attributes even if the previous declaration was not a typedef. Only merge the attributes if the previous decl was also a typedef. Fixes rdar://problem/15044218 llvm-svn: 192146
* TBAA: use the same format for scalar TBAA and struct-path aware TBAA.Manman Ren2013-10-089-32/+59
| | | | | | | | | | | | | | | | An updated version of r191586 with bug fix. Struct-path aware TBAA generates tags to specify the access path, while scalar TBAA only generates tags to scalar types. We should not generate a TBAA tag with null being the first field. When a TBAA type node is null, the tag should be null too. Make sure we don't decorate an instruction with a null TBAA tag. Added a testing case for the bug reported by Richard with -relaxed-aliasing and -fsanitizer=thread. llvm-svn: 192145
* Split test to test -Wshadow with emmintrin.h more portable.Ted Kremenek2013-10-082-10/+11
| | | | llvm-svn: 192144
OpenPOWER on IntegriCloud