aboutsummaryrefslogtreecommitdiff
path: root/clang
AgeCommit message (Collapse)AuthorFilesLines
2014-04-25Merging r198940 (second try):llvmorg-3.4.1-rc2llvmorg-3.4.1Tom Stellard3-15/+26
------------------------------------------------------------------------ r198940 | kristof.beyls | 2014-01-10 08:44:34 -0500 (Fri, 10 Jan 2014) | 2 lines Enable -fuse-init-array for all AArch64 ELF targets by default, not just linux. ------------------------------------------------------------------------ llvm-svn: 207288
2014-04-21Revert "Merging r198940:"Tom Stellard4-30/+21
This reverts commit r206064. This commit regressed the MultiSource/Applications/sgefa/sgefa test. llvm-svn: 206783
2014-04-11Merging r196981:Tom Stellard2-4/+16
------------------------------------------------------------------------ r196981 | fang | 2013-12-10 17:51:25 -0500 (Tue, 10 Dec 2013) | 2 lines darwin asm driver: suppress -Q for -no-integrated-as on darwin<11 ------------------------------------------------------------------------ llvm-svn: 206067
2014-04-11Merging r204742:Tom Stellard6-19/+44
------------------------------------------------------------------------ r204742 | benny.kra | 2014-03-25 14:02:07 -0400 (Tue, 25 Mar 2014) | 10 lines Fix an logic error in the clang driver preventing crtfastmath.o from linking when -Ofast is used without -ffast-math In gcc using -Ofast forces linking of crtfastmath.o. In the current clang crtfastmath.o is only linked when -ffast-math/-funsafe-math-optimizations passed. It can lead to performance issues, when using only -Ofast without explicit -ffast-math (I faced with it). My patch fixes inconsistency with gcc behaviour and also introduces few tests on it. Patch by Zinovy Nis! Differential Revision: http://llvm-reviews.chandlerc.com/D3114 ------------------------------------------------------------------------ llvm-svn: 206066
2014-04-11Merging r198940:Tom Stellard4-21/+30
------------------------------------------------------------------------ r198940 | kristof.beyls | 2014-01-10 08:44:34 -0500 (Fri, 10 Jan 2014) | 2 lines Enable -fuse-init-array for all AArch64 ELF targets by default, not just linux. ------------------------------------------------------------------------ llvm-svn: 206064
2014-04-11Merging r203007:Tom Stellard2-2/+24
------------------------------------------------------------------------ r203007 | rafael.espindola | 2014-03-05 16:04:41 -0500 (Wed, 05 Mar 2014) | 4 lines Don't produce an alias between destructors with different calling conventions. Fixes pr19007. ------------------------------------------------------------------------ llvm-svn: 206059
2014-04-11Merging r205144:Tom Stellard2-0/+14
------------------------------------------------------------------------ r205144 | hfinkel | 2014-03-30 09:00:06 -0400 (Sun, 30 Mar 2014) | 7 lines [PowerPC] Make -pg generate calls to _mcount not mcount At least on REL6 (Linux/glibc 2.12), the proper symbol for generating gprof data is _mcount, not mcount. Prior to this change, compiling with -pg would generate linking errors (because of unresolved references to mcount), after this change -pg seems at least minimally functional. ------------------------------------------------------------------------ llvm-svn: 206058
2014-04-08Merging r197577:Tom Stellard2-1/+4
------------------------------------------------------------------------ r197577 | rafael.espindola | 2013-12-18 10:16:50 -0500 (Wed, 18 Dec 2013) | 4 lines Add -f64:32:64 to the darwin ppc32 DataLayout. A f64 inside a struct can be 32 bit aligned on darwin. ------------------------------------------------------------------------ llvm-svn: 205788
2014-04-08Merging r203050:Tom Stellard2-20/+31
------------------------------------------------------------------------ r203050 | rtrieu | 2014-03-05 20:09:03 -0500 (Wed, 05 Mar 2014) | 4 lines Change the color of comment nodes from bright yellow to blue. Bright yellow on a white background is difficult to read. Also include a chart showing which colors are used by which elements in the AST dump. ------------------------------------------------------------------------ llvm-svn: 205786
2014-04-08Merging r200953:Tom Stellard2-1/+12
------------------------------------------------------------------------ r200953 | rtrieu | 2014-02-06 18:26:23 -0500 (Thu, 06 Feb 2014) | 3 lines Fixes PR18762, stop the StmtPrinter for ObjCPropertyRefExpr from crashing on certain receiver types. ------------------------------------------------------------------------ llvm-svn: 205785
2014-04-08Merging r197445:Tom Stellard2-2/+21
------------------------------------------------------------------------ r197445 | rtrieu | 2013-12-16 19:40:40 -0500 (Mon, 16 Dec 2013) | 4 lines For -Wconsumed, walk the namespaces to find if the top most namespace is "std" to determine if a move function is the std::move function. This allows functions like std::__1::move to also be treated a the move function. ------------------------------------------------------------------------ llvm-svn: 205784
2014-04-08Merging r197428:Tom Stellard2-1/+21
------------------------------------------------------------------------ r197428 | rtrieu | 2013-12-16 16:41:30 -0500 (Mon, 16 Dec 2013) | 2 lines Fix PR18260 - Make std::move handling in -Wconsumed only trigger on std::move ------------------------------------------------------------------------ llvm-svn: 205783
2014-03-19Merging r203025:Tom Stellard2-23/+22
------------------------------------------------------------------------ r203025 | richard-llvm | 2014-03-05 15:32:50 -0800 (Wed, 05 Mar 2014) | 3 lines PR19010: Make sure we initialize (empty) indirect base class subobjects when evaluating trivial default initialization of a literal class type. llvm-svn: 204263
2014-03-17Merging r200954:Tom Stellard2-8/+22
------------------------------------------------------------------------ r200954 | richard-llvm | 2014-02-06 15:35:16 -0800 (Thu, 06 Feb 2014) | 9 lines Temporary fix for PR18473: Don't try to evaluate the initializer for a type-dependent variable, even if the initializer isn't value-dependent. This happens for ParenListExprs composed of non-value-dependent subexpressions, for instance. We should really give ParenListExprs (and InitListExprs) the type of the initialized entity if they're used to represent a dependent initialization (and if so, set them to be type-, value- and instantiation-dependent). llvm-svn: 204050
2014-03-13Merging r202721:Tom Stellard1-9/+9
------------------------------------------------------------------------ r202721 | thomas.stellard | 2014-03-03 07:22:14 -0800 (Mon, 03 Mar 2014) | 2 lines Update tests for addition of patch level to LLVM version llvm-svn: 203870
2014-01-06Clang 3.4 release notes: Fix description of enum increment/decrement change inRichard Smith1-3/+3
Clang 3.4. Add link to referenced PR. llvm-svn: 198626
2013-12-24Small reformatting changes.Bill Wendling1-15/+14
llvm-svn: 197933
2013-12-23---Merging r196453Bill Wendling2-1/+13
Parse: Recover better from bad definitions with base specifiers We would skip until the next comma, hoping good things whould lie there, however this would fail when we have such things as this: struct A {}; template <typename> struct D; template <> struct D<C> : B, A::D; Once this happens, we would believe that D with a nested namespace specifier of A was a variable that was being declared. We would go on to complain that there was an extraneous 'template <>' on their variable declaration. Crashes would happen when 'A' gets defined as 'enum class A {}' as various asserts would fire. Instead, we should skip up until the semicolon if we see that we are in the middle of a definition and the current token is a ':' This fixes PR17084. llvm-svn: 197905
2013-12-20Remove help notes from the ReleaseNotes.Bill Wendling1-29/+0
llvm-svn: 197841
2013-12-19Update of the release notes to provide examples of the new checks/warningsSylvestre Ledru1-0/+59
llvm-svn: 197667
2013-12-17Merging r197409:Bill Wendling2-0/+20
------------------------------------------------------------------------ r197409 | rikka | 2013-12-16 11:19:18 -0800 (Mon, 16 Dec 2013) | 4 lines Make Sema::BuildCXXNestedNameSpecifier correctly clear the previous CXXScopeSpec when necessary while performing typo correction. This fixes the crash reported in PR18213 (the problem existed since r185487, and r193020 made it easier to hit). ------------------------------------------------------------------------ llvm-svn: 197463
2013-12-17Fix link.Bill Wendling1-1/+1
llvm-svn: 197443
2013-12-16Add blurb about leak sanitizer.Bill Wendling1-3/+6
llvm-svn: 197417
2013-12-16fix a weird phraseGabor Greif1-2/+2
llvm-svn: 197379
2013-12-16Rewrite the static analyzer changes description for the 3.4 release.Sylvestre Ledru1-42/+2
After chatting with Anna Zaks, she believes that my code samples were more bugs in the previous releases of the static analyzer. llvm-svn: 197377
2013-12-16Merging r196212:Bill Wendling10-15/+39
------------------------------------------------------------------------ r196212 | alp | 2013-12-02 22:13:01 -0800 (Mon, 02 Dec 2013) | 22 lines Emit an extension warning when changing system header tokens clang converts keywords to identifiers for compatibility with various system headers such as GNU libc. Implement a -Wkeyword-compat extension warning to diagnose those cases. The warning is on by default but will generally be ignored in system headers. It can however be enabled globally to aid standards conformance testing. This also changes the __uptr keyword avoidance from r195710 to no longer special-case system headers, bringing it in line with other similar workarounds in clang. Implementation returns bool for symmetry with token annotation functions. Some examples: warning: keyword '__is_pod' will be treated as an identifier for the remainder of the translation unit [-Wkeyword-compat] struct __is_pod warning: keyword '__uptr' will be treated as an identifier here [-Wkeyword-compat] union w *__uptr; ------------------------------------------------------------------------ llvm-svn: 197359
2013-12-14Merging r197298:Bill Wendling3-3/+188
------------------------------------------------------------------------ r197298 | rsmith | 2013-12-13 17:04:22 -0800 (Fri, 13 Dec 2013) | 3 lines PR18232: implement instantiation for class-scope explicit specializations of class templates (a Microsoft extension). ------------------------------------------------------------------------ llvm-svn: 197320
2013-12-14Merging r197305:Bill Wendling2-3/+22
------------------------------------------------------------------------ r197305 | rsmith | 2013-12-13 19:18:05 -0800 (Fri, 13 Dec 2013) | 7 lines PR18246: When performing template argument deduction to decide which template is specialized by an explicit specialization, start from the first declaration in case we've got a member of a class template (redeclarations might not number the template parameters the same way). Our recover here is still far from ideal. ------------------------------------------------------------------------ llvm-svn: 197319
2013-12-13Improve the 3.4 release notes about the static analyzer new featuresSylvestre Ledru1-2/+41
llvm-svn: 197225
2013-12-12Merging r197120:Bill Wendling1-11/+12
------------------------------------------------------------------------ r197120 | rsmith | 2013-12-11 18:42:17 -0800 (Wed, 11 Dec 2013) | 2 lines Update user manual to note that implementation for C++11 and C++1y is complete, and fix a bunch of other issues here. ------------------------------------------------------------------------ llvm-svn: 197127
2013-12-12Fix another formatting bug.Richard Smith1-1/+1
llvm-svn: 197118
2013-12-12Fix RST syntax errors.Richard Smith1-3/+4
llvm-svn: 197117
2013-12-12Add information about C++1y support to Clang 3.4 release notes.Richard Smith1-4/+24
llvm-svn: 197115
2013-12-11Add release notes for clang-format.Daniel Jasper1-0/+13
llvm-svn: 197042
2013-12-11Merging r197022:Sergey Matveev1-0/+7
------------------------------------------------------------------------ r197022 | smatveev | 2013-12-11 13:14:36 +0400 (Wed, 11 Dec 2013) | 1 line Mention LeakSanitizer in AddressSanitizer docs. ------------------------------------------------------------------------ llvm-svn: 197023
2013-12-11Merging r196995:Bill Wendling2-3/+125
------------------------------------------------------------------------ r196995 | rsmith | 2013-12-10 17:40:16 -0800 (Tue, 10 Dec 2013) | 5 lines When performing an array new of a multidimensional array with an initializer list, each element of the initializer list may provide more than one of the base elements of the array. Be sure to initialize the right type and bump the array pointer by the right amount. ------------------------------------------------------------------------ llvm-svn: 197005
2013-12-10Merging r196957:Sergey Matveev2-11/+12
------------------------------------------------------------------------ r196957 | smatveev | 2013-12-11 00:10:30 +0400 (Wed, 11 Dec 2013) | 1 line Rewrite docs/LeakSanitizer.rst. Add it to index. ------------------------------------------------------------------------ llvm-svn: 196958
2013-12-10Merging r196852:Bill Wendling2-4/+9
------------------------------------------------------------------------ r196852 | majnemer | 2013-12-09 16:40:58 -0800 (Mon, 09 Dec 2013) | 10 lines Sema: Enforce C++11 pointer-to-member template arguments should rules The standard is pretty clear on what it allows inside of template arguments for non-type template parameters of pointer-to-member. They must be of the form &qualified-id and cannot come from sources like constexpr VarDecls or things of that nature. This fixes PR18192. ------------------------------------------------------------------------ llvm-svn: 196885
2013-12-10Merging r196771:Bill Wendling4-47/+83
------------------------------------------------------------------------ r196771 | majnemer | 2013-12-09 02:44:32 -0800 (Mon, 09 Dec 2013) | 17 lines [-cxx-abi microsoft] Mangle large integral constants correctly Testing has revealed that large integral constants (i.e. > INT64_MAX) are always mangled as-if they are negative, even in places where it would not make sense for them to be negative (like non-type template parameters of type unsigned long long). To address this, we change the way we model number mangling: always mangle as-if our number is an int64_t. This should result in correct results when we have large unsigned numbers. N.B. Bizarrely, things that are 32-bit displacements like vbptr offsets are mangled as-if they are unsigned 32-bit numbers. This is a pretty egregious waste of space, it would be a 4x savings if we could mangle it like a signed 32-bit number. Instead, we explicitly cast these displacements to uint32_t and let the mangler proceed. ------------------------------------------------------------------------ llvm-svn: 196878
2013-12-09Merging r196145:Manman Ren1-1/+1
------------------------------------------------------------------------ r196145 | mren | 2013-12-02 12:10:37 -0800 (Mon, 02 Dec 2013) | 5 lines Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h. Suggested by Eric. Paired commit with r196144. ------------------------------------------------------------------------ llvm-svn: 196820
2013-12-09Merging r196143:Manman Ren1-1/+4
------------------------------------------------------------------------ r196143 | mren | 2013-12-02 11:37:35 -0800 (Mon, 02 Dec 2013) | 1 line Expand comments for Debug Info Version. ------------------------------------------------------------------------ llvm-svn: 196818
2013-12-09Merging r195495:Manman Ren2-0/+13
------------------------------------------------------------------------ r195495 | mren | 2013-11-22 11:42:45 -0800 (Fri, 22 Nov 2013) | 5 lines Debug Info: add a "Debug Info Version" module flag to output the current debug info version number. Will error out when modules have different version numbers. ------------------------------------------------------------------------ llvm-svn: 196812
2013-12-09Release notes: expand clang-cl blurb a littleHans Wennborg1-3/+5
llvm-svn: 196810
2013-12-09Merging r196599:Bill Wendling1-0/+6
------------------------------------------------------------------------ r196599 | zaks | 2013-12-06 11:28:16 -0800 (Fri, 06 Dec 2013) | 5 lines Fixup to r196593. This is another regression fixed by reverting r189090. In this case, the problem is not live variables but the approach that was taken in r189090. This regression was caused by explicitly binding "true" to the condition when we take the true branch. Normally that's okay, but in this case we're planning to reuse that condition as the value of the expression. ------------------------------------------------------------------------ llvm-svn: 196796
2013-12-09Merging r196593:Bill Wendling6-102/+129
------------------------------------------------------------------------ r196593 | zaks | 2013-12-06 10:56:29 -0800 (Fri, 06 Dec 2013) | 7 lines Revert "[analyzer] Refactor conditional expression evaluating code" This reverts commit r189090. The original patch introduced regressions (see the added live-variables.* tests). The patch depends on the correctness of live variable analyses, which are not computed correctly. I've opened PR18159 to track the proper resolution to this problem. The patch was a stepping block to r189746. This is why part of the patch reverts temporary destructor tests that started crashing. The temporary destructors feature is disabled by default. ------------------------------------------------------------------------ llvm-svn: 196795
2013-12-09Remove stray parts of (reverted on trunk) r196205 that are causing testTim Northover1-18/+0
failures. llvm-svn: 196774
2013-12-09Merging r196720:Bill Wendling1-5/+32
------------------------------------------------------------------------ r196720 | joerg | 2013-12-08 05:54:58 -0800 (Sun, 08 Dec 2013) | 3 lines Extend assembler handling for NetBSD/MIPS to pass down the correct ABI, architecture and PIC flag. ------------------------------------------------------------------------ llvm-svn: 196747
2013-12-09Merging r196724:Bill Wendling2-1/+6
------------------------------------------------------------------------ r196724 | tnorthover | 2013-12-08 07:24:55 -0800 (Sun, 08 Dec 2013) | 5 lines ARM: teach Sema that "r" can match 64-bit values We already support using "r" on 64-bit values (a GPRPair is allocated), but Sema doesn't know this yet so issues a warning. This should fix it. ------------------------------------------------------------------------ llvm-svn: 196746
2013-12-09Merging r196712:Bill Wendling2-1/+15
------------------------------------------------------------------------ r196712 | rafael | 2013-12-07 17:13:22 -0800 (Sat, 07 Dec 2013) | 12 lines Fix pr18174. Clang outputs LLVM one top level decl at a time. This combined with the visibility computation code looking for the newest NamespaceDecl would cause it to produce different results for nested namespaces. The two options for producing consistent results are * Delay codegen of anything inside a namespace until the end of the file. * Don't look for the newest NamespaceDecl. This patch implements the second option. This matches the gcc behavior too. ------------------------------------------------------------------------ llvm-svn: 196745
2013-12-08Merging r196630:Bill Wendling2-0/+67
------------------------------------------------------------------------ r196630 | joerg | 2013-12-06 16:57:46 -0800 (Fri, 06 Dec 2013) | 3 lines Pass correct flags to assembler and linker for OpenBSD on AMD64, PowerPC and MIPS64. From Brad Smith. ------------------------------------------------------------------------ llvm-svn: 196706