| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
changes intended.
llvm-svn: 202654
|
| |
|
|
| |
llvm-svn: 202653
|
| |
|
|
|
|
| |
No intended functionality change.
llvm-svn: 202652
|
| |
|
|
| |
llvm-svn: 202643
|
| |
|
|
|
|
| |
require host toolchains which support this.
llvm-svn: 202640
|
| |
|
|
| |
llvm-svn: 202639
|
| |
|
|
|
|
|
|
|
| |
init list formatting. This suggestion has now gone into the LLVM coding
standards, and is particularly relevant now that we're using C++11.
Updated a really ridiculous number of tests to reflect this change.
llvm-svn: 202637
|
| |
|
|
| |
llvm-svn: 202635
|
| |
|
|
| |
llvm-svn: 202630
|
| |
|
|
| |
llvm-svn: 202625
|
| |
|
|
|
|
| |
within an extern "C" block in C++ code.
llvm-svn: 202615
|
| |
|
|
| |
llvm-svn: 202611
|
| |
|
|
| |
llvm-svn: 202606
|
| |
|
|
|
|
| |
This relies on forward declaration of enums.
llvm-svn: 202605
|
| |
|
|
| |
llvm-svn: 202595
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 202590
|
| |
|
|
|
| |
FIXME: Give appropriate \param to llvm::ArrayRef<SubmoduleID> Overrides.
llvm-svn: 202589
|
| |
|
|
|
|
| |
is now always 1, as we're requiring C++11 now!
llvm-svn: 202584
|
| |
|
|
|
|
|
|
|
| |
When lowering a bitfield, CGRecordLowering would assign the wrong
storage type to a bitfield in some cases and trigger an assertion. In
these cases the layout was still correct, just the bitfield info was
wrong.
llvm-svn: 202562
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
it, importers of B should not see the macro. This is complicated by the fact
that A's macro could also be visible through a different path. The rules (as
hashed out on cfe-commits) are included as a documentation update in this
change.
With this, the number of regressions in libc++'s testsuite when modules are
enabled drops from 47 to 7. Those remaining 7 are also macro-related, and are
due to remaining bugs in this change (in particular, the handling of submodules
is imperfect).
llvm-svn: 202560
|
| |
|
|
|
|
|
|
|
| |
This documents some of the status of supported functionality in MSVC
quirks mode. Some of this should be in
http://clang.llvm.org/compatibility.html instead when things have
stabilized.
llvm-svn: 202559
|
| |
|
|
| |
llvm-svn: 202558
|
| |
|
|
|
|
| |
Additional conditions that prevent useful nodes before call from being reclaimed.
llvm-svn: 202553
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was r202442
There were two issues with the original patch that have now been fixed.
1. We were memset'ing over a FileEntry in a test case. After adding a
std::string to FileEntry, this still happened to not break for me.
2. I didn't pass the FileManager into the new compiler instance in
compileModule. This was hidden in some cases by the fact I didn't
clear the module cache in the test.
Also, I changed the copy constructor for FileEntry, which was memcpy'ing
in a (now) unsafe way.
llvm-svn: 202539
|
| |
|
|
| |
llvm-svn: 202534
|
| |
|
|
|
|
| |
contains "'e+", the pp-number ends between the 'e' and the '+'.
llvm-svn: 202533
|
| |
|
|
|
|
| |
contextual conversion to an Objective-C pointer type of the target expression if needed. This fixes code completion of method invocations where the target is a smart pointer that has an explicit conversion operator to an Objective-C type.
llvm-svn: 202529
|
| |
|
|
|
|
|
| |
won't work (i.e. when not doing a member lookup and not in a method from
the same class or a descendant class).
llvm-svn: 202520
|
| |
|
|
| |
llvm-svn: 202519
|
| |
|
|
|
|
| |
decl-specifier are applied across all declarations in a group.
llvm-svn: 202501
|
| |
|
|
| |
llvm-svn: 202500
|
| |
|
|
|
|
| |
PR18999.
llvm-svn: 202491
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A 'remark' is information that is not an error or a warning, but rather some
additional information provided to the user. In contrast to a 'note' a 'remark'
is an independent diagnostic, whereas a 'note' always depends on another
diagnostic.
A typical use case for remark nodes is information provided to the user, e.g.
information provided by the vectorizer about loops that have been vectorized.
This patch provides the initial implementation of 'remarks'. It includes the
actual definiton of the remark nodes, their printing as well as basic parameter
handling. We are reusing the existing diagnostic parameters which means a remark
can be enabled with normal '-Wdiagnostic-name' flags and can be upgraded to
an error using '-Werror=diagnostic-name'. '-Werror' alone does not upgrade
remarks.
This patch is by intention minimal in terms of parameter handling. More
experience and more discussions will most likely lead to further enhancements
in the parameter handling.
llvm-svn: 202475
|
| |
|
|
|
|
|
|
|
|
| |
that created them,
this is inherently unsafe.
Instead get the diagnostic info into a SourceManager-independent form.
llvm-svn: 202471
|
| |
|
|
| |
llvm-svn: 202468
|
| |
|
|
| |
llvm-svn: 202467
|
| |
|
|
|
|
| |
Patch by Brad Smith.
llvm-svn: 202462
|
| |
|
|
|
|
|
|
|
|
|
|
| |
through an ellipsis. Since C++11 relaxed the rules on this, we allow a lot more bad code through silently, such as:
const char *format = "%s";
std::experimental::string_view view = "foo";
printf(format, view);
In this case, not only warn about a class type being used here, but also suggest that calling c_str() might be a good idea.
llvm-svn: 202461
|
| |
|
|
| |
llvm-svn: 202458
|
| |
|
|
|
|
| |
It makes our -fdump-record-layouts a little more sane.
llvm-svn: 202457
|
| |
|
|
|
|
|
| |
The backend currently enables CR-bit tracking by default at -O2 and higher.
These flags allow the user to override that default.
llvm-svn: 202453
|
| |
|
|
| |
llvm-svn: 202444
|
| |
|
|
|
|
| |
Revert r202442, which broke the buildbots.
llvm-svn: 202443
|
| |
|
|
|
|
|
|
| |
Pass through the externally-visible names that we got from the VFS down
to FileManager, and test that this is the name showing up in __FILE__,
diagnostics, and debug information.
llvm-svn: 202442
|
| |
|
|
| |
llvm-svn: 202441
|
| |
|
|
|
|
|
| |
Keep the copy constructor around, and add a FIXME that we should really
remove it as soon as we have C++11 std::map's emplace function.
llvm-svn: 202439
|
| |
|
|
|
|
|
|
| |
In r201528, I changed the PGO instrumentation counter for a "do" loop to not
include the fall-through count. That fall-through count is included later, b
it means that this assertion may fail for "do" loops.
llvm-svn: 202437
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a heuristic. Many switch statements, although they look covered
over an enum, may actually handle at runtime more values than in the enum.
This is overly conservative, as there are some cases that clearly
can be ruled as being clearly unreachable, e.g. 'switch (42) { case 1: ... }'.
We can refine this later.
llvm-svn: 202436
|
| |
|
|
|
|
| |
cases.
llvm-svn: 202435
|
| |
|
|
| |
llvm-svn: 202434
|