aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-03-09 01:17:36 -0500
committerGitHub <noreply@github.com>2019-03-09 01:17:36 -0500
commit8624379c71d79f67032d7ff2fd71642c84c79621 (patch)
treefb34094e6738e469808cfd4318c751af759f5555 /src/analyze.cpp
parentdd34c217791a0949ef2b0531ce8e8d4691239c45 (diff)
parenta45807db22cf92167734d2055b836fa0aba8cf30 (diff)
downloadzig-8624379c71d79f67032d7ff2fd71642c84c79621.tar.gz
zig-8624379c71d79f67032d7ff2fd71642c84c79621.zip
Merge pull request #2038 from ziglang/caching
breaking changes to zig build API and improved caching
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp31
1 files changed, 3 insertions, 28 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index 366bb2963e..6cbcc311ef 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -35,20 +35,6 @@ static bool is_top_level_struct(ZigType *import) {
static ErrorMsg *add_error_note_token(CodeGen *g, ErrorMsg *parent_msg, ZigType *owner, Token *token, Buf *msg) {
assert(is_top_level_struct(owner));
RootStruct *root_struct = owner->data.structure.root_struct;
- if (root_struct->c_import_node != nullptr) {
- // if this happens, then translate_c generated code that
- // failed semantic analysis, which isn't supposed to happen
-
- Buf *note_path = buf_create_from_str("?.c");
- Buf *note_source = buf_create_from_str("TODO: remember C source location to display here ");
- ZigList<size_t> note_line_offsets = {0};
- note_line_offsets.append(0);
- ErrorMsg *note = err_msg_create_with_line(note_path, 0, 0,
- note_source, &note_line_offsets, msg);
-
- err_msg_add_note(parent_msg, note);
- return note;
- }
ErrorMsg *err = err_msg_create_with_line(root_struct->path, token->start_line, token->start_column,
root_struct->source_code, root_struct->line_offsets, msg);
@@ -60,17 +46,6 @@ static ErrorMsg *add_error_note_token(CodeGen *g, ErrorMsg *parent_msg, ZigType
ErrorMsg *add_token_error(CodeGen *g, ZigType *owner, Token *token, Buf *msg) {
assert(is_top_level_struct(owner));
RootStruct *root_struct = owner->data.structure.root_struct;
- if (root_struct->c_import_node != nullptr) {
- // if this happens, then translate_c generated code that
- // failed semantic analysis, which isn't supposed to happen
- ErrorMsg *err = add_node_error(g, root_struct->c_import_node,
- buf_sprintf("compiler bug: @cImport generated invalid zig code"));
-
- add_error_note_token(g, err, owner, token, msg);
-
- g->errors.append(err);
- return err;
- }
ErrorMsg *err = err_msg_create_with_line(root_struct->path, token->start_line, token->start_column,
root_struct->source_code, root_struct->line_offsets, msg);
@@ -1300,7 +1275,7 @@ static ZigTypeId container_to_type(ContainerKind kind) {
}
// This is like get_partial_container_type except it's for the implicit root struct of files.
-ZigType *get_root_container_type(CodeGen *g, const char *full_name, Buf *bare_name,
+static ZigType *get_root_container_type(CodeGen *g, const char *full_name, Buf *bare_name,
RootStruct *root_struct)
{
ZigType *entry = new_type_table_entry(ZigTypeIdStruct);
@@ -4503,11 +4478,11 @@ ZigType *add_source_file(CodeGen *g, ZigPackage *package, Buf *resolved_path, Bu
Buf *pkg_root_src_dir = &package->root_src_dir;
Buf resolved_root_src_dir = os_path_resolve(&pkg_root_src_dir, 1);
- assert(buf_starts_with_buf(resolved_path, &resolved_root_src_dir));
-
Buf namespace_name = BUF_INIT;
buf_init_from_buf(&namespace_name, &package->pkg_path);
if (source_kind == SourceKindNonRoot) {
+ assert(buf_starts_with_buf(resolved_path, &resolved_root_src_dir));
+
if (buf_len(&namespace_name) != 0) buf_append_char(&namespace_name, NAMESPACE_SEP_CHAR);
buf_append_mem(&namespace_name, buf_ptr(&noextname) + buf_len(&resolved_root_src_dir) + 1,
buf_len(&noextname) - (buf_len(&resolved_root_src_dir) + 1));