@@ -31,25 +31,42 @@ limitations under the License.
3131#include " absl/types/optional.h"
3232#include " tsl/platform/logging.h"
3333#include " tsl/platform/macros.h"
34- #include " tsl/platform/platform.h"
3534#include " tsl/platform/stack_frame.h"
3635#include " tsl/platform/types.h"
3736#include " tsl/protobuf/error_codes.pb.h"
3837
39- // Include appropriate platform-dependent parts of status.
40- #if defined(PLATFORM_GOOGLE)
41- #include " tsl/platform/google/status.h" // IWYU pragma: export
42- #else
43- #include " tsl/platform/default/status.h" // IWYU pragma: export
44- #endif
45-
4638namespace tsl {
4739
4840#if TF_HAS_CPP_ATTRIBUTE(nodiscard)
4941class [[nodiscard]] Status;
5042#endif
5143
52- typedef SourceLocationImpl SourceLocation;
44+ #if ABSL_HAVE_BUILTIN(__builtin_LINE) && ABSL_HAVE_BUILTIN(__builtin_FILE)
45+ #define TF_INTERNAL_HAVE_BUILTIN_LINE_FILE 1
46+ #endif
47+
48+ struct SourceLocation {
49+ uint32_t line;
50+ const char * file_name;
51+
52+ #ifdef TF_INTERNAL_HAVE_BUILTIN_LINE_FILE
53+ static SourceLocation current (uint32_t line = __builtin_LINE(),
54+ const char* file_name = __builtin_FILE()) {
55+ SourceLocation loc;
56+ loc.line = line;
57+ loc.file_name = file_name;
58+ return loc;
59+ }
60+ #else
61+ static SourceLocation current (uint32_t line = 0 ,
62+ const char * file_name = nullptr ) {
63+ SourceLocation loc;
64+ loc.line = line;
65+ loc.file_name = file_name;
66+ return loc;
67+ }
68+ #endif
69+ };
5370
5471namespace errors {
5572typedef ::tensorflow::error::Code Code;
@@ -191,8 +208,6 @@ class Status {
191208 absl::Span<const SourceLocation> GetSourceLocations () const ;
192209
193210 private:
194- friend Status FromAbslStatus (const absl::Status& s, SourceLocation loc);
195-
196211 void MaybeAddSourceLocation (SourceLocation loc);
197212
198213 static const std::string& empty_string ();
@@ -223,10 +238,8 @@ class Status {
223238// usage of `OkStatus()` when constructing such an OK status.
224239Status OkStatus ();
225240
226- Status FromAbslStatus (const absl::Status& s,
227- SourceLocation loc = SourceLocation::current());
228- absl::Status ToAbslStatus (const ::tsl::Status& s,
229- SourceLocation loc = SourceLocation::current());
241+ Status FromAbslStatus (const absl::Status& s);
242+ absl::Status ToAbslStatus (const ::tsl::Status& s);
230243
231244// TODO(b/197552541) Move this namespace to errors.h.
232245namespace errors {
0 commit comments