Summary: If the string is not formatted, these can happen when compiled with GCC: 1. If it is a null string "", then GCC completely removes the call to printf even with -O0. 2. If the string is a single character string, say "\n" for example, then GCC replaces the call to printf with a call to putchar. 3. If the string length is greater than 1, but is not formatted, then GCC replaces the call to printf with a call to puts. All the above will fail the test as we want a breakpoint on "printf" to hit. Test Plan: dotest.py -C gcc -p TestMiBreak Reviewers: chying, ki.stfu Reviewed By: ki.stfu Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9025 llvm-svn: 235034
18 lines
533 B
C++
18 lines
533 B
C++
//===-- main.cpp ------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include <cstdio>
|
|
|
|
int
|
|
main(int argc, char const *argv[])
|
|
{
|
|
printf("Print a formatted string so that GCC does not optimize this printf call: %s\n", argv[0]);
|
|
return 0; // BP_return
|
|
}
|