- Mar 13, 2009
-
-
rdar://problem/6451399Steve Naroff authored
This solution is much simpler (and doesn't add any per-scope overhead, which concerned Chris). The only downside is the LabelMap is now declared in two places (Sema and BlockSemaInfo). My original fix tried to unify the LabelMap in "Scope" (which would support nested functions in general). In any event, this fixes the bug given the current language definition. If/when we decide to support GCC style nested functions, this will need to be tweaked. llvm-svn: 66896
-
Ted Kremenek authored
llvm-svn: 66894
-
Steve Naroff authored
Remove ActiveScope (revert http://llvm.org/viewvc/llvm-project?view=rev&revision=65694 and http://llvm.org/viewvc/llvm-project?view=rev&revision=66741). Will replace with something better today... llvm-svn: 66893
-
Ted Kremenek authored
is 64-bit. I used his suggestion of doing a direct bitwidth/signedness conversion of the 'offset' instead of just changing the sign. For more information, see: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-March/004587.html llvm-svn: 66892
-
Douglas Gregor authored
llvm-svn: 66891
-
Daniel Dunbar authored
llvm-svn: 66889
-
Daniel Dunbar authored
llvm-svn: 66888
-
Daniel Dunbar authored
llvm-svn: 66887
-
Daniel Dunbar authored
llvm-svn: 66886
-
Daniel Dunbar authored
to perform). Still doesn't do anything interesting. - This code came out much cleaner than in ccc with the reworked phases & mapping of types to lists of compilation steps (phases) to perform. llvm-svn: 66885
-
Gabor Greif authored
llvm-svn: 66884
-
Daniel Dunbar authored
llvm-svn: 66883
-
Daniel Dunbar authored
llvm-svn: 66882
-
Daniel Dunbar authored
provide information about what steps should be done for a particular file type. llvm-svn: 66881
-
Daniel Dunbar authored
llvm-svn: 66880
-
Daniel Dunbar authored
llvm-svn: 66879
-
Chris Lattner authored
defaults to off. When enabled, it emits range info along with the file/line/col information for a diagnostic. This allows tools that textually parse the output of clang to know where the ranges are, even if they span multiple lines. For example, with: $ clang exprs.c -fprint-source-range-info We now produce: exprs.c:21:11:{21:12-21:13}: warning: use of unary operator that may be intended as compound assignment (+=) var =+ 5; // expected-warning {{use of unary operator that may be intended as compound assignment (+=)}} ^~ exprs.c:22:11:{22:12-22:13}: warning: use of unary operator that may be intended as compound assignment (-=) var =- 5; // expected-warning {{use of unary operator that may be intended as compound assignment (-=)}} ^~ exprs.c:36:13:{36:3-36:12}: error: assignment to cast is illegal, lvalue casts are not supported (float*)X = P; // expected-error {{assignment to cast is illegal, lvalue casts are not supported}} ~~~~~~~~~ ^ exprs.c:41:4:{41:3-41:4}: error: called object type 'int' is not a function or function pointer X(); // expected-error {{called object type 'int' is not a function or function pointer}} ~^ exprs.c:45:15:{45:8-45:14}{45:17-45:24}: error: invalid operands to binary expression ('int *' and '_Complex float') P = (P-42) + Gamma*4; // expected-error {{invalid operands to binary expression ('int *' and '_Complex float')}} ~~~~~~ ^ ~~~~~~~ exprs.c:61:7:{61:16-61:22}: error: invalid application of '__alignof' to bitfield R = __alignof(P->x); // expected-error {{invalid application of '__alignof' to bitfield}} expected-warning {{extension used}} ^ ~~~~~~ Note the range info after the column in the initial diagnostic. This is obviously really annoying if you're not a tool parsing the output of clang, which is why it is off by default. llvm-svn: 66862
-
Chris Lattner authored
llvm-svn: 66860
-
Daniel Dunbar authored
llvm-svn: 66858
-
Daniel Dunbar authored
Also, add some FIXMEs, improve doxygen & comments. llvm-svn: 66857
-
Fariborz Jahanian authored
llvm-svn: 66856
-
Ted Kremenek authored
llvm-svn: 66855
-
Fariborz Jahanian authored
source being a non-pointer. llvm-svn: 66854
-
Mike Stump authored
llvm-svn: 66853
-
Douglas Gregor authored
C++ templates. In particular, keep track of the overloaded operators that are visible from the template definition, so that they can be merged with those operators visible via argument-dependent lookup at instantiation time. Refactored the lookup routines for argument-dependent lookup and for operator name lookup, so they can be called without immediately adding the results to an overload set. Instantiation of these expressions is completely wrong. I'll work on that next. llvm-svn: 66851
-
Mike Stump authored
include the triplet so that people that run multiple targets in parallel, say i386 and x86_64 can distinguish between the two. llvm-svn: 66849
-
Daniel Dunbar authored
print-{multi-{directory,lib,os-directory}, search-dirs} as unsupported instead of handling separately. llvm-svn: 66848
-
Argyrios Kyrtzidis authored
llvm-svn: 66846
-
Daniel Dunbar authored
llvm-svn: 66844
-
Ted Kremenek authored
ExplodedGraph::TrimGraph: - Just do a DFS both ways instead of BFS-DFS. We're just determining what subset of the nodes are reachable from the root and reverse-reachable from the bug nodes. DFS is more efficient for this task. BugReporter: - MakeReportGraph: Do a reverse-BFS instead of a reverse-DFS to determine the approximate shortest path through the simulation graph. We were seeing some weird cases where too many loops were being reported for simple bugs. Possibly we will need to replace this with actually computing the shortest path in terms of line numbers. llvm-svn: 66842
-
- Mar 12, 2009
-
-
Douglas Gregor authored
llvm-svn: 66837
-
Fariborz Jahanian authored
bitmap generation for basic ivars seem to work now. This is work in progress. llvm-svn: 66836
-
Douglas Gregor authored
llvm-svn: 66835
-
Fariborz Jahanian authored
the selector for the property setter. llvm-svn: 66834
-
Douglas Gregor authored
Store the type of the integral value within a TemplateArgument, so that we can more efficiently reconstruct an IntegerLiteral from it during template instantiation llvm-svn: 66833
-
Ted Kremenek authored
Fix crash when using TypedViewRegions and ObjCQualifiedIdTypes (TypedViewRegion::getLValueType() was not implemented). llvm-svn: 66830
-
Ted Kremenek authored
llvm-svn: 66820
-
Daniel Dunbar authored
- Who wouldn't want correctness to hang critically on two easily ignored characters? Thanks Doug! llvm-svn: 66819
-
Ted Kremenek authored
- PathDiagnosticControlFlowPiece now consists of a "start" and "end" location to indicating the branch location and where the branch goes. BugReporter: - Updated BugReporter to construct PathDiagnosticControlFlowPiece objects with "end" locations. PlistDiagnostics: - Plists now contain the bug "type" (not just bug "category") - Plists now encode control-flow pieces differently than events; now the "start" and "end" locations are recorded llvm-svn: 66818
-
Daniel Dunbar authored
- Compare to driverdriver.c if bored; not completely fair since the driver gets a bit more code in other places to handle binding archs (for Xarch) but not completely unfair either. Fear not, extra Action classes will have a happy home for their vtables soon. llvm-svn: 66817
-