sc_port.cc (13268:9802f3e0a6ae) | sc_port.cc (13283:362061d5b968) |
---|---|
1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 42 unchanged lines hidden (view full) --- 51 msg = csprintf("port '%s' (%s)", name, kind); 52 53 SC_REPORT_ERROR(id, msg.c_str()); 54} 55 56} 57 58sc_port_base::sc_port_base(const char *n, int max_size, sc_port_policy p) : | 1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 42 unchanged lines hidden (view full) --- 51 msg = csprintf("port '%s' (%s)", name, kind); 52 53 SC_REPORT_ERROR(id, msg.c_str()); 54} 55 56} 57 58sc_port_base::sc_port_base(const char *n, int max_size, sc_port_policy p) : |
59 sc_object(n), _gem5Port(new ::sc_gem5::Port(this, max_size)) | 59 sc_object(n), _gem5Port(nullptr) |
60{ 61 if (sc_is_running()) { 62 reportError("(E110) insert port failed", "simulation running", 63 name(), kind()); 64 } 65 if (::sc_gem5::scheduler.elaborationDone()) { 66 reportError("(E110) insert port failed", "elaboration done", 67 name(), kind()); 68 } 69 70 auto m = sc_gem5::pickParentModule(); 71 if (!m) { 72 reportError("(E100) port specified outside of module", 73 nullptr, name(), kind()); 74 } else { 75 m->ports.push_back(this); 76 } | 60{ 61 if (sc_is_running()) { 62 reportError("(E110) insert port failed", "simulation running", 63 name(), kind()); 64 } 65 if (::sc_gem5::scheduler.elaborationDone()) { 66 reportError("(E110) insert port failed", "elaboration done", 67 name(), kind()); 68 } 69 70 auto m = sc_gem5::pickParentModule(); 71 if (!m) { 72 reportError("(E100) port specified outside of module", 73 nullptr, name(), kind()); 74 } else { 75 m->ports.push_back(this); 76 } |
77 _gem5Port = new ::sc_gem5::Port(this, max_size); |
|
77} 78 79sc_port_base::~sc_port_base() 80{ 81 delete _gem5Port; 82} 83 84void --- 12 unchanged lines hidden --- | 78} 79 80sc_port_base::~sc_port_base() 81{ 82 delete _gem5Port; 83} 84 85void --- 12 unchanged lines hidden --- |