Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Issue 8381037: Make DartVM build with clang. (Closed)

Created:
9 years, 2 months ago by Anton Muhin
Modified:
9 years, 1 month ago
Reviewers:
Ivan Posva
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Make DartVM build with clang. Committed: https://code.google.com/p/dart/source/detail?r=966

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+5 lines, -1 line) Patch
M runtime/third_party/jscre/jscre.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/third_party/jscre/pcre_exec.cpp View 1 1 chunk +2 lines, -1 line 2 comments Download
M runtime/vm/object.h View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Anton Muhin
9 years, 2 months ago (2011-10-25 12:25:31 UTC) #1
Anton Muhin
PTAL. Changes to globals.h are not needed anymore. I don't know, maybe fixed by some ...
9 years, 1 month ago (2011-10-27 15:38:03 UTC) #2
Ivan Posva
LGTM -ip http://codereview.chromium.org/8381037/diff/6002/runtime/third_party/jscre/pcre_exec.cpp File runtime/third_party/jscre/pcre_exec.cpp (right): http://codereview.chromium.org/8381037/diff/6002/runtime/third_party/jscre/pcre_exec.cpp#newcode1155 runtime/third_party/jscre/pcre_exec.cpp:1155: othercase = md.ignoreCase ? kjs_pcre_ucp_othercase(stack.currentFrame->locals.fc) : -1; ...
9 years, 1 month ago (2011-10-31 14:00:09 UTC) #3
Anton Muhin
9 years, 1 month ago (2011-10-31 18:46:01 UTC) #4
Thanks a lot for review, Ivan.

Rerunning builds once again and submitting unless someone speaks up against.

http://codereview.chromium.org/8381037/diff/6002/runtime/third_party/jscre/pc...
File runtime/third_party/jscre/pcre_exec.cpp (right):

http://codereview.chromium.org/8381037/diff/6002/runtime/third_party/jscre/pc...
runtime/third_party/jscre/pcre_exec.cpp:1155: othercase = md.ignoreCase ?
kjs_pcre_ucp_othercase(stack.currentFrame->locals.fc) : -1;
On 2011/10/31 14:00:09, Ivan Posva wrote:
> Not sure what you changed here. And why it makes clang happier this way.

Clang complains:

<quotation>
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:1017:25:
error: indirect goto might cross protected scopes
                        RRETURN_NO_MATCH;
                        ^
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:274:48:
note: expanded from:
#define RRETURN_NO_MATCH do { isMatch = false; RRETURN; } while (0)
                                               ^
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:272:17:
note: expanded from:
#define RRETURN goto RRETURN_LABEL
                ^
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:1168:29:
note: possible target of indirect goto
                            RECURSIVE_MATCH(28,
stack.currentFrame->args.instructionPtr, stack.currentFrame->args.bracketChain);
                            ^
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:262:9:
note: expanded from:
        RECURSIVE_MATCH_COMMON(num) \
        ^
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:256:13:
note: expanded from:
    RRETURN_##num: \
            ^
<scratch space>:159:1: note: expanded from:
RRETURN_28
^
/Users/antonm/Google/dartium/src/dart/runtime/third_party/jscre/pcre_exec.cpp:1154:25:
note: jump bypasses variable initialization
                    int othercase = md.ignoreCase ?
kjs_pcre_ucp_othercase(stack.currentFrame->locals.fc) : -1;
</quotation>

I suspect it's 6.7/3:

<quotation>
3 It is possible to transfer into a block, but not in a way that bypasses
declarations with initialization. A program that jumps
77)
from a point where a local variable with automatic storage duration is not in
scope to a
point where it is in scope is ill-formed unless the variable has POD type (3.9)
and is declared without an
initializer (8.5)
</quotation>

Powered by Google App Engine
This is Rietveld 408576698