- Feb 19, 2014
-
-
David Majnemer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201632 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
DR18 previously forebode typedefs to be used as parameter types if they were of type 'void'. DR577 allows 'void' to be used as a function parameter type regardless from where it came. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201631 91177308-0d34-0410-b5e6-96231b3b80d8
-
Saleem Abdulrasool authored
TU is not guaranteed to be initialised in all cases. In particular if CIdx or ast_filename is NULL (or if &TU is NULL), then clang_createTranslationUnit2 will not initialise the out parameter out_TU. This is followed by an assertion check which may perform a branch based on unitialised memory. Caught by scan-build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201628 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
Clang never produces a linker private object, so this code is dead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201627 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201626 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201621 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
_Atomic qualifier applied to a reference type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201620 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ben Langmuir authored
This adds the minimum virtual file system support to start migrating FileManager onto the VFS. Originally discussed here: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035188.html Differential Revision: http://llvm-reviews.chandlerc.com/D2745 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201618 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201617 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
This makes Clang and LLVM -Wmsvc-include clean. I believe the correct behavior here is to avoid updating the cache when we find the header via MSVC's search rules. Differential Revision: http://llvm-reviews.chandlerc.com/D2733 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201615 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
On machines that have cl.exe on PATH, the note will print the full path. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201613 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 18, 2014
-
-
Reid Kleckner authored
Summary: Generally the vector deleting dtor, which we model as a vtable thunk, takes care of non-virtual adjustment and delegates to the other destructor variants. The other non-complete destructor variants assume that 'this' on entry points to the virtual base subobject that first declared the virtual destructor. We need to change the adjustment in both the prologue and the vdtor call setup. Reviewers: timurrrr CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2821 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201612 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201610 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ted Kremenek authored
Experiment with making -Wunreachable-code more immediately useful by restricting warnings to those issued in the main file. This warning has a whole bunch of known false positives, much of them due to code that is "sometimes unreachable". This can caused by code that is conditionally generated by the preprocessor, branches that are defined in terms of architecture-specific details (e.g., the size of a type), and so on. While these are all good things to address one by one, the reality is that this warning has received little love lately. By restricting its purvue, we can focus on the top issues effecting main files, which should be smaller, and then gradually widen the scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201607 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
This makes it a lot easier to see what's going on from the output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201604 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201602 91177308-0d34-0410-b5e6-96231b3b80d8
-
DeLesley Hutchins authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201598 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
It doesn't conflict with any cl.exe options and it's useful for debugging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201597 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201591 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201590 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
This is an undocumented, but reportedly widely used flag. We don't support it, but should be able to parse it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201588 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Missed updating this test case with r201585 -- the lockable attribute is now internally represented by CapabilityAttr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201587 91177308-0d34-0410-b5e6-96231b3b80d8
-
Sylvestre Ledru authored
Extend the test (like it is done in scan-build) to check also if the variable is empty or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201586 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
DeLesley Hutchins (who wrote the original thread-safety attribute functionality) and I have agreed to start migrating from lock-specific terminology to "capability"-specific terminology. This opens the door for future threading-related analysis passes so that a common nomenclature can be used. The following attributes have been (silently) deprecated, with their replacements listed: lockable => capability exclusive_locks_required => requires_capability shared_locks_required => requires_shared_capability locks_excluded => requires_capability There are no functional changes intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201585 91177308-0d34-0410-b5e6-96231b3b80d8
-
Sylvestre Ledru authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201584 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jordan Rose authored
...as well as fake flexible array members: structs that end in arrays with length 0 or 1. Patch by Daniel Fahlgren! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201583 91177308-0d34-0410-b5e6-96231b3b80d8
-
Dmitri Gribenko authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201579 91177308-0d34-0410-b5e6-96231b3b80d8
-
Dmitri Gribenko authored
Recommit r201346, reverted in r201373. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201578 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Extended qualifiers can appear in many places, refactor the code so it's more reusable. Add tests in areas where we've increased compatibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201574 91177308-0d34-0410-b5e6-96231b3b80d8
-
Sylvestre Ledru authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201570 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Pointer types in the MSVC ABI are a bit awkward, the width of the pointer is considered a kind of CVR qualifier. Restrict is handled similarly to const and volatile but is mangled after the pointer width qualifier. This fixes PR18880. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201569 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
temporary in a decltype expression only applies if that temporary was created by a function call, not by a function-style cast or other flavour of expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201542 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
ExtWarn, since it's an extension. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201540 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201537 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
spelled in an interesting way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201536 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 17, 2014
-
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201532 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
Previously, we made one traversal of the AST prior to codegen to assign counters to the ASTs and then propagated the count values during codegen. This patch now adds a separate AST traversal prior to codegen for the -fprofile-instr-use option to propagate the count values. The counts are then saved in a map from which they can be retrieved during codegen. This new approach has several advantages: 1. It gets rid of a lot of extra PGO-related code that had previously been added to codegen. 2. It fixes a serious bug. My original implementation (which was mailed to the list but never committed) used 3 counters for every loop. Justin improved it to move 2 of those counters into the less-frequently executed breaks and continues, but that turned out to produce wrong count values in some cases. The solution requires visiting a loop body before the condition so that the count for the condition properly includes the break and continue counts. Changing codegen to visit a loop body first would be a fairly invasive change, but with a separate AST traversal, it is easy to control the order of traversal. I've added a testcase (provided by Justin) to make sure this works correctly. 3. It improves the instrumentation overhead, reducing the number of counters for a loop from 3 to 1. We no longer need dedicated counters for breaks and continues, since we can just use the propagated count values when visiting breaks and continues. To make this work, I needed to make a change to the way we count case statements, going back to my original approach of not including the fall-through in the counter values. This was necessary because there isn't always an AST node that can be used to record the fall-through count. Now case statements are handled the same as default statements, with the fall-through paths branching over the counter increments. While I was at it, I also went back to using this approach for do-loops -- omitting the fall-through count into the loop body simplifies some of the calculations and make them behave the same as other loops. Whenever we start using this instrumentation for coverage, we'll need to add the fall-through counts into the counter values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201528 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201527 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201526 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anton Yartsev authored
This implements FIXME from Checker.cpp (FIXME: We want to return the package + name of the checker here.) and replaces hardcoded checker names with the new ones obtained via getCheckName().getName(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201525 91177308-0d34-0410-b5e6-96231b3b80d8
-