Richard Smith
66204ecff9
DR1346: a parenthesized braced-init-list cannot be used as the initializer when
...
performing auto type deduction.
llvm-svn: 203683
2014-03-12 17:42:45 +00:00
Eli Bendersky
b5cfa8c2f3
Don't recompute inlining threshold - use new overload provided by LLVM
...
Follow-up on LLVM r203669
llvm-svn: 203673
2014-03-12 16:30:34 +00:00
Hans Wennborg
501eadb429
Check for LLVM_ON_WIN32 instead of _WIN32.
...
This is a follow-up to r203624 to address Anton's comment.
llvm-svn: 203668
2014-03-12 16:07:46 +00:00
Oliver Stannard
7c3c09e23f
ARM: Correct alignment of structs passed as byval pointer
...
When a struct has bitfields overlapping with other members
(as required by the AAPCS), clang uses a packed struct to
represent this. If such a struct is large enough for clang to
pass it as a byval pointer (>64 bytes), we need to set the
alignment of the argument to match the original type.
llvm-svn: 203660
2014-03-12 14:02:50 +00:00
Daniel Jasper
da353cd5f1
clang-format: Fix crasher.
...
Caused by unknown tokens (e.g. "\n") not properly updating the state.
Example:
const char* c = STRINGIFY(
\na : b);
llvm-svn: 203645
2014-03-12 08:24:47 +00:00
Craig Topper
4f12f10de4
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203643
2014-03-12 06:41:41 +00:00
Craig Topper
2b07f0252e
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203641
2014-03-12 05:09:18 +00:00
Craig Topper
e14c0f8e73
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203640
2014-03-12 04:55:44 +00:00
Saleem Abdulrasool
729b7d357d
Lex: reduce buffer size, add a test
...
Reduce the stack usage as hopefully include paths are usually not too long. Add
a test case for the path normalisation behaviour.
llvm-svn: 203632
2014-03-12 02:26:08 +00:00
Ben Langmuir
dcf73861a5
Add an option -fmodules-validate-system-headers
...
When enabled, always validate the system headers when loading a module.
The end result of this is that when these headers change, we will notice
and rebuild the module.
llvm-svn: 203630
2014-03-12 00:06:17 +00:00
Aaron Ballman
e8d69b7fc9
Allow GNU-style attributes on lambda expressions.
...
llvm-svn: 203628
2014-03-12 00:01:07 +00:00
Saleem Abdulrasool
198034105d
lex: improve include handling on Linux for Windows
...
Normalise the path separator character on non-windows platforms. Although this
would work on Windows as well (most newer versions of Windows support either '/'
or '\' as a path separator character), it could potentially cause problems with
full UNC paths. This change enables the use of the Windows SDK on Linux which
will not accept '\' as a path separator.
llvm-svn: 203614
2014-03-11 22:41:45 +00:00
David Blaikie
29559b1efa
Driver: Support -gmlt as an alias for -gline-tables-only
...
llvm-svn: 203603
2014-03-11 21:05:26 +00:00
Fariborz Jahanian
0c325319cf
Objective-C. Prevent an assertion crash due to buggy code
...
as it can commonly happen. // rdar://16261494
llvm-svn: 203598
2014-03-11 18:56:18 +00:00
Duncan P. N. Exon Smith
38402dc917
PGO: Scale large counters down to 32-bits
...
PGO counters are 64-bit and branch weights are 32-bit. Scale them down
when necessary, instead of just taking the lower 32 bits.
<rdar://problem/16276448>
llvm-svn: 203592
2014-03-11 18:18:10 +00:00
Bob Wilson
3ca7904fea
Remove trailing whitespace introduced in r203028.
...
llvm-svn: 203588
2014-03-11 17:17:16 +00:00
Fariborz Jahanian
bf678e82e1
Objective-C. Diagose use of undefined protocols
...
when a class adopts a protocol that inherits from
undefined protocols. // rdar://16111182
llvm-svn: 203586
2014-03-11 17:10:51 +00:00
Jordan Rose
a6839aaa9b
[analyzer] Check all conditions in a chained if against each other.
...
Like the binary operator check of r201702, this actually checks the
condition of every if in a chain against every other condition, an
O(N^2) operation. In most cases N should be small enough to make this
practical, and checking all cases like this makes it much more likely
to catch a copy-paste error within the same series of branches.
Part of IdenticalExprChecker; patch by Daniel Fahlgren!
llvm-svn: 203585
2014-03-11 16:52:29 +00:00
Aaron Ballman
b5c59f5862
Gracefully handle an attribute specifier following a lambda introducer when the parameter list wasn't present.
...
llvm-svn: 203565
2014-03-11 13:03:15 +00:00
Tim Northover
c83472e0ff
Sema: demote invalid atomic ordering message to warning.
...
Someone could write:
if (0) {
__c11_atomic_load(ptr, memory_order_release);
}
or the equivalent, which is perfectly valid, so we shouldn't outright reject
invalid orderings on purely static grounds.
rdar://problem/16242991
llvm-svn: 203564
2014-03-11 11:35:10 +00:00
Daniel Jasper
8f59ae537c
clang-format: Avoid unnecessary break before lambda return type.
...
Before:
auto aaaaaaaa = [](int i, // break
int j)
-> int {
return fffffffffffffffffffffffffffffffffffffff(i * j);
};
After:
auto aaaaaaaa = [](int i, // break
int j) -> int {
return fffffffffffffffffffffffffffffffffffffff(i * j);
};
llvm-svn: 203562
2014-03-11 11:03:26 +00:00
Tim Northover
e94a34cae2
Sema: produce error when invalid ordering is passed to atomic builtin
...
This is a conservative check, because it's valid for the expression to be
non-constant, and in cases like that we just don't know whether it's valid.
rdar://problem/16242991
llvm-svn: 203561
2014-03-11 10:49:14 +00:00
Tim Northover
0622b3a67a
Update for IR: add a second AtomicOrdering to cmpxchg insts.
...
rdar://problem/15996804
llvm-svn: 203560
2014-03-11 10:49:03 +00:00
Daniel Jasper
a58dd5db29
clang-format: Fix another false positive in the lambda detection.
...
Before:
int i = (*b)[a] -> f();
After:
int i = (*b)[a]->f();
llvm-svn: 203557
2014-03-11 10:03:33 +00:00
Daniel Jasper
d3c7ab975f
clang-format: Fix incorrect lambda recognition exposed by r203452.
...
Before:
int i = a[a][a] -> f();
After:
int i = a[a][a]->f();
llvm-svn: 203556
2014-03-11 09:59:36 +00:00
Daniel Jasper
c580af96fa
clang-format: Detect weird macro lambda usage.
...
Before:
void f() {
MACRO((const AA & a) { return 1; });
}
After:
void f() {
MACRO((const AA &a) { return 1; });
}
llvm-svn: 203551
2014-03-11 09:29:46 +00:00
Richard Smith
52e3fbaee8
Revert C++11ification in r203534 and r203536. Apparently our toolchains aren't
...
ready for this yet.
llvm-svn: 203548
2014-03-11 07:17:35 +00:00
Craig Topper
9140dd2fe7
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203547
2014-03-11 06:50:42 +00:00
Craig Topper
cbce6e9e63
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203543
2014-03-11 06:22:39 +00:00
Argyrios Kyrtzidis
34fad42003
[HeaderSearch] Fix issue where if a headermap entry maps the filename to a framework import (non-absolute path)
...
then we fail to find it if it is re-included later on.
rdar://16285490
llvm-svn: 203542
2014-03-11 06:21:28 +00:00
Craig Topper
e6f17d0cac
De-virtualize a method since it doesn't override anything and isn't overridden itself.
...
llvm-svn: 203538
2014-03-11 04:07:52 +00:00
Craig Topper
3164f33f8f
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203537
2014-03-11 03:39:26 +00:00
Richard Smith
cf91493176
Speculative workaround for apparent libstdc++ bug exposed by r203534.
...
llvm-svn: 203536
2014-03-11 03:30:30 +00:00
Richard Trieu
99e1c9515a
Move the warning about unused relational comparison from -Wunused-value to
...
-Wunused-comparison. Also, newly warn on unused result from overloaded
relational comparisons, now also in -Wunused-comparison.
llvm-svn: 203535
2014-03-11 03:11:08 +00:00
Richard Smith
d91747980a
If a visibility update record is found for a DeclContext after that Decl has
...
already been loaded, apply that update record to the Decl immediately, rather
than adding it to a pending list and never applying it.
llvm-svn: 203534
2014-03-11 03:10:46 +00:00
Richard Smith
723928c7dc
If a module map is found in a relative -I path, convert the filenames within it
...
to absolute paths when building the includes file for the module. Without this,
the module build would fail, because the relative paths we were using are not
necessarily relative to a directory in our include path.
llvm-svn: 203528
2014-03-11 02:02:47 +00:00
Fariborz Jahanian
f322f2fb61
Objective-C IRGen. Fixes several regressions caused by changes made
...
to setting of ObjC linkages. //rdar://16206443
llvm-svn: 203521
2014-03-11 00:25:05 +00:00
DeLesley Hutchins
d1c9b37db9
Thread safety analysis: move smart pointer checks from -Wthread-safety-beta
...
to -Wthread-safety.
llvm-svn: 203510
2014-03-10 23:03:49 +00:00
Anton Yartsev
fe50df6983
[analyzer] Eliminate memory leak in BugReporter::emitReport()
...
llvm-svn: 203507
2014-03-10 22:35:02 +00:00
John McCall
e54d92b0f1
RTTI symbols for visible local types may need weak linkage.
...
Previously, we would always emit them with internal linkage,
but with hidden visibility when the function was hidden, which
is an illegal combination, which could lead LLVM to actually
emit them as strong hidden symbols with hilarious results.
rdar://16265084
llvm-svn: 203503
2014-03-10 22:27:33 +00:00
David Majnemer
938bc1ea84
IRGen: __c11/__atomic compare-and-exchange should respect the standard
...
Summary:
'Expected' should only be modified if the operation fails.
This fixes PR18899.
Reviewers: chandlerc, rsmith, rjmccall
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2922
llvm-svn: 203493
2014-03-10 21:35:33 +00:00
Benjamin Kramer
3f755aa7a8
[C++11] Avoid implicit conversion of ArrayRef to std::vector and use move semantics where appropriate.
...
llvm-svn: 203477
2014-03-10 17:55:02 +00:00
Aaron Ballman
be22bcb180
[C++11] Replacing DeclBase iterators specific_attr_begin() and specific_attr_end() with iterator_range specific_attrs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203474
2014-03-10 17:08:28 +00:00
Samuel Benzaquen
a083935d0a
Add loc() to the dynamic registry.
...
Summary:
Add loc() to the dynamic registry.
Other fixes:
- Fix the polymorphic variant value to accept an exact match, even if
there are other possible conversions.
- Fix specifiesTypeLoc() to not crash on an empty
NestedNameSpecifierLoc.
Reviewers: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2928
llvm-svn: 203467
2014-03-10 15:40:23 +00:00
Daniel Jasper
84a12e18d3
clang-format: Add spaces between lambdas and comments.
...
Before:
void f() {
bar([]() {}// Does not respect SpacesBeforeTrailingComments
);
}
After:
void f() {
bar([]() {} // Does not respect SpacesBeforeTrailingComments
);
}
This fixes llvm.org/PR19017.
llvm-svn: 203466
2014-03-10 15:06:25 +00:00
Aaron Ballman
62e47c423d
Reverting llvm::distance changes to use std::distance with iterators instead, per post-commit review feedback.
...
Replacing llvm::copy changes with SmallVector range-based construction which is a considerably cleaner approach.
llvm-svn: 203461
2014-03-10 13:43:55 +00:00
Alexander Kornienko
4504f93901
Preserve hanging indent when breaking line comments.
...
Summary:
If we need to break the second line here:
// something: aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa
with the patch it will be turned to
// something: aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa
instead of
// something: aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa aaaaa aaaaaa aaaaa aaaaa
// aaaaa
Reviewers: djasper, klimek
Reviewed By: klimek
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2988
llvm-svn: 203458
2014-03-10 13:14:56 +00:00
Robert Lytton
2c942c64fb
Make __LITTLE_ENDIAN__/__BIG_ENDOAN__ common PredefinedMacros
...
llvm-svn: 203455
2014-03-10 12:06:29 +00:00
Daniel Jasper
81a20787db
clang-format: Add spaces around trailing/lambda return types.
...
Before:
int c = []()->int { return 2; }();
After:
int c = []() -> int { return 2; }();
llvm-svn: 203452
2014-03-10 10:02:02 +00:00
Richard Smith
a108760b33
When a type's definition is instantiated, the definition becomes visible, even
...
if the type's declaration was previously instantiated in an unimported module.
(For an imported type definition, this already worked, because the source
location is set to the location of the definition, but for locally-instantiated
type definitions, it did not.)
llvm-svn: 203425
2014-03-10 00:04:29 +00:00
Bob Wilson
d836d3dde1
Remove trailing whitespace.
...
llvm-svn: 203422
2014-03-09 23:02:27 +00:00
Nick Lewycky
206cc2d9c6
Tab to spaces. No functionality change.
...
llvm-svn: 203417
2014-03-09 17:09:28 +00:00
Logan Chien
8153b368b6
Fix uninitialized value in AttributedTypeLoc.
...
Clang might crash while reading the precompiled headers if
we don't initialize the AttrEnumOperandLoc properly.
This commit fixes the combination of string attribute
operand and enum operand. Besides, this commit also adds
several assertions to avoid unexpected operand kind.
llvm-svn: 203416
2014-03-09 16:21:03 +00:00
Ahmed Charles
bfb6232233
[C++11] Use std::unique_ptr for ownership in a vector.
...
Also change to using range-based for loops. No functional change intended.
llvm-svn: 203396
2014-03-09 12:24:23 +00:00
Ahmed Charles
dfca6f97bc
[C++11] Replace OwningPtr include with <memory>.
...
llvm-svn: 203389
2014-03-09 11:36:40 +00:00
Ahmed Charles
af94d56b56
[C++11] Remove the remaining uses of OwningPtr.
...
Replace OwningArrayPtr with std::unique_ptr<T[]>.
llvm-svn: 203388
2014-03-09 11:34:25 +00:00
Ted Kremenek
2dd810a331
[-Wunreachable-code] Handle Objective-C bool literals in 'isConfigurationValue'.
...
This includes special casing 'YES' and 'NO', which are constants
defined as macros.
llvm-svn: 203380
2014-03-09 08:13:49 +00:00
David Blaikie
dcb72d72ff
Remove uses of SmallString::equals in favor of SmallVectorImpl<char>'s operator==
...
llvm-svn: 203373
2014-03-09 05:18:27 +00:00
Argyrios Kyrtzidis
0098a4bd04
[Sema] Fix assertion hit with #pragma weak.
...
rdar://16264844
llvm-svn: 203372
2014-03-09 05:15:28 +00:00
Argyrios Kyrtzidis
b255ee91a7
[libclang] Don't pad the main buffer for the preamble.
...
Padding does not seem to be useful currently, and it leads to bogus location if an error
points to the end of the file.
rdar://15836513
llvm-svn: 203370
2014-03-09 04:24:57 +00:00
Chandler Carruth
4d01fff492
[C++11] Update Clang for the change to LLVM's Use-Def chain iterators in
...
r203364: what was use_iterator is now user_iterator, and there is
a use_iterator for directly iterating over the uses.
This also switches to use the range-based APIs where appropriate.
llvm-svn: 203365
2014-03-09 03:16:50 +00:00
Ted Kremenek
c980afc578
[-Wunreachable-code] Tweak heuristic for configuration values to include arithmetic operations involving sizeof(), but not raw integers.
...
This case was motivated by a false positive with the
llvm::AlignOf<> specialization in LLVM.
llvm-svn: 203363
2014-03-08 23:20:11 +00:00
Aaron Ballman
b97112e4bd
[C++11] Replacing Decl iterators attr_begin() and attr_end() with iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops.
...
This is a reapplication of r203236 with modifications to the definition of attrs() and following the new style guidelines on auto usage.
llvm-svn: 203362
2014-03-08 22:19:01 +00:00
Argyrios Kyrtzidis
8ed7414e58
[Preprocessor] Only check for -Wunused-macros if the translation unit kind is TU_Complete.
...
llvm-svn: 203360
2014-03-08 21:18:26 +00:00
Aaron Ballman
e8a8baef44
[C++11] Replacing RecordDecl iterators field_begin() and field_end() with iterator_range fields(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203355
2014-03-08 20:12:42 +00:00
Aaron Ballman
23a6dcb365
[C++11] Replacing EnumDecl iterators enumerator_begin() and enumerator_end() with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203353
2014-03-08 18:45:14 +00:00
Aaron Ballman
43027eb093
Reapplying r203299 in a slightly different manner. Now range APIs are implemented in terms of iterator APIs.
...
llvm-svn: 203351
2014-03-08 18:30:40 +00:00
Ted Kremenek
efea63450b
[-Wunreachabe-code] Don't warn about unreachable destructors for temporaries.
...
This can possibly be refined later, but right now the experience
is so incomprehensible for a user to understand what is going on
this isn't a useful warning.
llvm-svn: 203336
2014-03-08 02:22:32 +00:00
Ted Kremenek
fcc1417fad
Fix CFG bug where the 'isTemporaryDtorsBranch' bit was silently lost for terminators.
...
llvm-svn: 203335
2014-03-08 02:22:29 +00:00
Ted Kremenek
ff909f907c
[CFG] Record would-be successor for noreturn destructor.
...
llvm-svn: 203334
2014-03-08 02:22:25 +00:00
Ted Kremenek
04bfbeea04
[-Wunreachable-code] Handle 'return' with no argument dominated by 'noreturn' function.
...
llvm-svn: 203333
2014-03-08 02:22:23 +00:00
Richard Smith
9bca298f6d
Module [extern_c] attribute: inherit to submodules, don't write 'extern "C"'
...
blocks when building in C mode, and serialize and deserialize the attribute.
llvm-svn: 203317
2014-03-08 00:03:56 +00:00
Aaron Ballman
da634f1dee
In my tests, I'm finding that declaring iterators in terms of ranges can sometimes have dangerous side-effects where the range temporary is destroyed, taking the underlying iterators out with it.
...
This changes the iterators so that they are no longer implemented in terms of ranges (so it's a very partial revert of the existing rangification efforts).
llvm-svn: 203299
2014-03-07 22:17:20 +00:00
Benjamin Kramer
4cadf292a5
[C++11] Revert uses of lambdas with array_pod_sort.
...
Looks like GCC implements the lambda->function pointer conversion differently.
llvm-svn: 203293
2014-03-07 21:51:58 +00:00
Benjamin Kramer
15ae783e14
[C++11] Convert sort predicates into lambdas.
...
No functionality change.
llvm-svn: 203289
2014-03-07 21:35:40 +00:00
Ted Kremenek
94d1617a1f
[-Wunreachable-code] Treat constant globals as configuration values in unreachable code heuristics.
...
This one could possibly be refined even further; e.g. looking
at the initializer and see if it is truly a configuration value.
llvm-svn: 203283
2014-03-07 20:51:13 +00:00
Ted Kremenek
91e45e056b
Zap another dead 'break' statement.
...
llvm-svn: 203282
2014-03-07 20:51:10 +00:00
Ahmed Charles
b89843299a
Replace OwningPtr with std::unique_ptr.
...
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
2014-03-07 20:03:18 +00:00
Aaron Ballman
629afaefe0
[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203278
2014-03-07 19:56:05 +00:00
Ahmed Charles
d72a5f103d
Replace OwningPtr::isValid() with conversion to bool.
...
This is a precursor to moving to std::unique_ptr.
llvm-svn: 203277
2014-03-07 19:51:06 +00:00
Ahmed Charles
9a16beb8bc
Change OwningPtr::take() to OwningPtr::release().
...
This is a precursor to moving to std::unique_ptr.
llvm-svn: 203275
2014-03-07 19:33:25 +00:00
Ted Kremenek
090a273b55
Remove dead return and simplify code.
...
llvm-svn: 203266
2014-03-07 18:53:05 +00:00
Aaron Ballman
29c9460d3e
Renaming the chains() ranged iterator to chain() per suggestion by Richard Smith.
...
llvm-svn: 203262
2014-03-07 18:36:15 +00:00
Aaron Ballman
1391608234
[C++11] Replacing IndirectFieldDecl iterators chain_begin() and chain_end() with iterator_range chains(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203261
2014-03-07 18:11:58 +00:00
Aaron Ballman
43b68bebe7
[C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203255
2014-03-07 17:50:17 +00:00
Aaron Ballman
b2b8b1dc66
[C++11] Replacing BlockDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203250
2014-03-07 16:09:59 +00:00
Aaron Ballman
f6bf62e2d0
[C++11] Replacing FunctionDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203248
2014-03-07 15:12:56 +00:00
Benjamin Kramer
ed2f476b20
[C++11] Replace LLVM-style type traits with C++11 standard ones.
...
No functionality change.
llvm-svn: 203241
2014-03-07 14:30:23 +00:00
Aaron Ballman
b105e49f28
[C++11] Replacing iterators ddiag_begin() and ddiag_end() with iterator_range ddiags(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203240
2014-03-07 14:09:15 +00:00
Aaron Ballman
63ab760ebe
[C++11] Updating getUsingDirectives to use iterator_range instead of a std::pair.
...
llvm-svn: 203239
2014-03-07 13:44:44 +00:00
Aaron Ballman
7dce1a840c
Fully reverting r203236 -- it seems the only bots that are happy are the MSVC bots.
...
llvm-svn: 203237
2014-03-07 13:13:38 +00:00
Aaron Ballman
690829696c
[C++11] Replacing iterators attr_begin() and attr_end() with iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203236
2014-03-07 12:50:00 +00:00
Alexey Bataev
d3db6acf7e
[OPENMP] Fix for threadprivate construct instantiatiation.
...
llvm-svn: 203225
2014-03-07 09:46:29 +00:00
Timur Iskhodzhanov
a895758203
Fix PR18967 -- Bad this adjustment for virtual methods in a diamond virtual inheritance hierarchy
...
llvm-svn: 203222
2014-03-07 09:34:59 +00:00
Alexey Bataev
d178ad4943
[OPENMP] Small update in threadprivate variables processing to fix template instantiation.
...
llvm-svn: 203214
2014-03-07 08:03:37 +00:00
Argyrios Kyrtzidis
e1974dcd92
[Preprocessor] Pass TranslationUnitKind to the preprocessor and if it is TU_Prefix
...
avoid warning for unused macros.
rdar://15034698
llvm-svn: 203213
2014-03-07 07:47:58 +00:00
Alexey Bataev
648250a2e5
[OPENMP] Fixed linked libraries for libiomp5 on Linux
...
llvm-svn: 203212
2014-03-07 07:43:52 +00:00
Ben Langmuir
198c168518
Add a bunch of missing changes from r203208
...
Somehow lost these in a git operation.
llvm-svn: 203210
2014-03-07 07:27:49 +00:00
Ted Kremenek
7d47cace55
Fix recent regressions in -Wreturn-type caused by heuristics to -Wunreachable-code.
...
I had forgotten that the same reachability code is used by both -Wreturn-type
and -Wunreachable-code, so the heuristics applied to the latter were indirectly
impacting the former.
To address this, the reachability code is more refactored so that whiled
the logic at its core is shared, the intention of the clients are better
captured and segregated in helper APIs.
Fixes PR19074, and also some false positives reported offline to me
by Nick Lewycky.
llvm-svn: 203209
2014-03-07 07:14:36 +00:00
Ben Langmuir
cb69b57b2a
Add dependencies from imported modules with -MD
...
Add module dependencies to the dependency files created by -MD/-MMD/etc.
by attaching an ASTReaderListener that will call into the dependency
file generator when a module input file is seen in the serialized AST.
llvm-svn: 203208
2014-03-07 06:40:32 +00:00