//
// The LLVM Compiler Infrastructure
//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
#include "llvm/Support/FileUtilities.h"
#include "llvm/ADT/StringExtras.h"
#include <iostream>
+#include <cstdlib>
using namespace llvm;
/// getCurrentLanguage - Return the current source language that the user is
eliminateRunInfo();
// If the program has been modified, reload it!
- sys::Path Program(Dbg.getProgramPath());
- sys::FileStatus Status;
+ sys::PathWithStatus Program(Dbg.getProgramPath());
std::string Err;
- if (Program.getFileStatus(Status, &Err))
+ const sys::FileStatus *Status = Program.getFileStatus(false, &Err);
+ if (!Status)
throw Err;
- if (TheProgramInfo->getProgramTimeStamp() != Status.getTimestamp()) {
+ if (TheProgramInfo->getProgramTimeStamp() != Status->getTimestamp()) {
std::cout << "'" << Program << "' has changed; re-reading program.\n";
// Unload an existing program. This kills the program if necessary.
/// file command - If the user specifies an option, search the PATH for the
-/// specified program/bytecode file and load it. If the user does not specify
+/// specified program/bitcode file and load it. If the user does not specify
/// an option, unload the current program.
void CLIDebugger::fileCommand(std::string &Options) {
std::string Prog = getToken(Options);
unsigned CurFrame = RI.getCurrentFrameIdx();
// Check to see if we can go up the specified number of frames.
- if (CurFrame < Num)
+ if (CurFrame < Num) {
if (Num == 1)
throw "Bottom (i.e., innermost) frame selected; you cannot go down.";
else
throw "Cannot go down " + utostr(Num) + " frames!";
+ }
RI.setCurrentFrameIdx(CurFrame-Num);
printProgramLocation();