summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add a driver option -ivfsoverlayBen Langmuir2014-02-253-1/+31
| | | | | | | Reads the description of a virtual filesystem from a file and overlays it over the real file system. llvm-svn: 202176
* MS ABI: Just use getTypeInfoInChars to get the field sizeReid Kleckner2014-02-251-10/+4
| | | | | | | | | | | | This was changed to use manual desugaring and multiplication in r201832 and fixed for multi-dimensional arrays in r201917. However, it breaks down in the presence of typedefs. Rather than attempting to handle all the desugaring, just go back to calling the generic type info code. This was discovered while compiling SIInstrWaits.cpp in the R600 backend. llvm-svn: 202175
* Reapply "Pretty Printer: Fix printing of conversion operator decls and calls."Benjamin Kramer2014-02-253-4/+14
| | | | | | There were many additional tests that had the bad behavior baked in. llvm-svn: 202174
* Revert "Pretty Printer: Fix printing of conversion operator decls and calls."Rafael Espindola2014-02-253-14/+4
| | | | | | | | This reverts commit r202167. It broke Analysis/auto-obj-dtors-cfg-output.cpp llvm-svn: 202173
* Update for llvm api change.Rafael Espindola2014-02-251-3/+3
| | | | llvm-svn: 202170
* Pretty Printer: Fix printing of conversion operator decls and calls.Benjamin Kramer2014-02-253-4/+14
| | | | | | | | | | | | | - Don't emit anything when we encounter a call to a conversion operator. "bar(a & b)" instead of "bar(a & b.operator int())" This preserves the semantics and is still idempotent if we print the AST multiple times. - Properly print declarations of conversion operators. "explicit operator bool();" instead of "bool operator _Bool();" PR18776. llvm-svn: 202167
* AArch64: use different type modifier in arm_neon.tdTim Northover2014-02-251-2/+2
| | | | | | | | | The 'f' modifier is designed for integer type arguments really (according to its documentation). It's better to use the "half width, same number" modifier. Should be no user-visible change. llvm-svn: 202152
* Add AArch64 big endian Target (aarch64_be)Christian Pirker2014-02-258-10/+67
| | | | llvm-svn: 202151
* Respect ToolChain::isPIEDefault() in constructing link job on Linux and FreeBSD.Alexey Samsonov2014-02-253-10/+17
| | | | | | Partially based on http://llvm-reviews.chandlerc.com/D2644 by Viktor Kutuzov. llvm-svn: 202150
* Factor adding sanitizer linker flags into a separate function and make it ↵Alexey Samsonov2014-02-251-62/+63
| | | | | | less OS-specific llvm-svn: 202148
* Sema: When merging objc string literals, give the result a constant array type.Benjamin Kramer2014-02-252-4/+11
| | | | | | | | Also assert that we never create non-array string literals again. PR18939. llvm-svn: 202147
* RewriteObjC: Factor string literal creation into a helper and make sure it ↵Benjamin Kramer2014-02-252-85/+36
| | | | | | | | gets a proper constant array type. No change in output. llvm-svn: 202146
* Fix for Bug 18536 - Bad alignment in clang/AST/StmpOpenMP.hAlexey Bataev2014-02-251-19/+25
| | | | llvm-svn: 202141
* IRGen: Remove a stale commentDavid Majnemer2014-02-251-1/+1
| | | | | | | This comment survived the transition from ForceInline to InlineAlways, fix it. llvm-svn: 202133
* Attr: Remove ForceInlineDavid Majnemer2014-02-253-8/+3
| | | | | | | | | | The __forceinline keyword's semantics are now recast as AlwaysInline and the kw___forceinline token has its language mode set for KEYMS. This preserves the semantics of the previous implementation but with less duplication of code. llvm-svn: 202131
* Remove dead assignment reported by Gautier DI FOLCO.Ted Kremenek2014-02-251-1/+0
| | | | llvm-svn: 202115
* Allow multi-component paths in VFS file nodesBen Langmuir2014-02-251-20/+31
| | | | | | | | | | | | | | | | This allows the 'name' field to contain a path, like { 'type': 'directory', 'name': '/path/to/dir', 'contents': [ ... ] } which not only simplifies reading and writing these files (for humans), but makes it possible to easily modify locations via textual replacement, which would not have worked in the old scheme. E.g. sed s:<ROOT>:<NEW ROOT> llvm-svn: 202109
* Fix typosAlp Toker2014-02-251-11/+11
| | | | llvm-svn: 202108
* IRGen: Simplify alignment calculation in setBitFieldInfoDavid Majnemer2014-02-251-4/+2
| | | | | | | | | Take advantage of CharUnits::alignmentAtOffset instead of calculating it by hand. Differential Revision: http://llvm-reviews.chandlerc.com/D2862 llvm-svn: 202098
* MS ABI: Return sret parameters when using inallocaReid Kleckner2014-02-252-2/+22
| | | | | | | | Previously the X86 backend would look for the sret attribute and handle this for us. inalloca takes that all away, so we have to do the return ourselves now. llvm-svn: 202097
* AST: Small code cleanupDavid Majnemer2014-02-241-1/+1
| | | | | | | | Move the pointer to be adjacent to the variable instead of the type. No functional change. llvm-svn: 202089
* Sema: Make getPreferredTypeAlign respect alignments specified with an ↵David Majnemer2014-02-241-1/+6
| | | | | | | | | | | | aligned attribute on a typedef When calculating the preferred alignment of a type, consider if a alignment attribute came from a typedef declaration. If one did, do not naturally align the type. Patch by Stephan Tolksdorf, with a little tweaking and an additional testcase by me. llvm-svn: 202088
* Pass through context for DiagHandler in VFSBen Langmuir2014-02-241-2/+5
| | | | | | | This allows the unit tests to not use global state when checking diagnostics. llvm-svn: 202072
* If preprocessing results in a token with leading whitespace that was expandedRichard Smith2014-02-241-0/+7
| | | | | | | from a macro in column 0, ensure that we print whitespace before it in the -E output. Patch by Harald van Dijk! llvm-svn: 202070
* Follow up to r201927: remove the Sema::InFunctionDeclarator field.Peter Collingbourne2014-02-241-1/+1
| | | | llvm-svn: 202069
* If the first token in a macro that appears at the start of a line expands toRichard Smith2014-02-241-0/+1
| | | | | | | nothing, be sure to inform the *next* token expanded from the macro that it is now at the start of a line. Patch by Harald van Dijk! llvm-svn: 202068
* Objective-C. Remove an assertion which assertsFariborz Jahanian2014-02-241-6/+0
| | | | | | | on correctly handled block layout IRGen. // rdar://16111839 llvm-svn: 202063
* Implement getDwarfEHStackPointer() and initDwarfEHRegSizeTable() for sparcv9.Roman Divacky2014-02-241-0/+41
| | | | llvm-svn: 202059
* Implement -fno-short-wcharRichard Barton2014-02-242-2/+3
| | | | llvm-svn: 202058
* Update for llvm api change.Rafael Espindola2014-02-2413-22/+21
| | | | llvm-svn: 202053
* [Win32 ABI] Defer operator delete checks until vtable is marked usedHans Wennborg2014-02-242-18/+12
| | | | | | | | | | We were previously checking at every destructor declaration, but that was a bit excessive. Since the deleting destructor is emitted with the vtable, do the check when the vtable is marked used. Differential Revision: http://llvm-reviews.chandlerc.com/D2851 llvm-svn: 202046
* Don't assume that F_None is the default. It is about to change.Rafael Espindola2014-02-246-6/+7
| | | | llvm-svn: 202040
* Use a more conventional logical op instead of bitwise andAlp Toker2014-02-241-1/+1
| | | | llvm-svn: 202006
* [AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.Kevin Qin2014-02-244-5/+25
| | | | | | | | | | Most 64-bit targets define int64_t as long int, and AArch64 should make same definition to follow LP64 model. In GNU tool chain, int64_t is defined as long int for 64-bit target. So to get consistent with GNU, it's better Changing int64_t from 'long long int' to 'long int', otherwise clang will get different name mangling suffix compared with g++. llvm-svn: 202004
* Update __cplusplus to match the value in the C++14 DIS preview (D3937).Richard Smith2014-02-241-3/+5
| | | | llvm-svn: 202003
* Do not put instrumentation counters before phis in ObjC for-in loops.Bob Wilson2014-02-241-3/+3
| | | | | | | We still don't use the PGO to set branch weights for these loops, but at least this keeps the compiler from crashing. <rdar://problem/16137778> llvm-svn: 202002
* [Index] Make the USRs more stable.Argyrios Kyrtzidis2014-02-231-17/+30
| | | | | | | | | - Only include offsets with local (in function scope) symbols, where we don't encode scoping - Only include the filename with non-system symbols. Presumably the system headers will not provide conflicting definitions. rdar://15976823 llvm-svn: 201990
* Sema: Simplify away one-iteration loops.Benjamin Kramer2014-02-231-14/+5
| | | | | | No functionality change. llvm-svn: 201981
* [CMake] Resurrect mis-dropped dependency to ClangDriverOptions since r201842.NAKAMURA Takumi2014-02-232-0/+6
| | | | llvm-svn: 201978
* Fix crash when both ExpectAndConsume and ConsumeAnyToken emit diagnosticsAlp Toker2014-02-231-10/+12
| | | | | | | | | The DiagnosticBuilder's lifetime in parser typo recovery was overlapping with the subsequent consume which can itself emit PP diagnostics. Patch by Olivier Goffart! llvm-svn: 201965
* clang: add -f{no-,}integrate-as as consistent parametersSaleem Abdulrasool2014-02-233-6/+6
| | | | | | | | The integrated assembler is a feature. This makes the new flags the default option, and the previous versions aliases. Ideally, at some point the aliases would be entirely removed. llvm-svn: 201963
* clang: forward -no-integrated-as from the driverSaleem Abdulrasool2014-02-221-2/+7
| | | | | | | | | | | | | | Forward the -no-integrated-as option to -cc1 rather than simply invoking the appropriate tool. This is useful since this option has been overloaded to permit disabling of parsing inline assembly at the MC layer. This re-applies the previous version of the patch with a renaming of the driver option to the public name rather than the internal name (-target vs -triple). The actual failure is fixed separately of an overly aggressive negative pattern match in the MIPS driver tests. It also fixes the incorrect test for targets that have the integrated assembler disabled by default. llvm-svn: 201960
* Revert "clang: forward -no-integrated-as from the driver"Saleem Abdulrasool2014-02-221-7/+2
| | | | | | This seems to break a MIPS test. Revert until I figure out the root cause. llvm-svn: 201954
* clang: forward -no-integrated-as from the driverSaleem Abdulrasool2014-02-221-2/+7
| | | | | | | | Forward the -no-integrated-as option to -cc1 rather than simply invoking the appropriate tool. This is useful since this option has been overloaded to permit disabling of parsing inline assembly at the MC layer. llvm-svn: 201952
* Reorganize and improve semantic tests for dllexport/importNico Rieck2014-02-221-2/+2
| | | | llvm-svn: 201947
* Exposing the noduplicate attribute within Clang, which marks functions so ↵Aaron Ballman2014-02-223-0/+6
| | | | | | | | that the optimizer does not duplicate code. Patch thanks to Marcello Maggioni! llvm-svn: 201941
* Do not add enums to prototype scope in C++ modes.Peter Collingbourne2014-02-222-26/+7
| | | | | | | | | | | | | | The language forbids defining enums in prototypes, so this check is normally redundant, but if an enum is defined during template instantiation it should not be added to the prototype scope. While at it, clean up the code that deals with tag definitions in prototype scope and expand the visibility warning to cover the case where an anonymous enum is defined. Differential Revision: http://llvm-reviews.chandlerc.com/D2742 llvm-svn: 201927
* Correctly set brace range for CXXConstructExprs formed by list initialization.Peter Collingbourne2014-02-221-6/+9
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D2711 llvm-svn: 201926
* Per feedback from Aaron Ballman, push cast-to-ObjCProtocolDecl inside ↵Ted Kremenek2014-02-221-3/+3
| | | | | | handleObjCSuppresProtocolAttr(). llvm-svn: 201922
* [_mm_prefetch] Returning previously deleted comment.Warren Hunt2014-02-221-0/+3
| | | | | | | No functional change. It's unclear if the word FIXME is relevant given that the macro behaves as intended. llvm-svn: 201920
OpenPOWER on IntegriCloud