Age | Commit message (Collapse) | Author | Files | Lines |
|
------------------------------------------------------------------------
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
|
|
This reverts commit r206064.
This commit regressed the MultiSource/Applications/sgefa/sgefa test.
llvm-svn: 206783
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
Clang 3.4. Add link to referenced PR.
llvm-svn: 198626
|
|
llvm-svn: 197933
|
|
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
|
|
llvm-svn: 197841
|
|
llvm-svn: 197667
|
|
------------------------------------------------------------------------
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
|
|
llvm-svn: 197443
|
|
llvm-svn: 197417
|
|
llvm-svn: 197379
|
|
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
llvm-svn: 197225
|
|
------------------------------------------------------------------------
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
|
|
llvm-svn: 197118
|
|
llvm-svn: 197117
|
|
llvm-svn: 197115
|
|
llvm-svn: 197042
|
|
------------------------------------------------------------------------
r197022 | smatveev | 2013-12-11 13:14:36 +0400 (Wed, 11 Dec 2013) | 1 line
Mention LeakSanitizer in AddressSanitizer docs.
------------------------------------------------------------------------
llvm-svn: 197023
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
r196143 | mren | 2013-12-02 11:37:35 -0800 (Mon, 02 Dec 2013) | 1 line
Expand comments for Debug Info Version.
------------------------------------------------------------------------
llvm-svn: 196818
|
|
------------------------------------------------------------------------
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
|
|
llvm-svn: 196810
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
failures.
llvm-svn: 196774
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|